keycloakify 7.6.3 → 7.6.4

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.
Files changed (39) hide show
  1. package/account/kcContext/KcContext.d.ts +1 -0
  2. package/account/kcContext/KcContext.js.map +1 -1
  3. package/account/kcContext/kcContextMocks.js +1 -0
  4. package/account/kcContext/kcContextMocks.js.map +1 -1
  5. package/bin/eject-keycloak-page.js +6 -6
  6. package/bin/eject-keycloak-page.js.map +1 -1
  7. package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +2 -2
  8. package/bin/keycloakify/generateFtl/generateFtl.d.ts +1 -0
  9. package/bin/keycloakify/generateFtl/generateFtl.js +4 -5
  10. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  11. package/bin/keycloakify/generateKeycloakThemeResources.d.ts +1 -0
  12. package/bin/keycloakify/generateKeycloakThemeResources.js +4 -3
  13. package/bin/keycloakify/generateKeycloakThemeResources.js.map +1 -1
  14. package/bin/keycloakify/keycloakify.js +7 -1
  15. package/bin/keycloakify/keycloakify.js.map +1 -1
  16. package/bin/tools/jar.d.ts +19 -3
  17. package/bin/tools/jar.js +151 -58
  18. package/bin/tools/jar.js.map +1 -1
  19. package/bin/tools/walk.d.ts +1 -1
  20. package/login/kcContext/KcContext.d.ts +1 -0
  21. package/login/kcContext/KcContext.js.map +1 -1
  22. package/login/kcContext/kcContextMocks.js +1 -0
  23. package/login/kcContext/kcContextMocks.js.map +1 -1
  24. package/package.json +3 -5
  25. package/src/account/kcContext/KcContext.ts +1 -0
  26. package/src/account/kcContext/kcContextMocks.ts +1 -0
  27. package/src/bin/eject-keycloak-page.ts +2 -4
  28. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +2 -2
  29. package/src/bin/keycloakify/generateFtl/generateFtl.ts +4 -3
  30. package/src/bin/keycloakify/generateKeycloakThemeResources.ts +4 -2
  31. package/src/bin/keycloakify/keycloakify.ts +9 -1
  32. package/src/bin/tools/jar.ts +58 -65
  33. package/src/bin/tools/walk.ts +1 -1
  34. package/src/login/kcContext/KcContext.ts +1 -0
  35. package/src/login/kcContext/kcContextMocks.ts +1 -0
  36. package/bin/tools/zip.d.ts +0 -29
  37. package/bin/tools/zip.js +0 -330
  38. package/bin/tools/zip.js.map +0 -1
  39. package/src/bin/tools/zip.ts +0 -246
@@ -1 +1 @@
1
- {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.6.3",
3
+ "version": "7.6.4",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -108,7 +108,6 @@
108
108
  "src/bin/tools/trimIndent.ts",
109
109
  "src/bin/tools/unzip.ts",
110
110
  "src/bin/tools/walk.ts",
111
- "src/bin/tools/zip.ts",
112
111
  "src/bin/tsconfig.json",
113
112
  "src/index.ts",
114
113
  "src/lib/keycloakJsAdapter.ts",
@@ -434,9 +433,6 @@
434
433
  "bin/tools/walk.d.ts",
435
434
  "bin/tools/walk.js",
436
435
  "bin/tools/walk.js.map",
437
- "bin/tools/zip.d.ts",
438
- "bin/tools/zip.js",
439
- "bin/tools/zip.js.map",
440
436
  "index.d.ts",
441
437
  "index.js",
442
438
  "index.js.map",
@@ -721,6 +717,7 @@
721
717
  },
722
718
  "dependencies": {
723
719
  "@octokit/rest": "^18.12.0",
720
+ "@types/yazl": "^2.4.2",
724
721
  "cheerio": "^1.0.0-rc.5",
725
722
  "cli-select": "^1.1.2",
726
723
  "evt": "^2.4.18",
@@ -732,6 +729,7 @@
732
729
  "rfc4648": "^1.5.2",
733
730
  "tsafe": "^1.6.0",
734
731
  "yauzl": "^2.10.0",
732
+ "yazl": "^2.5.1",
735
733
  "zod": "^3.17.10"
736
734
  }
737
735
  }
@@ -6,6 +6,7 @@ export type KcContext = KcContext.Password | KcContext.Account;
6
6
 
7
7
  export declare namespace KcContext {
8
8
  export type Common = {
9
+ keycloakifyVersion: string;
9
10
  locale?: {
10
11
  supported: {
11
12
  url: string;
@@ -7,6 +7,7 @@ import type { KcContext } from "./KcContext";
7
7
  const PUBLIC_URL = process.env["PUBLIC_URL"] ?? "/";
8
8
 
9
9
  export const kcContextCommonMock: KcContext.Common = {
10
+ "keycloakifyVersion": "0.0.0",
10
11
  "url": {
11
12
  "resourcesPath": pathJoin(PUBLIC_URL, mockTestingResourcesPath),
12
13
  "resourcesCommonPath": pathJoin(PUBLIC_URL, mockTestingResourcesCommonPath),
@@ -19,8 +19,6 @@ import { assert, Equals } from "tsafe/assert";
19
19
  import { getThemeSrcDirPath } from "./getSrcDirPath";
20
20
 
21
21
  (async () => {
22
- const projectDirPath = getProjectRoot();
23
-
24
22
  console.log("Select a theme type");
25
23
 
26
24
  const { value: themeType } = await cliSelect<ThemeType>({
@@ -51,7 +49,7 @@ import { getThemeSrcDirPath } from "./getSrcDirPath";
51
49
 
52
50
  const pageBasename = capitalize(kebabCaseToCamelCase(pageId)).replace(/ftl$/, "tsx");
53
51
 
54
- const { themeSrcDirPath } = getThemeSrcDirPath({ "projectDirPath": projectDirPath });
52
+ const { themeSrcDirPath } = getThemeSrcDirPath({ "projectDirPath": process.cwd() });
55
53
 
56
54
  if (themeSrcDirPath === undefined) {
57
55
  throw new Error("Couldn't locate your theme sources");
@@ -65,7 +63,7 @@ import { getThemeSrcDirPath } from "./getSrcDirPath";
65
63
  process.exit(-1);
66
64
  }
67
65
 
68
- writeFile(targetFilePath, await readFile(pathJoin(projectDirPath, "src", themeType, "pages", pageBasename)));
66
+ await writeFile(targetFilePath, await readFile(pathJoin(getProjectRoot(), "src", themeType, "pages", pageBasename)));
69
67
 
70
68
  console.log(`${pathRelative(process.cwd(), targetFilePath)} created`);
71
69
  })();
@@ -1,5 +1,4 @@
1
1
  <script>const _=
2
- <#assign pageId="PAGE_ID_xIgLsPgGId9D8e">
3
2
  (()=>{
4
3
 
5
4
  const out = ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
@@ -119,7 +118,8 @@
119
118
  };
120
119
  </#if>
121
120
 
122
- out["pageId"] = "${pageId}";
121
+ out["pageId"] = "PAGE_ID_xIgLsPgGId9D8e";
122
+ out["keycloakifyVersion"] = "KEYCLOAKIFY_VERSION_xEdKd3xEdr";
123
123
 
124
124
  return out;
125
125
 
@@ -53,8 +53,9 @@ export function generateFtlFilesCodeFactory(params: {
53
53
  //NOTE: Expected to be an empty object if external assets mode is enabled.
54
54
  cssGlobalsToDefine: Record<string, string>;
55
55
  buildOptions: BuildOptionsLike;
56
+ keycloakifyVersion: string;
56
57
  }) {
57
- const { cssGlobalsToDefine, indexHtmlCode, buildOptions } = params;
58
+ const { cssGlobalsToDefine, indexHtmlCode, buildOptions, keycloakifyVersion } = params;
58
59
 
59
60
  const $ = cheerio.load(indexHtmlCode);
60
61
 
@@ -128,7 +129,8 @@ export function generateFtlFilesCodeFactory(params: {
128
129
  .replace(
129
130
  "CUSTOM_USER_ATTRIBUTES_eKsIY4ZsZ4xeM",
130
131
  buildOptions.customUserAttributes.length === 0 ? "" : ", " + buildOptions.customUserAttributes.map(name => `"${name}"`).join(", ")
131
- ),
132
+ )
133
+ .replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion),
132
134
  "<!-- xIdLqMeOedErIdLsPdNdI9dSlxI -->": [
133
135
  "<#if scripts??>",
134
136
  " <#list scripts as script>",
@@ -161,7 +163,6 @@ export function generateFtlFilesCodeFactory(params: {
161
163
 
162
164
  Object.entries({
163
165
  ...replaceValueBySearchValue,
164
- //If updated, don't forget to change in the ftl script as well.
165
166
  "PAGE_ID_xIgLsPgGId9D8e": pageId
166
167
  }).map(([searchValue, replaceValue]) => (ftlCode = ftlCode.replace(searchValue, replaceValue)));
167
168
 
@@ -54,8 +54,9 @@ export async function generateKeycloakThemeResources(params: {
54
54
  emailThemeSrcDirPath: string | undefined;
55
55
  keycloakVersion: string;
56
56
  buildOptions: BuildOptionsLike;
57
+ keycloakifyVersion: string;
57
58
  }): Promise<{ doBundlesEmailTemplate: boolean }> {
58
- const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions } = params;
59
+ const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions, keycloakifyVersion } = params;
59
60
 
60
61
  const getThemeDirPath = (themeType: ThemeType | "email") =>
61
62
  pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
@@ -138,7 +139,8 @@ export async function generateKeycloakThemeResources(params: {
138
139
  const { generateFtlFilesCode } = generateFtlFilesCodeFactory({
139
140
  "indexHtmlCode": fs.readFileSync(pathJoin(reactAppBuildDirPath, "index.html")).toString("utf8"),
140
141
  "cssGlobalsToDefine": allCssGlobalsToDefine,
141
- buildOptions
142
+ buildOptions,
143
+ keycloakifyVersion
142
144
  });
143
145
 
144
146
  return generateFtlFilesCode;
@@ -11,6 +11,7 @@ import jar from "../tools/jar";
11
11
  import { assert } from "tsafe/assert";
12
12
  import { Equals } from "tsafe";
13
13
  import { getEmailThemeSrcDirPath } from "../getSrcDirPath";
14
+ import { getProjectRoot } from "../tools/getProjectRoot";
14
15
 
15
16
  export async function main() {
16
17
  const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));
@@ -38,7 +39,14 @@ export async function main() {
38
39
  })(),
39
40
  "reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
40
41
  buildOptions,
41
- "keycloakVersion": buildOptions.keycloakVersionDefaultAssets
42
+ "keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
43
+ "keycloakifyVersion": (() => {
44
+ const version = JSON.parse(fs.readFileSync(pathJoin(getProjectRoot(), "package.json")).toString("utf8"))["version"];
45
+
46
+ assert(typeof version === "string");
47
+
48
+ return version;
49
+ })()
42
50
  });
43
51
 
44
52
  const { jarFilePath } = generateJavaStackFiles({
@@ -1,94 +1,87 @@
1
- import { Readable, Transform } from "stream";
2
1
  import { dirname, relative, sep } from "path";
3
2
  import { createWriteStream } from "fs";
4
3
 
5
4
  import walk from "./walk";
6
- import zip, { type ZipSource } from "./zip";
5
+ import { ZipFile } from "yazl";
7
6
  import { mkdir } from "fs/promises";
8
7
  import trimIndent from "./trimIndent";
9
8
 
10
- type JarArgs = {
11
- rootPath: string;
12
- targetPath: string;
9
+ export type ZipEntry = { zipPath: string } & ({ fsPath: string } | { buffer: Buffer });
10
+ export type ZipEntryGenerator = AsyncGenerator<ZipEntry, void, unknown>;
11
+
12
+ type CommonJarArgs = {
13
13
  groupId: string;
14
14
  artifactId: string;
15
15
  version: string;
16
16
  };
17
17
 
18
- /**
19
- * Create a jar archive, using the resources found at `rootPath` (a directory) and write the
20
- * archive to `targetPath` (a file). Use `groupId`, `artifactId` and `version` to define
21
- * the contents of the pom.properties file which is going to be added to the archive.
22
- */
23
- export default async function jar({ groupId, artifactId, version, rootPath, targetPath }: JarArgs) {
24
- const manifest: ZipSource = {
25
- path: "META-INF/MANIFEST.MF",
26
- data: Buffer.from(trimIndent`
18
+ export type JarStreamArgs = CommonJarArgs & {
19
+ asyncPathGeneratorFn(): ZipEntryGenerator;
20
+ };
21
+
22
+ export type JarArgs = CommonJarArgs & {
23
+ targetPath: string;
24
+ rootPath: string;
25
+ };
26
+
27
+ export async function jarStream({ groupId, artifactId, version, asyncPathGeneratorFn }: JarStreamArgs) {
28
+ const manifestPath = "META-INF/MANIFEST.MF";
29
+ const manifestData = Buffer.from(trimIndent`
27
30
  Manifest-Version: 1.0
28
31
  Archiver-Version: Plexus Archiver
29
32
  Created-By: Keycloakify
30
33
  Built-By: unknown
31
34
  Build-Jdk: 19.0.0
32
- `)
33
- };
35
+ `);
34
36
 
35
- const pomProps: ZipSource = {
36
- path: `META-INF/maven/${groupId}/${artifactId}/pom.properties`,
37
- data: Buffer.from(trimIndent`# Generated by keycloakify
38
- # ${new Date().toString()}
37
+ const pomPropsPath = `META-INF/maven/${groupId}/${artifactId}/pom.properties`;
38
+ const pomPropsData = Buffer.from(trimIndent`
39
+ # Generated by keycloakify
40
+ # ${new Date()}
39
41
  artifactId=${artifactId}
40
42
  groupId=${groupId}
41
43
  version=${version}
42
- `)
43
- };
44
+ `);
44
45
 
45
- /**
46
- * Convert every path entry to a ZipSource record, and when all records are
47
- * processed, append records for MANIFEST.mf and pom.properties
48
- */
49
- const pathToRecord = () =>
50
- new Transform({
51
- objectMode: true,
52
- transform: function (fsPath, _, cb) {
53
- const path = relative(rootPath, fsPath).split(sep).join("/");
54
- this.push({ path, fsPath });
55
- cb();
56
- },
57
- final: function () {
58
- this.push(manifest);
59
- this.push(pomProps);
60
- this.push(null);
61
- }
62
- });
46
+ const zipFile = new ZipFile();
63
47
 
64
- await mkdir(dirname(targetPath), { recursive: true });
48
+ for await (const entry of asyncPathGeneratorFn()) {
49
+ if ("buffer" in entry) {
50
+ zipFile.addBuffer(entry.buffer, entry.zipPath);
51
+ } else if ("fsPath" in entry && entry.fsPath.endsWith(sep)) {
52
+ zipFile.addFile(entry.fsPath, entry.zipPath);
53
+ }
54
+ }
65
55
 
66
- // Create an async pipeline, wait until everything is fully processed
67
- await new Promise<void>((resolve, reject) => {
68
- // walk all files in `rootPath` recursively
69
- Readable.from(walk(rootPath))
70
- // transform every path into a ZipSource object
71
- .pipe(pathToRecord())
72
- // let the zip lib convert all ZipSource objects into a byte stream
73
- .pipe(zip())
74
- // write that byte stream to targetPath
75
- .pipe(createWriteStream(targetPath, { encoding: "binary" }))
76
- .on("finish", () => resolve())
77
- .on("error", e => reject(e));
78
- });
56
+ zipFile.addBuffer(manifestData, manifestPath);
57
+ zipFile.addBuffer(pomPropsData, pomPropsPath);
58
+
59
+ zipFile.end();
60
+
61
+ return zipFile;
79
62
  }
80
63
 
81
64
  /**
82
- * Standalone usage, call e.g. `ts-node jar.ts dirWithSources some-jar.jar`
65
+ * Create a jar archive, using the resources found at `rootPath` (a directory) and write the
66
+ * archive to `targetPath` (a file). Use `groupId`, `artifactId` and `version` to define
67
+ * the contents of the pom.properties file which is going to be added to the archive.
83
68
  */
84
- if (require.main === module) {
85
- const main = () =>
86
- jar({
87
- rootPath: process.argv[2],
88
- targetPath: process.argv[3],
89
- artifactId: process.env.ARTIFACT_ID ?? "artifact",
90
- groupId: process.env.GROUP_ID ?? "group",
91
- version: process.env.VERSION ?? "1.0.0"
92
- });
93
- main();
69
+ export default async function jar({ groupId, artifactId, version, rootPath, targetPath }: JarArgs) {
70
+ await mkdir(dirname(targetPath), { recursive: true });
71
+
72
+ const asyncPathGeneratorFn = async function* (): ZipEntryGenerator {
73
+ for await (const fsPath of walk(rootPath)) {
74
+ const zipPath = relative(rootPath, fsPath).split(sep).join("/");
75
+ yield { fsPath, zipPath };
76
+ }
77
+ };
78
+
79
+ const zipFile = await jarStream({ groupId, artifactId, version, asyncPathGeneratorFn });
80
+
81
+ await new Promise<void>(async (resolve, reject) => {
82
+ zipFile.outputStream
83
+ .pipe(createWriteStream(targetPath, { encoding: "binary" }))
84
+ .on("close", () => resolve())
85
+ .on("error", e => reject(e));
86
+ });
94
87
  }
@@ -8,7 +8,7 @@ import { resolve } from "path";
8
8
  * @param root the starting directory
9
9
  * @returns AsyncGenerator
10
10
  */
11
- export default async function* walk(root: string): AsyncGenerator<string, void, void> {
11
+ export default async function* walk(root: string): AsyncGenerator<string, void, unknown> {
12
12
  for (const entry of await readdir(root, { withFileTypes: true })) {
13
13
  const absolutePath = resolve(root, entry.name);
14
14
  if (entry.isDirectory()) {
@@ -36,6 +36,7 @@ export type KcContext =
36
36
 
37
37
  export declare namespace KcContext {
38
38
  export type Common = {
39
+ keycloakifyVersion: string;
39
40
  url: {
40
41
  loginAction: string;
41
42
  resourcesPath: string;
@@ -101,6 +101,7 @@ const attributes: Attribute[] = [
101
101
  const attributesByName = Object.fromEntries(attributes.map(attribute => [attribute.name, attribute])) as any;
102
102
 
103
103
  export const kcContextCommonMock: KcContext.Common = {
104
+ "keycloakifyVersion": "0.0.0",
104
105
  "url": {
105
106
  "loginAction": "#",
106
107
  "resourcesPath": pathJoin(PUBLIC_URL, mockTestingResourcesPath),
@@ -1,29 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Transform } from "stream";
4
- /**
5
- * Zip source
6
- * @property filename the name of the entry in the archie
7
- * @property path of the source file, if the source is an actual file
8
- * @property data the actual data buffer, if the source is constructed in-memory
9
- */
10
- export type ZipSource = {
11
- path: string;
12
- } & ({
13
- fsPath: string;
14
- } | {
15
- data: Buffer;
16
- });
17
- export type ZipRecord = {
18
- path: string;
19
- compression: "deflate" | undefined;
20
- uncompressedSize: number;
21
- compressedSize?: number;
22
- crc32?: number;
23
- offset?: number;
24
- };
25
- /**
26
- * @returns a stream Transform, which reads a stream of ZipRecords and
27
- * writes a bytestream
28
- */
29
- export default function zip(): Transform;