Skip to content

Commit

Permalink
Merge pull request #226 from lordvlad/fix-win-build
Browse files Browse the repository at this point in the history
windows compatibility
  • Loading branch information
garronej committed Jan 26, 2023
2 parents 14aab97 + 8ed4ed3 commit 564e142
Show file tree
Hide file tree
Showing 6 changed files with 292 additions and 77 deletions.
6 changes: 3 additions & 3 deletions src/bin/download-builtin-keycloak-theme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import { promptKeycloakVersion } from "./promptKeycloakVersion";
import { getCliOptions } from "./tools/cliOptions";
import { getLogger } from "./tools/logger";

export function downloadBuiltinKeycloakTheme(params: { keycloakVersion: string; destDirPath: string; isSilent: boolean }) {
export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: string; destDirPath: string; isSilent: boolean }) {
const { keycloakVersion, destDirPath, isSilent } = params;

for (const ext of ["", "-community"]) {
downloadAndUnzip({
await downloadAndUnzip({
"destDirPath": destDirPath,
"url": `https://github.com/keycloak/keycloak/archive/refs/tags/${keycloakVersion}.zip`,
"pathOfDirToExtractInArchive": `keycloak-${keycloakVersion}/themes/src/main/resources${ext}/theme`,
Expand All @@ -31,7 +31,7 @@ if (require.main === module) {

logger.log(`Downloading builtins theme of Keycloak ${keycloakVersion} here ${destDirPath}`);

downloadBuiltinKeycloakTheme({
await downloadBuiltinKeycloakTheme({
keycloakVersion,
destDirPath,
isSilent
Expand Down
10 changes: 4 additions & 6 deletions src/bin/keycloakify/generateKeycloakThemeResources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { replaceImportsFromStaticInJsCode } from "./replacers/replaceImportsFrom
import { replaceImportsInCssCode } from "./replacers/replaceImportsInCssCode";
import { generateFtlFilesCodeFactory, pageIds } from "./generateFtl";
import { downloadBuiltinKeycloakTheme } from "../download-builtin-keycloak-theme";
import * as child_process from "child_process";
import { mockTestingResourcesCommonPath, mockTestingResourcesPath, mockTestingSubDirOfPublicDirBasename } from "../mockTestingResourcesPath";
import { isInside } from "../tools/isInside";
import type { BuildOptions } from "./BuildOptions";
Expand Down Expand Up @@ -53,13 +52,13 @@ export namespace BuildOptionsLike {
assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
}

export function generateKeycloakThemeResources(params: {
export async function generateKeycloakThemeResources(params: {
reactAppBuildDirPath: string;
keycloakThemeBuildingDirPath: string;
keycloakThemeEmailDirPath: string;
keycloakVersion: string;
buildOptions: BuildOptionsLike;
}): { doBundlesEmailTemplate: boolean } {
}): Promise<{ doBundlesEmailTemplate: boolean }> {
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath, keycloakVersion, buildOptions } = params;

const logger = getLogger({ isSilent: buildOptions.isSilent });
Expand Down Expand Up @@ -155,7 +154,7 @@ export function generateKeycloakThemeResources(params: {
{
const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_xxKdLpdIdLd");

downloadBuiltinKeycloakTheme({
await downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": tmpDirPath,
isSilent: buildOptions.isSilent
Expand Down Expand Up @@ -190,8 +189,7 @@ export function generateKeycloakThemeResources(params: {
);

fs.writeFileSync(pathJoin(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));

child_process.execSync(`rm -r ${tmpDirPath}`);
fs.rmSync(tmpDirPath, { recursive: true, force: true });
}

fs.writeFileSync(
Expand Down
4 changes: 2 additions & 2 deletions src/bin/keycloakify/keycloakify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const reactProjectDirPath = process.cwd();
export const keycloakThemeBuildingDirPath = pathJoin(reactProjectDirPath, "build_keycloak");
export const keycloakThemeEmailDirPath = pathJoin(keycloakThemeBuildingDirPath, "..", "keycloak_email");

export function main() {
export async function main() {
const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));
const logger = getLogger({ isSilent });
logger.log("🔏 Building the keycloak theme...⌚");
Expand All @@ -33,7 +33,7 @@ export function main() {
"isSilent": isSilent
});

const { doBundlesEmailTemplate } = generateKeycloakThemeResources({
const { doBundlesEmailTemplate } = await generateKeycloakThemeResources({
keycloakThemeBuildingDirPath,
keycloakThemeEmailDirPath,
"reactAppBuildDirPath": pathJoin(reactProjectDirPath, "build"),
Expand Down
3 changes: 2 additions & 1 deletion src/bin/link_in_test_app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ fs.writeFileSync(
return {
...packageJsonParsed,
"main": packageJsonParsed["main"].replace(/^dist\//, ""),
"types": packageJsonParsed["types"].replace(/^dist\//, "")
"types": packageJsonParsed["types"].replace(/^dist\//, ""),
"bin": Object.fromEntries(Object.entries<string>(packageJsonParsed["bin"]).map(([k, v]) => [k, v.replace(/^dist\//, "")]))
};
})(),
null,
Expand Down
Loading

0 comments on commit 564e142

Please sign in to comment.