keycloakify 9.3.1 → 9.4.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/account/kcContext/getKcContextFromWindow.js +2 -2
- package/account/kcContext/getKcContextFromWindow.js.map +1 -1
- package/bin/constants.d.ts +4 -1
- package/bin/constants.js +5 -2
- package/bin/constants.js.map +1 -1
- package/bin/copy-keycloak-resources-to-public.js +3 -4
- package/bin/copy-keycloak-resources-to-public.js.map +1 -1
- package/bin/download-builtin-keycloak-theme.js +98 -31
- package/bin/download-builtin-keycloak-theme.js.map +1 -1
- package/bin/eject-keycloak-page.js +2 -2
- package/bin/eject-keycloak-page.js.map +1 -1
- package/bin/{getSrcDirPath.js → getThemeSrcDirPath.js} +1 -1
- package/bin/getThemeSrcDirPath.js.map +1 -0
- package/bin/initialize-email-theme.js +6 -5
- package/bin/initialize-email-theme.js.map +1 -1
- package/bin/keycloakify/{BuildOptions.d.ts → buildOptions/buildOptions.d.ts} +2 -1
- package/bin/keycloakify/buildOptions/buildOptions.js +136 -0
- package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -0
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts +7 -0
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js +27 -0
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map +1 -0
- package/bin/keycloakify/buildOptions/index.d.ts +1 -0
- package/bin/keycloakify/{generateJavaStackFiles → buildOptions}/index.js +1 -1
- package/bin/keycloakify/buildOptions/index.js.map +1 -0
- package/bin/keycloakify/buildOptions/parsedPackageJson.d.ts +19 -0
- package/bin/keycloakify/{parsedPackageJson.js → buildOptions/parsedPackageJson.js} +6 -7
- package/bin/keycloakify/buildOptions/parsedPackageJson.js.map +1 -0
- package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +12 -0
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js +82 -0
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +1 -0
- package/bin/keycloakify/generateFtl/generateFtl.d.ts +4 -1
- package/bin/keycloakify/generateFtl/generateFtl.js +5 -5
- package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
- package/bin/keycloakify/generatePom.d.ts +12 -0
- package/bin/keycloakify/generatePom.js +59 -0
- package/bin/keycloakify/generatePom.js.map +1 -0
- package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.d.ts +2 -1
- package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.js +21 -67
- package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -0
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -3
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +5 -34
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
- package/bin/keycloakify/generateTheme/generateTheme.d.ts +4 -1
- package/bin/keycloakify/generateTheme/generateTheme.js +123 -70
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
- package/bin/keycloakify/keycloakify.js +13 -72
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js +2 -1
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +2 -1
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts +1 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js +18 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map +1 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts +12 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js +70 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map +1 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts +13 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js +95 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map +1 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts +12 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js +108 -0
- package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map +1 -0
- package/bin/promptKeycloakVersion.js +0 -1
- package/bin/promptKeycloakVersion.js.map +1 -1
- package/bin/tools/OptionalIfCanBeUndefined.d.ts +14 -0
- package/bin/tools/OptionalIfCanBeUndefined.js +3 -0
- package/bin/tools/OptionalIfCanBeUndefined.js.map +1 -0
- package/bin/tools/SemVer.d.ts +26 -0
- package/bin/tools/{NpmModuleVersion.js → SemVer.js} +39 -23
- package/bin/tools/SemVer.js.map +1 -0
- package/bin/tools/String.prototype.replaceAll.d.ts +1 -0
- package/bin/tools/String.prototype.replaceAll.js +29 -0
- package/bin/tools/String.prototype.replaceAll.js.map +1 -0
- package/bin/tools/crawl.js +9 -9
- package/bin/tools/crawl.js.map +1 -1
- package/bin/tools/downloadAndUnzip.js +30 -19
- package/bin/tools/downloadAndUnzip.js.map +1 -1
- package/bin/tools/fs.rm.d.ts +8 -0
- package/bin/tools/fs.rm.js +151 -0
- package/bin/tools/fs.rm.js.map +1 -0
- package/bin/tools/fs.rmSync.d.ts +8 -0
- package/bin/tools/fs.rmSync.js +58 -0
- package/bin/tools/fs.rmSync.js.map +1 -0
- package/bin/tools/getAbsoluteAndInOsFormatPath.js +1 -0
- package/bin/tools/getAbsoluteAndInOsFormatPath.js.map +1 -1
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +2 -3
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +6 -6
- package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +1 -1
- package/bin/tools/transformCodebase.d.ts +5 -1
- package/bin/tools/transformCodebase.js +31 -13
- package/bin/tools/transformCodebase.js.map +1 -1
- package/login/kcContext/getKcContextFromWindow.js +2 -2
- package/login/kcContext/getKcContextFromWindow.js.map +1 -1
- package/package.json +104 -53
- package/src/account/kcContext/getKcContextFromWindow.ts +2 -2
- package/src/bin/constants.ts +4 -1
- package/src/bin/copy-keycloak-resources-to-public.ts +2 -3
- package/src/bin/download-builtin-keycloak-theme.ts +96 -48
- package/src/bin/eject-keycloak-page.ts +1 -1
- package/src/bin/initialize-email-theme.ts +4 -3
- package/src/bin/keycloakify/buildOptions/buildOptions.ts +185 -0
- package/src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts +33 -0
- package/src/bin/keycloakify/buildOptions/index.ts +1 -0
- package/src/bin/keycloakify/{parsedPackageJson.ts → buildOptions/parsedPackageJson.ts} +4 -6
- package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +85 -0
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -8
- package/src/bin/keycloakify/generatePom.ts +70 -0
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +1 -1
- package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +83 -0
- package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +11 -52
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +141 -51
- package/src/bin/keycloakify/keycloakify.ts +11 -58
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +3 -2
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +3 -2
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts +1 -0
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +66 -0
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +85 -0
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +90 -0
- package/src/bin/promptKeycloakVersion.ts +0 -1
- package/src/bin/tools/OptionalIfCanBeUndefined.ts +12 -0
- package/src/bin/tools/SemVer.ts +99 -0
- package/src/bin/tools/String.prototype.replaceAll.ts +30 -0
- package/src/bin/tools/crawl.ts +8 -8
- package/src/bin/tools/downloadAndUnzip.ts +11 -4
- package/src/bin/tools/fs.rm.ts +43 -0
- package/src/bin/tools/fs.rmSync.ts +34 -0
- package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +2 -0
- package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +9 -9
- package/src/bin/tools/transformCodebase.ts +35 -14
- package/src/login/kcContext/getKcContextFromWindow.ts +2 -2
- package/src/tsconfig.json +1 -1
- package/src/vite-plugin/config.json +232 -0
- package/src/vite-plugin/index.ts +1 -0
- package/src/vite-plugin/tsconfig.json +18 -0
- package/src/vite-plugin/vite-plugin.ts +128 -0
- package/vite-plugin/index.d.ts +1 -0
- package/vite-plugin/index.js +18 -0
- package/vite-plugin/index.js.map +1 -0
- package/vite-plugin/tsconfig.tsbuildinfo +1 -0
- package/vite-plugin/vite-plugin.d.ts +2 -0
- package/vite-plugin/vite-plugin.js +118 -0
- package/vite-plugin/vite-plugin.js.map +1 -0
- package/bin/getSrcDirPath.js.map +0 -1
- package/bin/keycloakify/BuildOptions.js +0 -113
- package/bin/keycloakify/BuildOptions.js.map +0 -1
- package/bin/keycloakify/ftlValuesGlobalName.d.ts +0 -1
- package/bin/keycloakify/ftlValuesGlobalName.js +0 -5
- package/bin/keycloakify/ftlValuesGlobalName.js.map +0 -1
- package/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map +0 -1
- package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.d.ts +0 -16
- package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +0 -205
- package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +0 -1
- package/bin/keycloakify/generateJavaStackFiles/index.d.ts +0 -1
- package/bin/keycloakify/generateJavaStackFiles/index.js.map +0 -1
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +0 -15
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +0 -158
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +0 -1
- package/bin/keycloakify/parsedPackageJson.d.ts +0 -108
- package/bin/keycloakify/parsedPackageJson.js.map +0 -1
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +0 -5
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +0 -74
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +0 -1
- package/bin/tools/NpmModuleVersion.d.ts +0 -22
- package/bin/tools/NpmModuleVersion.js.map +0 -1
- package/src/bin/keycloakify/BuildOptions.ts +0 -157
- package/src/bin/keycloakify/ftlValuesGlobalName.ts +0 -1
- package/src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts +0 -101
- package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +0 -141
- package/src/bin/keycloakify/generateJavaStackFiles/index.ts +0 -1
- package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +0 -76
- package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +0 -51
- package/src/bin/tools/NpmModuleVersion.ts +0 -73
- /package/bin/{getSrcDirPath.d.ts → getThemeSrcDirPath.d.ts} +0 -0
- /package/src/bin/{getSrcDirPath.ts → getThemeSrcDirPath.ts} +0 -0
@@ -1,108 +0,0 @@
|
|
1
|
-
import { z } from "zod";
|
2
|
-
export type ParsedPackageJson = {
|
3
|
-
name: string;
|
4
|
-
version?: string;
|
5
|
-
homepage?: string;
|
6
|
-
keycloakify?: {
|
7
|
-
extraThemeProperties?: string[];
|
8
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean;
|
9
|
-
artifactId?: string;
|
10
|
-
groupId?: string;
|
11
|
-
doCreateJar?: boolean;
|
12
|
-
loginThemeResourcesFromKeycloakVersion?: string;
|
13
|
-
reactAppBuildDirPath?: string;
|
14
|
-
keycloakifyBuildDirPath?: string;
|
15
|
-
themeName?: string | string[];
|
16
|
-
doBuildRetrocompatAccountTheme?: boolean;
|
17
|
-
};
|
18
|
-
};
|
19
|
-
export declare const zParsedPackageJson: z.ZodObject<{
|
20
|
-
name: z.ZodString;
|
21
|
-
version: z.ZodOptional<z.ZodString>;
|
22
|
-
homepage: z.ZodOptional<z.ZodString>;
|
23
|
-
keycloakify: z.ZodOptional<z.ZodObject<{
|
24
|
-
extraThemeProperties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
25
|
-
areAppAndKeycloakServerSharingSameDomain: z.ZodOptional<z.ZodBoolean>;
|
26
|
-
artifactId: z.ZodOptional<z.ZodString>;
|
27
|
-
groupId: z.ZodOptional<z.ZodString>;
|
28
|
-
doCreateJar: z.ZodOptional<z.ZodBoolean>;
|
29
|
-
loginThemeResourcesFromKeycloakVersion: z.ZodOptional<z.ZodString>;
|
30
|
-
reactAppBuildDirPath: z.ZodOptional<z.ZodString>;
|
31
|
-
keycloakifyBuildDirPath: z.ZodOptional<z.ZodString>;
|
32
|
-
themeName: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
33
|
-
doBuildRetrocompatAccountTheme: z.ZodOptional<z.ZodBoolean>;
|
34
|
-
}, "strip", z.ZodTypeAny, {
|
35
|
-
extraThemeProperties?: string[] | undefined;
|
36
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
37
|
-
artifactId?: string | undefined;
|
38
|
-
groupId?: string | undefined;
|
39
|
-
doCreateJar?: boolean | undefined;
|
40
|
-
loginThemeResourcesFromKeycloakVersion?: string | undefined;
|
41
|
-
reactAppBuildDirPath?: string | undefined;
|
42
|
-
keycloakifyBuildDirPath?: string | undefined;
|
43
|
-
themeName?: string | string[] | undefined;
|
44
|
-
doBuildRetrocompatAccountTheme?: boolean | undefined;
|
45
|
-
}, {
|
46
|
-
extraThemeProperties?: string[] | undefined;
|
47
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
48
|
-
artifactId?: string | undefined;
|
49
|
-
groupId?: string | undefined;
|
50
|
-
doCreateJar?: boolean | undefined;
|
51
|
-
loginThemeResourcesFromKeycloakVersion?: string | undefined;
|
52
|
-
reactAppBuildDirPath?: string | undefined;
|
53
|
-
keycloakifyBuildDirPath?: string | undefined;
|
54
|
-
themeName?: string | string[] | undefined;
|
55
|
-
doBuildRetrocompatAccountTheme?: boolean | undefined;
|
56
|
-
}>>;
|
57
|
-
}, "strip", z.ZodTypeAny, {
|
58
|
-
name: string;
|
59
|
-
version?: string | undefined;
|
60
|
-
homepage?: string | undefined;
|
61
|
-
keycloakify?: {
|
62
|
-
extraThemeProperties?: string[] | undefined;
|
63
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
64
|
-
artifactId?: string | undefined;
|
65
|
-
groupId?: string | undefined;
|
66
|
-
doCreateJar?: boolean | undefined;
|
67
|
-
loginThemeResourcesFromKeycloakVersion?: string | undefined;
|
68
|
-
reactAppBuildDirPath?: string | undefined;
|
69
|
-
keycloakifyBuildDirPath?: string | undefined;
|
70
|
-
themeName?: string | string[] | undefined;
|
71
|
-
doBuildRetrocompatAccountTheme?: boolean | undefined;
|
72
|
-
} | undefined;
|
73
|
-
}, {
|
74
|
-
name: string;
|
75
|
-
version?: string | undefined;
|
76
|
-
homepage?: string | undefined;
|
77
|
-
keycloakify?: {
|
78
|
-
extraThemeProperties?: string[] | undefined;
|
79
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
80
|
-
artifactId?: string | undefined;
|
81
|
-
groupId?: string | undefined;
|
82
|
-
doCreateJar?: boolean | undefined;
|
83
|
-
loginThemeResourcesFromKeycloakVersion?: string | undefined;
|
84
|
-
reactAppBuildDirPath?: string | undefined;
|
85
|
-
keycloakifyBuildDirPath?: string | undefined;
|
86
|
-
themeName?: string | string[] | undefined;
|
87
|
-
doBuildRetrocompatAccountTheme?: boolean | undefined;
|
88
|
-
} | undefined;
|
89
|
-
}>;
|
90
|
-
export declare function getParsedPackageJson(params: {
|
91
|
-
reactAppRootDirPath: string;
|
92
|
-
}): {
|
93
|
-
name: string;
|
94
|
-
version?: string | undefined;
|
95
|
-
homepage?: string | undefined;
|
96
|
-
keycloakify?: {
|
97
|
-
extraThemeProperties?: string[] | undefined;
|
98
|
-
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
99
|
-
artifactId?: string | undefined;
|
100
|
-
groupId?: string | undefined;
|
101
|
-
doCreateJar?: boolean | undefined;
|
102
|
-
loginThemeResourcesFromKeycloakVersion?: string | undefined;
|
103
|
-
reactAppBuildDirPath?: string | undefined;
|
104
|
-
keycloakifyBuildDirPath?: string | undefined;
|
105
|
-
themeName?: string | string[] | undefined;
|
106
|
-
doBuildRetrocompatAccountTheme?: boolean | undefined;
|
107
|
-
} | undefined;
|
108
|
-
};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"parsedPackageJson.js","sourceRoot":"","sources":["../../src/bin/keycloakify/parsedPackageJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAA+B;AAE/B,2BAAwB;AACxB,8CAA6C;AAoBhC,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,OAAC;SACX,MAAM,CAAC;QACJ,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,0CAA0C,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACrC,wCAAwC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/D,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7C,yBAAyB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClE,gCAAgC,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC3D,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC,CAAC;AAEH,IAAA,cAAM,GAA+E,CAAC;AAEtF,IAAI,iBAA+E,CAAC;AACpF,SAAgB,oBAAoB,CAAC,MAAuC;IAChE,IAAA,mBAAmB,GAAK,MAAM,oBAAX,CAAY;IACvC,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IACD,iBAAiB,GAAG,0BAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,mBAAQ,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1I,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAPD,oDAOC"}
|
@@ -1,74 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
4
|
-
if (!m) return o;
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
6
|
-
try {
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
8
|
-
}
|
9
|
-
catch (error) { e = { error: error }; }
|
10
|
-
finally {
|
11
|
-
try {
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
13
|
-
}
|
14
|
-
finally { if (e) throw e.error; }
|
15
|
-
}
|
16
|
-
return ar;
|
17
|
-
};
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
20
|
-
if (ar || !(i in from)) {
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
22
|
-
ar[i] = from[i];
|
23
|
-
}
|
24
|
-
}
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
26
|
-
};
|
27
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
28
|
-
exports.replaceImportsFromStaticInJsCode = void 0;
|
29
|
-
var ftlValuesGlobalName_1 = require("../ftlValuesGlobalName");
|
30
|
-
function replaceImportsFromStaticInJsCode(params) {
|
31
|
-
/*
|
32
|
-
NOTE:
|
33
|
-
|
34
|
-
When we have urlOrigin defined it means that
|
35
|
-
we are building with --external-assets
|
36
|
-
so we have to make sur that the fixed js code will run
|
37
|
-
inside and outside keycloak.
|
38
|
-
|
39
|
-
When urlOrigin isn't defined we can assume the fixedJsCode
|
40
|
-
will always run in keycloak context.
|
41
|
-
*/
|
42
|
-
var _a;
|
43
|
-
var jsCode = params.jsCode;
|
44
|
-
var getReplaceArgs = function (language) { return [
|
45
|
-
new RegExp("([a-zA-Z_]+)\\.([a-zA-Z]+)=(function\\(([a-z]+)\\){return|([a-z]+)=>)\"static\\/".concat(language, "\\/\""), "g"),
|
46
|
-
function () {
|
47
|
-
var _a = [];
|
48
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
49
|
-
_a[_i] = arguments[_i];
|
50
|
-
}
|
51
|
-
var _b = __read(_a, 5), n = _b[1], u = _b[2], matchedFunction = _b[3], eForFunction = _b[4];
|
52
|
-
var isArrowFunction = matchedFunction.includes("=>");
|
53
|
-
var e = isArrowFunction ? matchedFunction.replace("=>", "").trim() : eForFunction;
|
54
|
-
return "\n ".concat(n, "[(function(){\n var pd = Object.getOwnPropertyDescriptor(").concat(n, ", \"p\");\n if( pd === undefined || pd.configurable ){\n Object.defineProperty(").concat(n, ", \"p\", {\n get: function() { return window.").concat(ftlValuesGlobalName_1.ftlValuesGlobalName, ".url.resourcesPath; },\n set: function() {}\n });\n }\n return \"").concat(u, "\";\n })()] = ").concat(isArrowFunction ? "".concat(e, " =>") : "function(".concat(e, ") { return "), " \"/build/static/").concat(language, "/\"")
|
55
|
-
.replace(/\s+/g, " ")
|
56
|
-
.trim();
|
57
|
-
}
|
58
|
-
]; };
|
59
|
-
var fixedJsCode = (_a = jsCode
|
60
|
-
.replace.apply(jsCode, __spreadArray([], __read(getReplaceArgs("js")), false)))
|
61
|
-
.replace.apply(_a, __spreadArray([], __read(getReplaceArgs("css")), false)).replace(/[a-zA-Z]+\.[a-zA-Z]+\+"static\//g, "window.".concat(ftlValuesGlobalName_1.ftlValuesGlobalName, ".url.resourcesPath + \"/build/static/"))
|
62
|
-
//TODO: Write a test case for this
|
63
|
-
.replace(/".chunk.css",([a-zA-Z])+=[a-zA-Z]+\.[a-zA-Z]+\+([a-zA-Z]+),/, function () {
|
64
|
-
var _a = [];
|
65
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
66
|
-
_a[_i] = arguments[_i];
|
67
|
-
}
|
68
|
-
var _b = __read(_a, 3), group1 = _b[1], group2 = _b[2];
|
69
|
-
return "\".chunk.css\",".concat(group1, " = window.").concat(ftlValuesGlobalName_1.ftlValuesGlobalName, ".url.resourcesPath + \"/build/\" + ").concat(group2, ",");
|
70
|
-
});
|
71
|
-
return { fixedJsCode: fixedJsCode };
|
72
|
-
}
|
73
|
-
exports.replaceImportsFromStaticInJsCode = replaceImportsFromStaticInJsCode;
|
74
|
-
//# sourceMappingURL=replaceImportsFromStaticInJsCode.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"replaceImportsFromStaticInJsCode.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAA6D;AAE7D,SAAgB,gCAAgC,CAAC,MAA0B;IACvE;;;;;;;;;;MAUD;;IAES,IAAA,MAAM,GAAK,MAAM,OAAX,CAAY;IAE1B,IAAM,cAAc,GAAG,UAAC,QAAsB,IAAkD,OAAA;QAC5F,IAAI,MAAM,CAAC,0FAAkF,QAAQ,UAAM,EAAE,GAAG,CAAC;QACjH;YAAC,YAA0C;iBAA1C,UAA0C,EAA1C,qBAA0C,EAA1C,IAA0C;gBAA1C,uBAA0C;;YAA1C,IAAA,KAAA,aAA0C,EAApC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,eAAe,QAAA,EAAE,YAAY,QAAA,CAAC;YACvC,IAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,IAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;YAEpF,OAAO,wBACL,CAAC,qFAC4C,CAAC,8HAEhB,CAAC,iFACa,yCAAmB,sJAInD,CAAC,sCACL,eAAe,CAAC,CAAC,CAAC,UAAG,CAAC,QAAK,CAAC,CAAC,CAAC,mBAAY,CAAC,gBAAa,8BAAmB,QAAQ,QAAI;iBAC5F,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,IAAI,EAAE,CAAC;QAChB,CAAC;KACJ,EApB+F,CAoB/F,CAAC;IAEF,IAAM,WAAW,GAAG,CAAA,KAAA,MAAM;SACrB,OAAO,OADQ,MAAM,2BACV,cAAc,CAAC,IAAI,CAAC,UAAC,CAAA;SAChC,OAAO,oCAAI,cAAc,CAAC,KAAK,CAAC,WAChC,OAAO,CAAC,kCAAkC,EAAE,iBAAU,yCAAmB,0CAAsC,CAAC;QACjH,kCAAkC;SACjC,OAAO,CACJ,6DAA6D,EAC7D;QAAC,YAAqB;aAArB,UAAqB,EAArB,qBAAqB,EAArB,IAAqB;YAArB,uBAAqB;;QAArB,IAAA,KAAA,aAAqB,EAAf,MAAM,QAAA,EAAE,MAAM,QAAA,CAAC;QAAK,OAAA,yBAAgB,MAAM,uBAAa,yCAAmB,gDAAoC,MAAM,MAAG;IAAnG,CAAmG,CACjI,CAAC;IAEN,OAAO,EAAE,WAAW,aAAA,EAAE,CAAC;AAC3B,CAAC;AAhDD,4EAgDC"}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
export type NpmModuleVersion = {
|
2
|
-
major: number;
|
3
|
-
minor: number;
|
4
|
-
patch: number;
|
5
|
-
betaPreRelease?: number;
|
6
|
-
};
|
7
|
-
export declare namespace NpmModuleVersion {
|
8
|
-
function parse(versionStr: string): NpmModuleVersion;
|
9
|
-
function stringify(v: NpmModuleVersion): string;
|
10
|
-
/**
|
11
|
-
*
|
12
|
-
* v1 < v2 => -1
|
13
|
-
* v1 === v2 => 0
|
14
|
-
* v1 > v2 => 1
|
15
|
-
*
|
16
|
-
*/
|
17
|
-
function compare(v1: NpmModuleVersion, v2: NpmModuleVersion): -1 | 0 | 1;
|
18
|
-
function bumpType(params: {
|
19
|
-
versionBehindStr: string;
|
20
|
-
versionAheadStr: string;
|
21
|
-
}): "major" | "minor" | "patch" | "betaPreRelease" | "same";
|
22
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"NpmModuleVersion.js","sourceRoot":"","sources":["../../src/bin/tools/NpmModuleVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAiB,gBAAgB,CAiEhC;AAjED,WAAiB,gBAAgB;IAC7B,SAAgB,KAAK,CAAC,UAAkB;QACpC,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAEnF,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,UAAG,UAAU,gCAA6B,CAAC,CAAC;SAC/D;QAED,kBACI,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IACxB,CAAC;YACA,IAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxE,CAAC,CAAC,EAAE,EACN;IACN,CAAC;IAhBe,sBAAK,QAgBpB,CAAA;IAED,SAAgB,SAAS,CAAC,CAAmB;QACzC,OAAO,UAAG,CAAC,CAAC,KAAK,cAAI,CAAC,CAAC,KAAK,cAAI,CAAC,CAAC,KAAK,SAAG,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAS,CAAC,CAAC,cAAc,CAAE,CAAE,CAAC;IAClH,CAAC;IAFe,0BAAS,YAExB,CAAA;IAED;;;;;;OAMG;IACH,SAAgB,OAAO,CAAC,EAAoB,EAAE,EAAoB;;QAC9D,IAAM,IAAI,GAAG,UAAC,IAAY,IAAiB,OAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAApC,CAAoC,CAAC;QAChF,IAAM,WAAW,GAAG,UAAC,CAAqB,IAAK,OAAA,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,QAAQ,EAAb,CAAa,CAAC;;YAE7D,KAAoB,IAAA,KAAA,SAAA,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAU,CAAA,gBAAA,4BAAE;gBAAvE,IAAM,KAAK,WAAA;gBACZ,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;oBACnD,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAChE;aACJ;;;;;;;;;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAXe,wBAAO,UAWtB,CAAA;IAED;;;;MAIE;IAEF,SAAgB,QAAQ,CAAC,MAA6D;;QAClF,IAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,6BAAsB,aAAa,iBAAO,YAAY,CAAE,CAAC,CAAC;SAC7E;;YAED,KAAoB,IAAA,KAAA,SAAA,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAU,CAAA,gBAAA,4BAAE;gBAAvE,IAAM,KAAK,WAAA;gBACZ,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE;oBAC9C,OAAO,KAAK,CAAC;iBAChB;aACJ;;;;;;;;;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAfe,yBAAQ,WAevB,CAAA;AACL,CAAC,EAjEgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAiEhC"}
|
@@ -1,157 +0,0 @@
|
|
1
|
-
import { parse as urlParse } from "url";
|
2
|
-
import { getParsedPackageJson } from "./parsedPackageJson";
|
3
|
-
import { join as pathJoin } from "path";
|
4
|
-
import parseArgv from "minimist";
|
5
|
-
import { getAbsoluteAndInOsFormatPath } from "../tools/getAbsoluteAndInOsFormatPath";
|
6
|
-
|
7
|
-
/** Consolidated build option gathered form CLI arguments and config in package.json */
|
8
|
-
export type BuildOptions = {
|
9
|
-
isSilent: boolean;
|
10
|
-
themeVersion: string;
|
11
|
-
themeNames: string[];
|
12
|
-
extraThemeProperties: string[] | undefined;
|
13
|
-
groupId: string;
|
14
|
-
artifactId: string;
|
15
|
-
doCreateJar: boolean;
|
16
|
-
loginThemeResourcesFromKeycloakVersion: string;
|
17
|
-
reactAppRootDirPath: string;
|
18
|
-
/** Directory of your built react project. Defaults to {cwd}/build */
|
19
|
-
reactAppBuildDirPath: string;
|
20
|
-
/** Directory that keycloakify outputs to. Defaults to {cwd}/build_keycloak */
|
21
|
-
keycloakifyBuildDirPath: string;
|
22
|
-
publicDirPath: string;
|
23
|
-
cacheDirPath: string;
|
24
|
-
/** If your app is hosted under a subpath, it's the case in CRA if you have "homepage": "https://example.com/my-app" in your package.json
|
25
|
-
* In this case the urlPathname will be "/my-app/" */
|
26
|
-
urlPathname: string | undefined;
|
27
|
-
doBuildRetrocompatAccountTheme: boolean;
|
28
|
-
};
|
29
|
-
|
30
|
-
export function readBuildOptions(params: { reactAppRootDirPath: string; processArgv: string[] }): BuildOptions {
|
31
|
-
const { reactAppRootDirPath, processArgv } = params;
|
32
|
-
|
33
|
-
const { isSilentCliParamProvided } = (() => {
|
34
|
-
const argv = parseArgv(processArgv);
|
35
|
-
|
36
|
-
return {
|
37
|
-
"isSilentCliParamProvided": typeof argv["silent"] === "boolean" ? argv["silent"] : false
|
38
|
-
};
|
39
|
-
})();
|
40
|
-
|
41
|
-
const parsedPackageJson = getParsedPackageJson({ reactAppRootDirPath });
|
42
|
-
|
43
|
-
const { name, keycloakify = {}, version, homepage } = parsedPackageJson;
|
44
|
-
|
45
|
-
const { extraThemeProperties, groupId, artifactId, doCreateJar, loginThemeResourcesFromKeycloakVersion } = keycloakify ?? {};
|
46
|
-
|
47
|
-
const themeNames = (() => {
|
48
|
-
if (keycloakify.themeName === undefined) {
|
49
|
-
return [
|
50
|
-
name
|
51
|
-
.replace(/^@(.*)/, "$1")
|
52
|
-
.split("/")
|
53
|
-
.join("-")
|
54
|
-
];
|
55
|
-
}
|
56
|
-
|
57
|
-
if (typeof keycloakify.themeName === "string") {
|
58
|
-
return [keycloakify.themeName];
|
59
|
-
}
|
60
|
-
|
61
|
-
return keycloakify.themeName;
|
62
|
-
})();
|
63
|
-
|
64
|
-
return {
|
65
|
-
reactAppRootDirPath,
|
66
|
-
themeNames,
|
67
|
-
"doCreateJar": doCreateJar ?? true,
|
68
|
-
"artifactId": process.env.KEYCLOAKIFY_ARTIFACT_ID ?? artifactId ?? `${themeNames[0]}-keycloak-theme`,
|
69
|
-
"groupId": (() => {
|
70
|
-
const fallbackGroupId = `${themeNames[0]}.keycloak`;
|
71
|
-
|
72
|
-
return (
|
73
|
-
process.env.KEYCLOAKIFY_GROUP_ID ??
|
74
|
-
groupId ??
|
75
|
-
(!homepage
|
76
|
-
? fallbackGroupId
|
77
|
-
: urlParse(homepage)
|
78
|
-
.host?.replace(/:[0-9]+$/, "")
|
79
|
-
?.split(".")
|
80
|
-
.reverse()
|
81
|
-
.join(".") ?? fallbackGroupId) + ".keycloak"
|
82
|
-
);
|
83
|
-
})(),
|
84
|
-
"themeVersion": process.env.KEYCLOAKIFY_THEME_VERSION ?? process.env.KEYCLOAKIFY_VERSION ?? version ?? "0.0.0",
|
85
|
-
extraThemeProperties,
|
86
|
-
"isSilent": isSilentCliParamProvided,
|
87
|
-
"loginThemeResourcesFromKeycloakVersion": loginThemeResourcesFromKeycloakVersion ?? "11.0.3",
|
88
|
-
"publicDirPath": (() => {
|
89
|
-
let { PUBLIC_DIR_PATH } = process.env;
|
90
|
-
|
91
|
-
if (PUBLIC_DIR_PATH !== undefined) {
|
92
|
-
return getAbsoluteAndInOsFormatPath({
|
93
|
-
"pathIsh": PUBLIC_DIR_PATH,
|
94
|
-
"cwd": reactAppRootDirPath
|
95
|
-
});
|
96
|
-
}
|
97
|
-
|
98
|
-
return pathJoin(reactAppRootDirPath, "public");
|
99
|
-
})(),
|
100
|
-
"reactAppBuildDirPath": (() => {
|
101
|
-
const { reactAppBuildDirPath } = parsedPackageJson.keycloakify ?? {};
|
102
|
-
|
103
|
-
if (reactAppBuildDirPath !== undefined) {
|
104
|
-
return getAbsoluteAndInOsFormatPath({
|
105
|
-
"pathIsh": reactAppBuildDirPath,
|
106
|
-
"cwd": reactAppRootDirPath
|
107
|
-
});
|
108
|
-
}
|
109
|
-
|
110
|
-
return pathJoin(reactAppRootDirPath, "build");
|
111
|
-
})(),
|
112
|
-
"keycloakifyBuildDirPath": (() => {
|
113
|
-
const { keycloakifyBuildDirPath } = parsedPackageJson.keycloakify ?? {};
|
114
|
-
|
115
|
-
if (keycloakifyBuildDirPath !== undefined) {
|
116
|
-
return getAbsoluteAndInOsFormatPath({
|
117
|
-
"pathIsh": keycloakifyBuildDirPath,
|
118
|
-
"cwd": reactAppRootDirPath
|
119
|
-
});
|
120
|
-
}
|
121
|
-
|
122
|
-
return pathJoin(reactAppRootDirPath, "build_keycloak");
|
123
|
-
})(),
|
124
|
-
"cacheDirPath": pathJoin(
|
125
|
-
(() => {
|
126
|
-
let { XDG_CACHE_HOME } = process.env;
|
127
|
-
|
128
|
-
if (XDG_CACHE_HOME !== undefined) {
|
129
|
-
return getAbsoluteAndInOsFormatPath({
|
130
|
-
"pathIsh": XDG_CACHE_HOME,
|
131
|
-
"cwd": reactAppRootDirPath
|
132
|
-
});
|
133
|
-
}
|
134
|
-
|
135
|
-
return pathJoin(reactAppRootDirPath, "node_modules", ".cache");
|
136
|
-
})(),
|
137
|
-
"keycloakify"
|
138
|
-
),
|
139
|
-
"urlPathname": (() => {
|
140
|
-
const { homepage } = parsedPackageJson;
|
141
|
-
|
142
|
-
let url: URL | undefined = undefined;
|
143
|
-
|
144
|
-
if (homepage !== undefined) {
|
145
|
-
url = new URL(homepage);
|
146
|
-
}
|
147
|
-
|
148
|
-
if (url === undefined) {
|
149
|
-
return undefined;
|
150
|
-
}
|
151
|
-
|
152
|
-
const out = url.pathname.replace(/([^/])$/, "$1/");
|
153
|
-
return out === "/" ? undefined : out;
|
154
|
-
})(),
|
155
|
-
"doBuildRetrocompatAccountTheme": parsedPackageJson.keycloakify?.doBuildRetrocompatAccountTheme ?? true
|
156
|
-
};
|
157
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export const ftlValuesGlobalName = "kcContext";
|
@@ -1,101 +0,0 @@
|
|
1
|
-
import * as fs from "fs";
|
2
|
-
import { join as pathJoin, dirname as pathDirname } from "path";
|
3
|
-
import { assert } from "tsafe/assert";
|
4
|
-
import { Reflect } from "tsafe/Reflect";
|
5
|
-
import type { BuildOptions } from "../BuildOptions";
|
6
|
-
import { resources_common, lastKeycloakVersionWithAccountV1, accountV1 } from "../../constants";
|
7
|
-
import { downloadBuiltinKeycloakTheme } from "../../download-builtin-keycloak-theme";
|
8
|
-
import { transformCodebase } from "../../tools/transformCodebase";
|
9
|
-
|
10
|
-
export type BuildOptionsLike = {
|
11
|
-
keycloakifyBuildDirPath: string;
|
12
|
-
cacheDirPath: string;
|
13
|
-
};
|
14
|
-
|
15
|
-
{
|
16
|
-
const buildOptions = Reflect<BuildOptions>();
|
17
|
-
|
18
|
-
assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
|
19
|
-
}
|
20
|
-
|
21
|
-
export async function bringInAccountV1(params: { buildOptions: BuildOptionsLike }) {
|
22
|
-
const { buildOptions } = params;
|
23
|
-
|
24
|
-
const builtinKeycloakThemeTmpDirPath = pathJoin(buildOptions.keycloakifyBuildDirPath, "..", "tmp_yxdE2_builtin_keycloak_theme");
|
25
|
-
|
26
|
-
await downloadBuiltinKeycloakTheme({
|
27
|
-
"destDirPath": builtinKeycloakThemeTmpDirPath,
|
28
|
-
"keycloakVersion": lastKeycloakVersionWithAccountV1,
|
29
|
-
buildOptions
|
30
|
-
});
|
31
|
-
|
32
|
-
const accountV1DirPath = pathJoin(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "theme", accountV1, "account");
|
33
|
-
|
34
|
-
transformCodebase({
|
35
|
-
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "account"),
|
36
|
-
"destDirPath": accountV1DirPath
|
37
|
-
});
|
38
|
-
|
39
|
-
const commonResourceFilePaths = [
|
40
|
-
"node_modules/patternfly/dist/css/patternfly.min.css",
|
41
|
-
"node_modules/patternfly/dist/css/patternfly-additions.min.css",
|
42
|
-
...[
|
43
|
-
"OpenSans-Light-webfont.woff2",
|
44
|
-
"OpenSans-Regular-webfont.woff2",
|
45
|
-
"OpenSans-Bold-webfont.woff2",
|
46
|
-
"OpenSans-Semibold-webfont.woff2",
|
47
|
-
"OpenSans-Bold-webfont.woff",
|
48
|
-
"OpenSans-Light-webfont.woff",
|
49
|
-
"OpenSans-Regular-webfont.woff",
|
50
|
-
"OpenSans-Semibold-webfont.woff",
|
51
|
-
"OpenSans-Regular-webfont.ttf",
|
52
|
-
"OpenSans-Light-webfont.ttf",
|
53
|
-
"OpenSans-Semibold-webfont.ttf",
|
54
|
-
"OpenSans-Bold-webfont.ttf"
|
55
|
-
].map(path => `node_modules/patternfly/dist/fonts/${path}`)
|
56
|
-
];
|
57
|
-
|
58
|
-
for (const relativeFilePath of commonResourceFilePaths.map(path => pathJoin(...path.split("/")))) {
|
59
|
-
const destFilePath = pathJoin(accountV1DirPath, "resources", resources_common, relativeFilePath);
|
60
|
-
|
61
|
-
fs.mkdirSync(pathDirname(destFilePath), { "recursive": true });
|
62
|
-
|
63
|
-
fs.cpSync(pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "common", "resources", relativeFilePath), destFilePath);
|
64
|
-
}
|
65
|
-
|
66
|
-
const resourceFilePaths = ["css/account.css", "img/icon-sidebar-active.png", "img/logo.png"];
|
67
|
-
|
68
|
-
for (const relativeFilePath of resourceFilePaths.map(path => pathJoin(...path.split("/")))) {
|
69
|
-
const destFilePath = pathJoin(accountV1DirPath, "resources", relativeFilePath);
|
70
|
-
|
71
|
-
fs.mkdirSync(pathDirname(destFilePath), { "recursive": true });
|
72
|
-
|
73
|
-
fs.cpSync(pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "account", "resources", relativeFilePath), destFilePath);
|
74
|
-
}
|
75
|
-
|
76
|
-
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true });
|
77
|
-
|
78
|
-
fs.writeFileSync(
|
79
|
-
pathJoin(accountV1DirPath, "theme.properties"),
|
80
|
-
Buffer.from(
|
81
|
-
[
|
82
|
-
"accountResourceProvider=account-v1",
|
83
|
-
"",
|
84
|
-
"locales=ar,ca,cs,da,de,en,es,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN",
|
85
|
-
"",
|
86
|
-
"styles=" + [...resourceFilePaths, ...commonResourceFilePaths.map(path => `resources-common/${path}`)].join(" "),
|
87
|
-
"",
|
88
|
-
"##### css classes for form buttons",
|
89
|
-
"# main class used for all buttons",
|
90
|
-
"kcButtonClass=btn",
|
91
|
-
"# classes defining priority of the button - primary or default (there is typically only one priority button for the form)",
|
92
|
-
"kcButtonPrimaryClass=btn-primary",
|
93
|
-
"kcButtonDefaultClass=btn-default",
|
94
|
-
"# classes defining size of the button",
|
95
|
-
"kcButtonLargeClass=btn-lg",
|
96
|
-
""
|
97
|
-
].join("\n"),
|
98
|
-
"utf8"
|
99
|
-
)
|
100
|
-
);
|
101
|
-
}
|
@@ -1,141 +0,0 @@
|
|
1
|
-
import * as fs from "fs";
|
2
|
-
import { join as pathJoin, dirname as pathDirname } from "path";
|
3
|
-
import { assert } from "tsafe/assert";
|
4
|
-
import { Reflect } from "tsafe/Reflect";
|
5
|
-
import type { BuildOptions } from "../BuildOptions";
|
6
|
-
import { type ThemeType, retrocompatPostfix, accountV1 } from "../../constants";
|
7
|
-
import { bringInAccountV1 } from "./bringInAccountV1";
|
8
|
-
|
9
|
-
export type BuildOptionsLike = {
|
10
|
-
groupId: string;
|
11
|
-
artifactId: string;
|
12
|
-
themeVersion: string;
|
13
|
-
cacheDirPath: string;
|
14
|
-
keycloakifyBuildDirPath: string;
|
15
|
-
themeNames: string[];
|
16
|
-
doBuildRetrocompatAccountTheme: boolean;
|
17
|
-
};
|
18
|
-
|
19
|
-
{
|
20
|
-
const buildOptions = Reflect<BuildOptions>();
|
21
|
-
|
22
|
-
assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
|
23
|
-
}
|
24
|
-
|
25
|
-
export async function generateJavaStackFiles(params: {
|
26
|
-
implementedThemeTypes: Record<ThemeType | "email", boolean>;
|
27
|
-
buildOptions: BuildOptionsLike;
|
28
|
-
}): Promise<{
|
29
|
-
jarFilePath: string;
|
30
|
-
}> {
|
31
|
-
const { implementedThemeTypes, buildOptions } = params;
|
32
|
-
|
33
|
-
{
|
34
|
-
const { pomFileCode } = (function generatePomFileCode(): {
|
35
|
-
pomFileCode: string;
|
36
|
-
} {
|
37
|
-
const pomFileCode = [
|
38
|
-
`<?xml version="1.0"?>`,
|
39
|
-
`<project xmlns="http://maven.apache.org/POM/4.0.0"`,
|
40
|
-
` xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"`,
|
41
|
-
` xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">`,
|
42
|
-
` <modelVersion>4.0.0</modelVersion>`,
|
43
|
-
` <groupId>${buildOptions.groupId}</groupId>`,
|
44
|
-
` <artifactId>${buildOptions.artifactId}</artifactId>`,
|
45
|
-
` <version>${buildOptions.themeVersion}</version>`,
|
46
|
-
` <name>${buildOptions.artifactId}</name>`,
|
47
|
-
` <description />`,
|
48
|
-
` <packaging>jar</packaging>`,
|
49
|
-
` <properties>`,
|
50
|
-
` <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>`,
|
51
|
-
` </properties>`,
|
52
|
-
` <build>`,
|
53
|
-
` <plugins>`,
|
54
|
-
` <plugin>`,
|
55
|
-
` <groupId>org.apache.maven.plugins</groupId>`,
|
56
|
-
` <artifactId>maven-shade-plugin</artifactId>`,
|
57
|
-
` <version>3.5.1</version>`,
|
58
|
-
` <executions>`,
|
59
|
-
` <execution>`,
|
60
|
-
` <phase>package</phase>`,
|
61
|
-
` <goals>`,
|
62
|
-
` <goal>shade</goal>`,
|
63
|
-
` </goals>`,
|
64
|
-
` </execution>`,
|
65
|
-
` </executions>`,
|
66
|
-
` </plugin>`,
|
67
|
-
` </plugins>`,
|
68
|
-
` </build>`,
|
69
|
-
` <dependencies>`,
|
70
|
-
` <dependency>`,
|
71
|
-
` <groupId>io.phasetwo.keycloak</groupId>`,
|
72
|
-
` <artifactId>keycloak-account-v1</artifactId>`,
|
73
|
-
` <version>0.1</version>`,
|
74
|
-
` </dependency>`,
|
75
|
-
` </dependencies>`,
|
76
|
-
`</project>`
|
77
|
-
].join("\n");
|
78
|
-
|
79
|
-
return { pomFileCode };
|
80
|
-
})();
|
81
|
-
|
82
|
-
fs.writeFileSync(pathJoin(buildOptions.keycloakifyBuildDirPath, "pom.xml"), Buffer.from(pomFileCode, "utf8"));
|
83
|
-
}
|
84
|
-
|
85
|
-
if (implementedThemeTypes.account) {
|
86
|
-
await bringInAccountV1({ buildOptions });
|
87
|
-
}
|
88
|
-
|
89
|
-
{
|
90
|
-
const themeManifestFilePath = pathJoin(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "META-INF", "keycloak-themes.json");
|
91
|
-
|
92
|
-
try {
|
93
|
-
fs.mkdirSync(pathDirname(themeManifestFilePath));
|
94
|
-
} catch {}
|
95
|
-
|
96
|
-
fs.writeFileSync(
|
97
|
-
themeManifestFilePath,
|
98
|
-
Buffer.from(
|
99
|
-
JSON.stringify(
|
100
|
-
{
|
101
|
-
"themes": [
|
102
|
-
...(!implementedThemeTypes.account
|
103
|
-
? []
|
104
|
-
: [
|
105
|
-
{
|
106
|
-
"name": accountV1,
|
107
|
-
"types": ["account"]
|
108
|
-
}
|
109
|
-
]),
|
110
|
-
...buildOptions.themeNames
|
111
|
-
.map(themeName => [
|
112
|
-
{
|
113
|
-
"name": themeName,
|
114
|
-
"types": Object.entries(implementedThemeTypes)
|
115
|
-
.filter(([, isImplemented]) => isImplemented)
|
116
|
-
.map(([themeType]) => themeType)
|
117
|
-
},
|
118
|
-
...(!implementedThemeTypes.account || !buildOptions.doBuildRetrocompatAccountTheme
|
119
|
-
? []
|
120
|
-
: [
|
121
|
-
{
|
122
|
-
"name": `${themeName}${retrocompatPostfix}`,
|
123
|
-
"types": ["account"]
|
124
|
-
}
|
125
|
-
])
|
126
|
-
])
|
127
|
-
.flat()
|
128
|
-
]
|
129
|
-
},
|
130
|
-
null,
|
131
|
-
2
|
132
|
-
),
|
133
|
-
"utf8"
|
134
|
-
)
|
135
|
-
);
|
136
|
-
}
|
137
|
-
|
138
|
-
return {
|
139
|
-
"jarFilePath": pathJoin(buildOptions.keycloakifyBuildDirPath, "target", `${buildOptions.artifactId}-${buildOptions.themeVersion}.jar`)
|
140
|
-
};
|
141
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export * from "./generateJavaStackFiles";
|