53 lines
1.8 KiB
TypeScript
Raw Normal View History

import { generateSrcMainResources } from "./generateSrcMainResources";
import { join as pathJoin, relative as pathRelative, sep as pathSep } from "path";
import * as child_process from "child_process";
import * as fs from "fs";
import { readBuildOptions } from "../shared/buildOptions";
2022-09-08 12:06:26 +03:00
import { getLogger } from "../tools/logger";
import { vitePluginSubScriptEnvNames } from "../shared/constants";
import { buildJars } from "./buildJars";
import type { CliCommandOptions } from "../main";
export async function command(params: { cliCommandOptions: CliCommandOptions }) {
const { cliCommandOptions } = params;
const buildOptions = readBuildOptions({ cliCommandOptions });
const logger = getLogger({ "isSilent": buildOptions.isSilent });
logger.log("🔏 Building the keycloak theme...⌚");
2024-05-12 19:37:16 +02:00
{
2024-05-12 19:38:48 +02:00
if (!fs.existsSync(buildOptions.keycloakifyBuildDirPath)) {
fs.mkdirSync(buildOptions.keycloakifyBuildDirPath, { "recursive": true });
}
fs.writeFileSync(pathJoin(buildOptions.keycloakifyBuildDirPath, ".gitignore"), Buffer.from("*", "utf8"));
}
await generateSrcMainResources({ buildOptions });
2024-05-12 19:38:48 +02:00
2024-03-05 19:42:49 +01:00
run_post_build_script: {
if (buildOptions.bundler !== "vite") {
break run_post_build_script;
}
2024-03-05 19:42:49 +01:00
child_process.execSync("npx vite", {
"cwd": buildOptions.reactAppRootDirPath,
"env": {
...process.env,
[vitePluginSubScriptEnvNames.runPostBuildScript]: JSON.stringify(buildOptions)
2024-03-05 19:42:49 +01:00
}
});
}
await buildJars({ buildOptions });
2022-09-08 12:06:26 +03:00
logger.log(
`✅ Your keycloak theme has been generated and bundled into .${pathSep}${pathJoin(
pathRelative(process.cwd(), buildOptions.keycloakifyBuildDirPath),
"keycloak-theme-for-kc-*.jar"
)}`
);
}