keycloakify 7.6.9 → 7.7.2

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 (51) hide show
  1. package/README.md +8 -1
  2. package/account/kcContext/createGetKcContext.d.ts +1 -1
  3. package/account/kcContext/createGetKcContext.js +3 -3
  4. package/account/kcContext/createGetKcContext.js.map +1 -1
  5. package/account/kcContext/getKcContext.d.ts +3 -1
  6. package/account/kcContext/getKcContext.js +3 -1
  7. package/account/kcContext/getKcContext.js.map +1 -1
  8. package/bin/keycloakify/BuildOptions.d.ts +1 -0
  9. package/bin/keycloakify/BuildOptions.js +3 -2
  10. package/bin/keycloakify/BuildOptions.js.map +1 -1
  11. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +7 -0
  12. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +100 -0
  13. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -0
  14. package/bin/keycloakify/{generateKeycloakThemeResources.d.ts → generateTheme/generateTheme.d.ts} +2 -2
  15. package/bin/keycloakify/{generateKeycloakThemeResources.js → generateTheme/generateTheme.js} +39 -37
  16. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -0
  17. package/bin/keycloakify/generateTheme/index.d.ts +1 -0
  18. package/bin/keycloakify/generateTheme/index.js +18 -0
  19. package/bin/keycloakify/generateTheme/index.js.map +1 -0
  20. package/bin/keycloakify/keycloakify.js +2 -3
  21. package/bin/keycloakify/keycloakify.js.map +1 -1
  22. package/bin/tools/grant-exec-perms.js +2 -1
  23. package/bin/tools/grant-exec-perms.js.map +1 -1
  24. package/bin/tools/walk.js +1 -1
  25. package/lib/usePrepareTemplate.js +27 -15
  26. package/lib/usePrepareTemplate.js.map +1 -1
  27. package/login/kcContext/createGetKcContext.d.ts +1 -1
  28. package/login/kcContext/createGetKcContext.js +3 -3
  29. package/login/kcContext/createGetKcContext.js.map +1 -1
  30. package/login/kcContext/getKcContext.d.ts +3 -1
  31. package/login/kcContext/getKcContext.js +3 -1
  32. package/login/kcContext/getKcContext.js.map +1 -1
  33. package/login/pages/LoginOtp.js +8 -4
  34. package/login/pages/LoginOtp.js.map +1 -1
  35. package/package.json +15 -7
  36. package/src/account/kcContext/createGetKcContext.ts +4 -4
  37. package/src/account/kcContext/getKcContext.ts +3 -1
  38. package/src/bin/keycloakify/BuildOptions.ts +3 -1
  39. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +38 -0
  40. package/src/bin/keycloakify/{generateKeycloakThemeResources.ts → generateTheme/generateTheme.ts} +27 -41
  41. package/src/bin/keycloakify/generateTheme/index.ts +1 -0
  42. package/src/bin/keycloakify/keycloakify.ts +2 -3
  43. package/src/lib/usePrepareTemplate.ts +29 -16
  44. package/src/login/kcContext/createGetKcContext.ts +4 -4
  45. package/src/login/kcContext/getKcContext.ts +3 -1
  46. package/src/login/pages/LoginOtp.tsx +11 -4
  47. package/src/tools/headInsert.ts +5 -2
  48. package/tools/headInsert.d.ts +4 -1
  49. package/tools/headInsert.js +4 -1
  50. package/tools/headInsert.js.map +1 -1
  51. package/bin/keycloakify/generateKeycloakThemeResources.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,UAAU,kBAAkB,CAAC,MAWlC;IACG,MAAM,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAElH,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAC;IAElF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,4BAA4B,EAAE;YAC/B,OAAO;SACV;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,OAAO,CAAC,GAAG,CACP;YACI,GAAG,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;YAC5F,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SACnF;aACI,OAAO,EAAE;aACT,GAAG,CAAC,IAAI,CAAC,EAAE,CACR,UAAU,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI;YACJ,UAAU,EAAE,SAAS;SACxB,CAAC,CACL,CACR,CAAC,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,WAAW,EAAE;gBACb,OAAO;aACV;YAED,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CACnC,UAAU,CAAC;YACP,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC;SACnD,CAAC,CACL,CAAC;QAEF,OAAO,GAAG,EAAE;YACR,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC;QACZ,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,aAAa;KAC7B,CAAC,CAAC;IAEH,eAAe,CAAC;QACZ,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,aAAa;KAC7B,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,MAAkE;IACvF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,OAAO;SACV;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare function createGetKcContext<KcContextExtension extends {
7
7
  }): {
8
8
  getKcContext: <PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
9
9
  mockPageId?: PageId | undefined;
10
- storyParams?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, {
10
+ storyPartialKcContext?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, {
11
11
  pageId: PageId;
12
12
  }>> | undefined;
13
13
  } | undefined) => {
@@ -13,7 +13,7 @@ export function createGetKcContext(params) {
13
13
  const { mockData } = params !== null && params !== void 0 ? params : {};
14
14
  function getKcContext(params) {
15
15
  var _a, _b;
16
- const { mockPageId, storyParams } = params !== null && params !== void 0 ? params : {};
16
+ const { mockPageId, storyPartialKcContext } = params !== null && params !== void 0 ? params : {};
17
17
  const realKcContext = getKcContextFromWindow();
18
18
  if (mockPageId !== undefined && realKcContext === undefined) {
19
19
  //TODO maybe trow if no mock fo custom page
@@ -31,10 +31,10 @@ export function createGetKcContext(params) {
31
31
  "source": mockDataPick
32
32
  });
33
33
  }
34
- if (storyParams !== undefined) {
34
+ if (storyPartialKcContext !== undefined) {
35
35
  deepAssign({
36
36
  "target": out,
37
- "source": storyParams
37
+ "source": storyPartialKcContext
38
38
  });
39
39
  }
40
40
  return Object.keys(out).length === 0 ? undefined : out;
@@ -1 +1 @@
1
- {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { DeepPartial } from "../../tools/DeepPartial";
2
2
  import type { ExtendKcContext } from "./getKcContextFromWindow";
3
- /** @deprecated: Use createGetKcContext instead */
3
+ /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
4
+ * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
5
+ */
4
6
  export declare function getKcContext<KcContextExtension extends {
5
7
  pageId: string;
6
8
  } = never>(params?: {
@@ -1,5 +1,7 @@
1
1
  import { createGetKcContext } from "./createGetKcContext";
2
- /** @deprecated: Use createGetKcContext instead */
2
+ /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
3
+ * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
4
+ */
3
5
  export function getKcContext(params) {
4
6
  const { mockPageId, mockData } = params !== null && params !== void 0 ? params : {};
5
7
  const { getKcContext } = createGetKcContext({
@@ -1 +1 @@
1
- {"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/getKcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,kDAAkD;AAClD,MAAM,UAAU,YAAY,CAAwD,MAGnF;IACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAE9C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAqB;QAC5D,QAAQ;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/getKcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,YAAY,CAAwD,MAGnF;IACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAE9C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAqB;QAC5D,QAAQ;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC"}
@@ -14,16 +14,20 @@ export default function LoginOtp(props) {
14
14
  const { msg, msgStr } = i18n;
15
15
  useEffect(() => {
16
16
  let isCleanedUp = false;
17
- headInsert({
17
+ const { prLoaded, remove } = headInsert({
18
18
  "type": "javascript",
19
19
  "src": pathJoin(kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js")
20
- }).then(() => {
21
- if (isCleanedUp)
20
+ });
21
+ (async () => {
22
+ await prLoaded;
23
+ if (isCleanedUp) {
22
24
  return;
25
+ }
23
26
  evaluateInlineScript();
24
- });
27
+ })();
25
28
  return () => {
26
29
  isCleanedUp = true;
30
+ remove();
27
31
  };
28
32
  }, []);
29
33
  return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map(otpCredential => (_jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListClass") }, { children: [_jsx("input", { type: "hidden", value: "${otpCredential.id}" }), _jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListItemClass") }, { children: [_jsx("span", { className: getClassName("kcAuthenticatorOtpCircleClass") }), _jsx("h2", Object.assign({ className: getClassName("kcSelectOTPItemHeadingClass") }, { children: otpCredential.userLabel }))] }))] }), otpCredential.id))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) })));
@@ -1 +1 @@
1
- {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.6.9",
3
+ "version": "7.7.2",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -78,8 +78,10 @@
78
78
  "src/bin/keycloakify/generateFtl/index.ts",
79
79
  "src/bin/keycloakify/generateFtl/pageId.ts",
80
80
  "src/bin/keycloakify/generateJavaStackFiles.ts",
81
- "src/bin/keycloakify/generateKeycloakThemeResources.ts",
82
81
  "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
82
+ "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
83
+ "src/bin/keycloakify/generateTheme/generateTheme.ts",
84
+ "src/bin/keycloakify/generateTheme/index.ts",
83
85
  "src/bin/keycloakify/index.ts",
84
86
  "src/bin/keycloakify/keycloakify.ts",
85
87
  "src/bin/keycloakify/parsedPackageJson.ts",
@@ -345,12 +347,18 @@
345
347
  "bin/keycloakify/generateJavaStackFiles.d.ts",
346
348
  "bin/keycloakify/generateJavaStackFiles.js",
347
349
  "bin/keycloakify/generateJavaStackFiles.js.map",
348
- "bin/keycloakify/generateKeycloakThemeResources.d.ts",
349
- "bin/keycloakify/generateKeycloakThemeResources.js",
350
- "bin/keycloakify/generateKeycloakThemeResources.js.map",
351
350
  "bin/keycloakify/generateStartKeycloakTestingContainer.d.ts",
352
351
  "bin/keycloakify/generateStartKeycloakTestingContainer.js",
353
352
  "bin/keycloakify/generateStartKeycloakTestingContainer.js.map",
353
+ "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts",
354
+ "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js",
355
+ "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map",
356
+ "bin/keycloakify/generateTheme/generateTheme.d.ts",
357
+ "bin/keycloakify/generateTheme/generateTheme.js",
358
+ "bin/keycloakify/generateTheme/generateTheme.js.map",
359
+ "bin/keycloakify/generateTheme/index.d.ts",
360
+ "bin/keycloakify/generateTheme/index.js",
361
+ "bin/keycloakify/generateTheme/index.js.map",
354
362
  "bin/keycloakify/index.d.ts",
355
363
  "bin/keycloakify/index.js",
356
364
  "bin/keycloakify/index.js.map",
@@ -719,7 +727,7 @@
719
727
  "@types/react": "^18.0.35",
720
728
  "@types/react-dom": "^18.0.11",
721
729
  "@types/yauzl": "^2.10.0",
722
- "concurrently": "^7.6.0",
730
+ "concurrently": "^8.0.1",
723
731
  "copyfiles": "^2.4.1",
724
732
  "eslint-plugin-storybook": "^0.6.7",
725
733
  "husky": "^4.3.8",
@@ -733,7 +741,7 @@
733
741
  "storybook-dark-mode": "^1.1.2",
734
742
  "ts-node": "^10.9.1",
735
743
  "tsc-alias": "^1.8.3",
736
- "typescript": "^5.0.4",
744
+ "typescript": "^4.9.1-beta",
737
745
  "vitest": "^0.29.8",
738
746
  "zod-to-json-schema": "^3.20.4"
739
747
  },
@@ -17,13 +17,13 @@ export function createGetKcContext<KcContextExtension extends { pageId: string }
17
17
 
18
18
  function getKcContext<PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
19
19
  mockPageId?: PageId;
20
- storyParams?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>>;
20
+ storyPartialKcContext?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>>;
21
21
  }): {
22
22
  kcContext: PageId extends undefined
23
23
  ? ExtendKcContext<KcContextExtension> | undefined
24
24
  : Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>;
25
25
  } {
26
- const { mockPageId, storyParams } = params ?? {};
26
+ const { mockPageId, storyPartialKcContext } = params ?? {};
27
27
 
28
28
  const realKcContext = getKcContextFromWindow<KcContextExtension>();
29
29
 
@@ -52,10 +52,10 @@ export function createGetKcContext<KcContextExtension extends { pageId: string }
52
52
  });
53
53
  }
54
54
 
55
- if (storyParams !== undefined) {
55
+ if (storyPartialKcContext !== undefined) {
56
56
  deepAssign({
57
57
  "target": out,
58
- "source": storyParams
58
+ "source": storyPartialKcContext
59
59
  });
60
60
  }
61
61
 
@@ -2,7 +2,9 @@ import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2
2
  import type { ExtendKcContext } from "./getKcContextFromWindow";
3
3
  import { createGetKcContext } from "./createGetKcContext";
4
4
 
5
- /** @deprecated: Use createGetKcContext instead */
5
+ /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
6
+ * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
7
+ */
6
8
  export function getKcContext<KcContextExtension extends { pageId: string } = never>(params?: {
7
9
  mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
8
10
  mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
@@ -53,6 +53,8 @@ export namespace BuildOptions {
53
53
  }
54
54
  }
55
55
 
56
+ export const defaultKeycloakVersionDefaultAssets = "11.0.3";
57
+
56
58
  export function readBuildOptions(params: { projectDirPath: string; isExternalAssetsCliParamProvided: boolean; isSilent: boolean }): BuildOptions {
57
59
  const { projectDirPath, isExternalAssetsCliParamProvided, isSilent } = params;
58
60
 
@@ -144,7 +146,7 @@ export function readBuildOptions(params: { projectDirPath: string; isExternalAss
144
146
  extraAccountPages,
145
147
  extraThemeProperties,
146
148
  isSilent,
147
- "keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ?? "11.0.3",
149
+ "keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ?? defaultKeycloakVersionDefaultAssets,
148
150
  "reactAppBuildDirPath": (() => {
149
151
  let { reactAppBuildDirPath = undefined } = parsedPackageJson.keycloakify ?? {};
150
152
 
@@ -0,0 +1,38 @@
1
+ import { transformCodebase } from "../../tools/transformCodebase";
2
+ import * as fs from "fs";
3
+ import { join as pathJoin, relative as pathRelative } from "path";
4
+ import type { ThemeType } from "../generateFtl";
5
+ import { downloadBuiltinKeycloakTheme } from "../../download-builtin-keycloak-theme";
6
+ import { mockTestingResourcesCommonPath, mockTestingResourcesPath, mockTestingSubDirOfPublicDirBasename } from "../../mockTestingResourcesPath";
7
+
8
+ export async function downloadKeycloakStaticResources(
9
+ // prettier-ignore
10
+ params: {
11
+ themeType: ThemeType;
12
+ themeDirPath: string;
13
+ isSilent: boolean;
14
+ keycloakVersion: string;
15
+ }
16
+ ) {
17
+ const { themeType, isSilent, themeDirPath, keycloakVersion } = params;
18
+
19
+ const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_suLeKsxId");
20
+
21
+ await downloadBuiltinKeycloakTheme({
22
+ keycloakVersion,
23
+ "destDirPath": tmpDirPath,
24
+ isSilent
25
+ });
26
+
27
+ transformCodebase({
28
+ "srcDirPath": pathJoin(tmpDirPath, "keycloak", themeType, "resources"),
29
+ "destDirPath": pathJoin(themeDirPath, pathRelative(mockTestingSubDirOfPublicDirBasename, mockTestingResourcesPath))
30
+ });
31
+
32
+ transformCodebase({
33
+ "srcDirPath": pathJoin(tmpDirPath, "keycloak", "common", "resources"),
34
+ "destDirPath": pathJoin(themeDirPath, pathRelative(mockTestingSubDirOfPublicDirBasename, mockTestingResourcesCommonPath))
35
+ });
36
+
37
+ fs.rmSync(tmpDirPath, { "recursive": true, "force": true });
38
+ }
@@ -1,14 +1,14 @@
1
- import { transformCodebase } from "../tools/transformCodebase";
1
+ import { transformCodebase } from "../../tools/transformCodebase";
2
2
  import * as fs from "fs";
3
- import { join as pathJoin, basename as pathBasename } from "path";
4
- import { replaceImportsFromStaticInJsCode } from "./replacers/replaceImportsFromStaticInJsCode";
5
- import { replaceImportsInCssCode } from "./replacers/replaceImportsInCssCode";
6
- import { generateFtlFilesCodeFactory, loginThemePageIds, accountThemePageIds, themeTypes, type ThemeType } from "./generateFtl";
7
- import { downloadBuiltinKeycloakTheme } from "../download-builtin-keycloak-theme";
8
- import { mockTestingResourcesCommonPath, mockTestingResourcesPath, mockTestingSubDirOfPublicDirBasename } from "../mockTestingResourcesPath";
9
- import { isInside } from "../tools/isInside";
10
- import type { BuildOptions } from "./BuildOptions";
3
+ import { join as pathJoin } from "path";
4
+ import { replaceImportsFromStaticInJsCode } from "../replacers/replaceImportsFromStaticInJsCode";
5
+ import { replaceImportsInCssCode } from "../replacers/replaceImportsInCssCode";
6
+ import { generateFtlFilesCodeFactory, loginThemePageIds, accountThemePageIds, themeTypes, type ThemeType } from "../generateFtl";
7
+ import { mockTestingSubDirOfPublicDirBasename } from "../../mockTestingResourcesPath";
8
+ import { isInside } from "../../tools/isInside";
9
+ import type { BuildOptions } from "../BuildOptions";
11
10
  import { assert } from "tsafe/assert";
11
+ import { downloadKeycloakStaticResources } from "./downloadKeycloakStaticResources";
12
12
 
13
13
  export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
14
14
 
@@ -21,6 +21,7 @@ export namespace BuildOptionsLike {
21
21
  isSilent: boolean;
22
22
  customUserAttributes: string[];
23
23
  themeVersion: string;
24
+ keycloakVersionDefaultAssets: string;
24
25
  };
25
26
 
26
27
  export type Standalone = Common & {
@@ -49,15 +50,14 @@ export namespace BuildOptionsLike {
49
50
 
50
51
  assert<BuildOptions extends BuildOptionsLike ? true : false>();
51
52
 
52
- export async function generateKeycloakThemeResources(params: {
53
+ export async function generateTheme(params: {
53
54
  reactAppBuildDirPath: string;
54
55
  keycloakThemeBuildingDirPath: string;
55
56
  emailThemeSrcDirPath: string | undefined;
56
- keycloakVersion: string;
57
57
  buildOptions: BuildOptionsLike;
58
58
  keycloakifyVersion: string;
59
59
  }): Promise<{ doBundlesEmailTemplate: boolean }> {
60
- const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions, keycloakifyVersion } = params;
60
+ const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, buildOptions, keycloakifyVersion } = params;
61
61
 
62
62
  const getThemeDirPath = (themeType: ThemeType | "email") =>
63
63
  pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
@@ -172,47 +172,33 @@ export async function generateKeycloakThemeResources(params: {
172
172
  fs.writeFileSync(pathJoin(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
173
173
  });
174
174
 
175
- {
176
- const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_xxKdLpdIdLd");
177
-
178
- await downloadBuiltinKeycloakTheme({
179
- keycloakVersion,
180
- "destDirPath": tmpDirPath,
181
- isSilent: buildOptions.isSilent
182
- });
183
-
184
- const themeResourcesDirPath = pathJoin(themeDirPath, "resources");
185
-
186
- transformCodebase({
187
- "srcDirPath": pathJoin(tmpDirPath, "keycloak", themeType, "resources"),
188
- "destDirPath": themeResourcesDirPath
175
+ const downloadKeycloakStaticResources_configured = async (themeDirPath: string) =>
176
+ await downloadKeycloakStaticResources({
177
+ "isSilent": buildOptions.isSilent,
178
+ "keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
179
+ themeDirPath,
180
+ themeType
189
181
  });
190
182
 
191
- const reactAppPublicDirPath = pathJoin(reactAppBuildDirPath, "..", "public");
183
+ await downloadKeycloakStaticResources_configured(themeDirPath);
192
184
 
193
- transformCodebase({
194
- "srcDirPath": pathJoin(tmpDirPath, "keycloak", "common", "resources"),
195
- "destDirPath": pathJoin(themeResourcesDirPath, pathBasename(mockTestingResourcesCommonPath))
196
- });
197
-
198
- transformCodebase({
199
- "srcDirPath": themeResourcesDirPath,
200
- "destDirPath": pathJoin(reactAppPublicDirPath, mockTestingResourcesPath)
201
- });
185
+ {
186
+ const keycloakResourcesWithinPublicDirPath = pathJoin(reactAppBuildDirPath, "..", "public", mockTestingSubDirOfPublicDirBasename);
202
187
 
203
- const keycloakResourcesWithinPublicDirPath = pathJoin(reactAppPublicDirPath, mockTestingSubDirOfPublicDirBasename);
188
+ await downloadKeycloakStaticResources_configured(keycloakResourcesWithinPublicDirPath);
204
189
 
205
190
  fs.writeFileSync(
206
191
  pathJoin(keycloakResourcesWithinPublicDirPath, "README.txt"),
207
192
  Buffer.from(
208
- ["This is just a test folder that helps develop", "the login and register page without having to run a Keycloak container"].join(
209
- " "
210
- )
193
+ // prettier-ignore
194
+ [
195
+ "This is just a test folder that helps develop",
196
+ "the login and register page without having to run a Keycloak container"
197
+ ].join(" ")
211
198
  )
212
199
  );
213
200
 
214
201
  fs.writeFileSync(pathJoin(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));
215
- fs.rmSync(tmpDirPath, { recursive: true, force: true });
216
202
  }
217
203
 
218
204
  fs.writeFileSync(
@@ -0,0 +1 @@
1
+ export * from "./generateTheme";
@@ -1,4 +1,4 @@
1
- import { generateKeycloakThemeResources } from "./generateKeycloakThemeResources";
1
+ import { generateTheme } from "./generateTheme";
2
2
  import { generateJavaStackFiles } from "./generateJavaStackFiles";
3
3
  import { join as pathJoin, relative as pathRelative, basename as pathBasename, sep as pathSep } from "path";
4
4
  import * as child_process from "child_process";
@@ -26,7 +26,7 @@ export async function main() {
26
26
  "isSilent": isSilent
27
27
  });
28
28
 
29
- const { doBundlesEmailTemplate } = await generateKeycloakThemeResources({
29
+ const { doBundlesEmailTemplate } = await generateTheme({
30
30
  keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
31
31
  "emailThemeSrcDirPath": (() => {
32
32
  const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath({ projectDirPath });
@@ -39,7 +39,6 @@ export async function main() {
39
39
  })(),
40
40
  "reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
41
41
  buildOptions,
42
- "keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
43
42
  "keycloakifyVersion": (() => {
44
43
  const version = JSON.parse(fs.readFileSync(pathJoin(getProjectRoot(), "package.json")).toString("utf8"))["version"];
45
44
 
@@ -15,7 +15,7 @@ export function usePrepareTemplate(params: {
15
15
  htmlClassName: string | undefined;
16
16
  bodyClassName: string | undefined;
17
17
  }) {
18
- const { doFetchDefaultThemeResources, stylesCommon, styles, url, scripts, htmlClassName, bodyClassName } = params;
18
+ const { doFetchDefaultThemeResources, stylesCommon = [], styles = [], url, scripts = [], htmlClassName, bodyClassName } = params;
19
19
 
20
20
  const [isReady, setReady] = useReducer(() => true, !doFetchDefaultThemeResources);
21
21
 
@@ -26,36 +26,49 @@ export function usePrepareTemplate(params: {
26
26
 
27
27
  let isUnmounted = false;
28
28
 
29
- Promise.all(
29
+ const removeArray: (() => void)[] = [];
30
+
31
+ (async () => {
32
+ const prLoadedArray: Promise<void>[] = [];
33
+
30
34
  [
31
- ...(stylesCommon ?? []).map(relativePath => pathJoin(url.resourcesCommonPath, relativePath)),
32
- ...(styles ?? []).map(relativePath => pathJoin(url.resourcesPath, relativePath))
35
+ ...stylesCommon.map(relativePath => pathJoin(url.resourcesCommonPath, relativePath)),
36
+ ...styles.map(relativePath => pathJoin(url.resourcesPath, relativePath))
33
37
  ]
34
38
  .reverse()
35
- .map(href =>
36
- headInsert({
39
+ .forEach(href => {
40
+ const { prLoaded, remove } = headInsert({
37
41
  "type": "css",
38
- href,
39
- "position": "prepend"
40
- })
41
- )
42
- ).then(() => {
42
+ "position": "prepend",
43
+ href
44
+ });
45
+
46
+ removeArray.push(remove);
47
+
48
+ prLoadedArray.push(prLoaded);
49
+ });
50
+
51
+ await Promise.all(prLoadedArray);
52
+
43
53
  if (isUnmounted) {
44
54
  return;
45
55
  }
46
56
 
47
57
  setReady();
48
- });
58
+ })();
49
59
 
50
- (scripts ?? []).forEach(relativePath =>
51
- headInsert({
60
+ scripts.forEach(relativePath => {
61
+ const { remove } = headInsert({
52
62
  "type": "javascript",
53
63
  "src": pathJoin(url.resourcesPath, relativePath)
54
- })
55
- );
64
+ });
65
+
66
+ removeArray.push(remove);
67
+ });
56
68
 
57
69
  return () => {
58
70
  isUnmounted = true;
71
+ removeArray.forEach(remove => remove());
59
72
  };
60
73
  }, []);
61
74
 
@@ -20,13 +20,13 @@ export function createGetKcContext<KcContextExtension extends { pageId: string }
20
20
 
21
21
  function getKcContext<PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
22
22
  mockPageId?: PageId;
23
- storyParams?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>>;
23
+ storyPartialKcContext?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>>;
24
24
  }): {
25
25
  kcContext: PageId extends undefined
26
26
  ? ExtendKcContext<KcContextExtension> | undefined
27
27
  : Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>;
28
28
  } {
29
- const { mockPageId, storyParams } = params ?? {};
29
+ const { mockPageId, storyPartialKcContext } = params ?? {};
30
30
 
31
31
  const realKcContext = getKcContextFromWindow<KcContextExtension>();
32
32
 
@@ -55,10 +55,10 @@ export function createGetKcContext<KcContextExtension extends { pageId: string }
55
55
  });
56
56
  }
57
57
 
58
- if (storyParams !== undefined) {
58
+ if (storyPartialKcContext !== undefined) {
59
59
  deepAssign({
60
60
  "target": out,
61
- "source": storyParams
61
+ "source": storyPartialKcContext
62
62
  });
63
63
  }
64
64
 
@@ -2,7 +2,9 @@ import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2
2
  import type { ExtendKcContext } from "./getKcContextFromWindow";
3
3
  import { createGetKcContext } from "./createGetKcContext";
4
4
 
5
- /** @deprecated: Use createGetKcContext instead */
5
+ /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
6
+ * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
7
+ */
6
8
  export function getKcContext<KcContextExtension extends { pageId: string } = never>(params?: {
7
9
  mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
8
10
  mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
@@ -22,17 +22,24 @@ export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "
22
22
  useEffect(() => {
23
23
  let isCleanedUp = false;
24
24
 
25
- headInsert({
25
+ const { prLoaded, remove } = headInsert({
26
26
  "type": "javascript",
27
27
  "src": pathJoin(kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js")
28
- }).then(() => {
29
- if (isCleanedUp) return;
28
+ });
29
+
30
+ (async () => {
31
+ await prLoaded;
32
+
33
+ if (isCleanedUp) {
34
+ return;
35
+ }
30
36
 
31
37
  evaluateInlineScript();
32
- });
38
+ })();
33
39
 
34
40
  return () => {
35
41
  isCleanedUp = true;
42
+ remove();
36
43
  };
37
44
  }, []);
38
45
 
@@ -12,7 +12,7 @@ export function headInsert(
12
12
  type: "javascript";
13
13
  src: string;
14
14
  }
15
- ) {
15
+ ): { remove: () => void; prLoaded: Promise<void> } {
16
16
  const htmlElement = document.createElement(
17
17
  (() => {
18
18
  switch (params.type) {
@@ -66,5 +66,8 @@ export function headInsert(
66
66
  })()
67
67
  ](htmlElement);
68
68
 
69
- return dLoaded.pr;
69
+ return {
70
+ "prLoaded": dLoaded.pr,
71
+ "remove": () => htmlElement.remove()
72
+ };
70
73
  }
@@ -6,4 +6,7 @@ export declare function headInsert(params: {
6
6
  } | {
7
7
  type: "javascript";
8
8
  src: string;
9
- }): Promise<void>;
9
+ }): {
10
+ remove: () => void;
11
+ prLoaded: Promise<void>;
12
+ };