keycloak_theme/src/bin/download-builtin-keycloak-theme.ts

52 lines
1.6 KiB
TypeScript
Raw Normal View History

2021-02-21 23:40:10 +01:00
#!/usr/bin/env node
2021-03-03 02:31:02 +01:00
import { join as pathJoin } from "path";
import { downloadAndUnzip } from "./tools/downloadAndUnzip";
2022-04-20 00:39:40 +02:00
import { promptKeycloakVersion } from "./promptKeycloakVersion";
2022-09-08 12:06:26 +03:00
import { getCliOptions } from "./tools/cliOptions";
import { getLogger } from "./tools/logger";
2023-04-02 03:10:16 +02:00
import { readBuildOptions } from "./keycloakify/BuildOptions";
2021-02-21 23:06:42 +01:00
export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: string; destDirPath: string; isSilent: boolean }) {
const { keycloakVersion, destDirPath } = params;
await Promise.all(
["", "-community"].map(ext =>
downloadAndUnzip({
"destDirPath": destDirPath,
"url": `https://github.com/keycloak/keycloak/archive/refs/tags/${keycloakVersion}.zip`,
"pathOfDirToExtractInArchive": `keycloak-${keycloakVersion}/themes/src/main/resources${ext}/theme`
})
)
);
}
2021-02-28 18:40:57 +01:00
async function main() {
const { isSilent } = getCliOptions(process.argv.slice(2));
const logger = getLogger({ isSilent });
const { keycloakVersion } = await promptKeycloakVersion();
2023-04-02 03:10:16 +02:00
const destDirPath = pathJoin(
readBuildOptions({
"isSilent": true,
"isExternalAssetsCliParamProvided": false,
"projectDirPath": process.cwd()
}).keycloakifyBuildDirPath,
"src",
"main",
"resources",
"theme"
);
logger.log(`Downloading builtins theme of Keycloak ${keycloakVersion} here ${destDirPath}`);
await downloadBuiltinKeycloakTheme({
keycloakVersion,
destDirPath,
isSilent
});
}
if (require.main === module) {
main();
2021-02-28 18:40:57 +01:00
}