This commit is contained in:
parent
ea22107b9b
commit
983db6780a
@ -5,6 +5,9 @@ import { readThisNpmPackageVersion } from "./tools/readThisNpmPackageVersion";
|
|||||||
import * as child_process from "child_process";
|
import * as child_process from "child_process";
|
||||||
import { assertNoPnpmDlx } from "./tools/assertNoPnpmDlx";
|
import { assertNoPnpmDlx } from "./tools/assertNoPnpmDlx";
|
||||||
import { getBuildContext } from "./shared/buildContext";
|
import { getBuildContext } from "./shared/buildContext";
|
||||||
|
import { SemVer } from "./tools/SemVer";
|
||||||
|
import { assert, is } from "tsafe/assert";
|
||||||
|
import chalk from "chalk";
|
||||||
|
|
||||||
type CliCommandOptions = {
|
type CliCommandOptions = {
|
||||||
projectDirPath: string | undefined;
|
projectDirPath: string | undefined;
|
||||||
@ -80,7 +83,7 @@ program
|
|||||||
program
|
program
|
||||||
.command<{
|
.command<{
|
||||||
port: number | undefined;
|
port: number | undefined;
|
||||||
keycloakVersion: string | undefined;
|
keycloakVersion: string | number | undefined;
|
||||||
realmJsonFilePath: string | undefined;
|
realmJsonFilePath: string | undefined;
|
||||||
}>({
|
}>({
|
||||||
name: "start-keycloak",
|
name: "start-keycloak",
|
||||||
@ -134,9 +137,50 @@ program
|
|||||||
handler: async ({ projectDirPath, keycloakVersion, port, realmJsonFilePath }) => {
|
handler: async ({ projectDirPath, keycloakVersion, port, realmJsonFilePath }) => {
|
||||||
const { command } = await import("./start-keycloak");
|
const { command } = await import("./start-keycloak");
|
||||||
|
|
||||||
|
validate_keycloak_version: {
|
||||||
|
if (keycloakVersion === undefined) {
|
||||||
|
break validate_keycloak_version;
|
||||||
|
}
|
||||||
|
|
||||||
|
const isValidVersion = (() => {
|
||||||
|
if (typeof keycloakVersion === "number") {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
SemVer.parse(keycloakVersion);
|
||||||
|
} catch {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
})();
|
||||||
|
|
||||||
|
if (isValidVersion) {
|
||||||
|
break validate_keycloak_version;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
chalk.red(
|
||||||
|
[
|
||||||
|
`Invalid Keycloak version: ${keycloakVersion}`,
|
||||||
|
"It should be a valid semver version example: 26.0.4"
|
||||||
|
].join(" ")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(is<string | undefined>(keycloakVersion));
|
||||||
|
|
||||||
await command({
|
await command({
|
||||||
buildContext: getBuildContext({ projectDirPath }),
|
buildContext: getBuildContext({ projectDirPath }),
|
||||||
cliCommandOptions: { keycloakVersion, port, realmJsonFilePath }
|
cliCommandOptions: {
|
||||||
|
keycloakVersion,
|
||||||
|
port,
|
||||||
|
realmJsonFilePath
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user