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";
|
2021-10-11 21:35:40 +02:00
|
|
|
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
|
|
|
|
2023-01-16 14:42:20 +01:00
|
|
|
export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: string; destDirPath: string; isSilent: boolean }) {
|
2023-03-29 09:54:29 +02:00
|
|
|
const { keycloakVersion, destDirPath } = params;
|
2021-10-06 17:22:52 +02:00
|
|
|
|
2023-03-22 03:34:44 +01:00
|
|
|
await Promise.all(
|
|
|
|
["", "-community"].map(ext =>
|
|
|
|
downloadAndUnzip({
|
|
|
|
"destDirPath": destDirPath,
|
|
|
|
"url": `https://github.com/keycloak/keycloak/archive/refs/tags/${keycloakVersion}.zip`,
|
2023-03-29 09:54:29 +02:00
|
|
|
"pathOfDirToExtractInArchive": `keycloak-${keycloakVersion}/themes/src/main/resources${ext}/theme`
|
2023-03-22 03:34:44 +01:00
|
|
|
})
|
|
|
|
)
|
|
|
|
);
|
2021-10-06 17:22:52 +02:00
|
|
|
}
|
2021-02-28 18:40:57 +01:00
|
|
|
|
2023-03-29 09:54:29 +02: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"
|
|
|
|
);
|
2021-10-07 21:00:53 +02:00
|
|
|
|
2023-03-29 09:54:29 +02:00
|
|
|
logger.log(`Downloading builtins theme of Keycloak ${keycloakVersion} here ${destDirPath}`);
|
2021-10-07 17:32:38 +02:00
|
|
|
|
2023-03-29 09:54:29 +02:00
|
|
|
await downloadBuiltinKeycloakTheme({
|
|
|
|
keycloakVersion,
|
|
|
|
destDirPath,
|
|
|
|
isSilent
|
|
|
|
});
|
|
|
|
}
|
2021-10-07 21:00:53 +02:00
|
|
|
|
2023-03-29 09:54:29 +02:00
|
|
|
if (require.main === module) {
|
2023-03-30 22:09:27 +00:00
|
|
|
main();
|
2021-02-28 18:40:57 +01:00
|
|
|
}
|