keycloakify 11.8.46 → 11.8.47-rc.1

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/bin/254.index.js +283 -0
  2. package/bin/30.index.js +25 -0
  3. package/bin/{864.index.js → 309.index.js} +6944 -28439
  4. package/bin/311.index.js +198 -0
  5. package/bin/{313.index.js → 355.index.js} +101 -147
  6. package/bin/{84.index.js → 502.index.js} +147 -101
  7. package/bin/626.index.js +194 -0
  8. package/bin/{698.index.js → 656.index.js} +101 -147
  9. package/bin/675.index.js +177 -0
  10. package/bin/69.index.js +1 -1
  11. package/bin/762.index.js +1475 -0
  12. package/bin/780.index.js +4 -2
  13. package/bin/786.index.js +115 -0
  14. package/bin/895.index.js +21501 -0
  15. package/bin/{618.index.js → 932.index.js} +117 -163
  16. package/bin/949.index.js +1 -1
  17. package/bin/97.index.js +537 -4
  18. package/bin/init/index.d.ts +1 -0
  19. package/bin/init/init.d.ts +3 -0
  20. package/bin/init/setupEslint.d.ts +4 -0
  21. package/bin/init/setupVitePluginIfNeeded.d.ts +4 -0
  22. package/bin/initialize-login-theme.d.ts +4 -0
  23. package/bin/main.js +19 -30
  24. package/bin/shared/customHandler.d.ts +1 -1
  25. package/bin/shared/customHandler.js.map +1 -1
  26. package/package.json +23 -7
  27. package/src/bin/init/index.ts +1 -0
  28. package/src/bin/init/init.ts +354 -0
  29. package/src/bin/init/setupEslint.ts +80 -0
  30. package/src/bin/init/setupVitePluginIfNeeded.ts +143 -0
  31. package/src/bin/initialize-account-theme/initialize-account-theme.ts +4 -0
  32. package/src/bin/initialize-login-theme.ts +323 -0
  33. package/src/bin/main.ts +14 -0
  34. package/src/bin/shared/buildContext.ts +2 -37
  35. package/src/bin/shared/customHandler.ts +3 -1
  36. package/src/bin/sync-extensions/extensionModuleMeta.ts +89 -73
  37. package/src/bin/sync-extensions/managedGitignoreFiles.ts +32 -2
  38. package/vite-plugin/index.js +1 -24
  39. package/bin/433.index.js +0 -140
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ exports.id = 254;
3
+ exports.ids = [254];
4
+ exports.modules = {
5
+
6
+ /***/ 2254:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.r(__webpack_exports__);
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "command": () => (/* binding */ command)
12
+ /* harmony export */ });
13
+ /* harmony import */ var _shared_customHandler_delegate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72138);
14
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
15
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
16
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73292);
17
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_2__);
18
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
19
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(38469);
20
+ /* harmony import */ var _shared_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80339);
21
+ /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48433);
22
+ /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63046);
23
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32081);
24
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_7__);
25
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(52300);
26
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(78818);
27
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_8__);
28
+ /* harmony import */ var cli_select__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(99398);
29
+ /* harmony import */ var cli_select__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(cli_select__WEBPACK_IMPORTED_MODULE_9__);
30
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(43765);
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ async function command(params) {
45
+ var _a, _b, _c, _d;
46
+ const { buildContext } = params;
47
+ const { hasBeenHandled } = await (0,_shared_customHandler_delegate__WEBPACK_IMPORTED_MODULE_0__/* .maybeDelegateCommandToCustomHandler */ .q)({
48
+ commandName: "initialize-login-theme",
49
+ buildContext
50
+ });
51
+ if (hasBeenHandled) {
52
+ return;
53
+ }
54
+ if (buildContext.implementedThemeTypes.login.isImplemented ||
55
+ buildContext.implementedThemeTypes.login.isImplemented_native) {
56
+ console.warn(chalk__WEBPACK_IMPORTED_MODULE_8___default().red("There is already a login theme in your project"));
57
+ process.exit(-1);
58
+ }
59
+ const parsedPackageJson = await (async () => {
60
+ const zParsedPackageJson = (() => {
61
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_11__.z.object({
62
+ scripts: zod__WEBPACK_IMPORTED_MODULE_11__.z.record(zod__WEBPACK_IMPORTED_MODULE_11__.z.union([zod__WEBPACK_IMPORTED_MODULE_11__.z.string(), zod__WEBPACK_IMPORTED_MODULE_11__.z.undefined()])).optional(),
63
+ dependencies: zod__WEBPACK_IMPORTED_MODULE_11__.z.record(zod__WEBPACK_IMPORTED_MODULE_11__.z.union([zod__WEBPACK_IMPORTED_MODULE_11__.z.string(), zod__WEBPACK_IMPORTED_MODULE_11__.z.undefined()])).optional(),
64
+ devDependencies: zod__WEBPACK_IMPORTED_MODULE_11__.z.record(zod__WEBPACK_IMPORTED_MODULE_11__.z.union([zod__WEBPACK_IMPORTED_MODULE_11__.z.string(), zod__WEBPACK_IMPORTED_MODULE_11__.z.undefined()])).optional()
65
+ });
66
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h;
67
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_12__.id)(zTargetType);
68
+ })();
69
+ const parsedPackageJson = JSON.parse((await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(buildContext.packageJsonFilePath)).toString("utf8"));
70
+ zParsedPackageJson.parse(parsedPackageJson);
71
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(parsedPackageJson));
72
+ return parsedPackageJson;
73
+ })();
74
+ (0,_shared_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__/* .addSyncExtensionsToPostinstallScript */ .N)({
75
+ parsedPackageJson,
76
+ buildContext
77
+ });
78
+ const doInstallStories = await (async () => {
79
+ console.log(chalk__WEBPACK_IMPORTED_MODULE_8___default().cyan(`\nDo you want to install the Stories?`));
80
+ const YES = "Yes (Recommended)";
81
+ const NO = "No";
82
+ const { value } = await cli_select__WEBPACK_IMPORTED_MODULE_9___default()({
83
+ values: [YES, NO]
84
+ }).catch(() => {
85
+ process.exit(-1);
86
+ });
87
+ console.log(`${value}\n`);
88
+ return value === YES;
89
+ })();
90
+ install_storybook: {
91
+ if (!doInstallStories) {
92
+ break install_storybook;
93
+ }
94
+ if (buildContext.bundler !== "vite") {
95
+ break install_storybook;
96
+ }
97
+ if (Object.keys(Object.assign(Object.assign({}, parsedPackageJson.dependencies), parsedPackageJson.devDependencies)).includes("storybook")) {
98
+ break install_storybook;
99
+ }
100
+ ((_a = parsedPackageJson.scripts) !== null && _a !== void 0 ? _a : (parsedPackageJson.scripts = {}))["storybook"] = "storybook dev -p 6006";
101
+ parsedPackageJson.scripts["build-storybook"] = "storybook build";
102
+ ((_b = parsedPackageJson.devDependencies) !== null && _b !== void 0 ? _b : (parsedPackageJson.devDependencies = {}))["storybook"] = "^9.0.4";
103
+ parsedPackageJson.devDependencies["@storybook/react-vite"] = "^9.0.4";
104
+ const files = [
105
+ {
106
+ relativeFilePath: "main.ts",
107
+ fileContent: [
108
+ `import type { StorybookConfig } from "@storybook/react-vite";`,
109
+ ``,
110
+ `const config: StorybookConfig = {`,
111
+ ` stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],`,
112
+ ` addons: [],`,
113
+ ` framework: {`,
114
+ ` name: "@storybook/react-vite",`,
115
+ ` options: {}`,
116
+ ` },`,
117
+ `};`,
118
+ `export default config;`,
119
+ ``
120
+ ].join("\n")
121
+ },
122
+ {
123
+ relativeFilePath: "preview.ts",
124
+ fileContent: storybookPreviewTsFileContent
125
+ }
126
+ ];
127
+ for (let { relativeFilePath, fileContent } of files) {
128
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(buildContext.projectDirPath, ".storybook", relativeFilePath);
129
+ {
130
+ const dirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.dirname)(filePath);
131
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_10__/* .existsAsync */ .o)(dirPath))) {
132
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.mkdir(dirPath, { recursive: true });
133
+ }
134
+ }
135
+ run_prettier: {
136
+ if (!(await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)())) {
137
+ break run_prettier;
138
+ }
139
+ fileContent = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
140
+ filePath: filePath,
141
+ sourceCode: fileContent
142
+ });
143
+ }
144
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(filePath, Buffer.from(fileContent, "utf8"));
145
+ }
146
+ }
147
+ {
148
+ const moduleName = "@keycloakify/login-ui";
149
+ const latestVersion = await getModuleLatestVersion({ moduleName });
150
+ ((_c = parsedPackageJson.dependencies) !== null && _c !== void 0 ? _c : (parsedPackageJson.dependencies = {}))[moduleName] = `~${latestVersion}`;
151
+ if (parsedPackageJson.devDependencies !== undefined) {
152
+ delete parsedPackageJson.devDependencies[moduleName];
153
+ }
154
+ }
155
+ install_stories: {
156
+ if (!doInstallStories) {
157
+ break install_stories;
158
+ }
159
+ const moduleName = "@keycloakify/login-ui-storybook";
160
+ const latestVersion = await getModuleLatestVersion({ moduleName });
161
+ ((_d = parsedPackageJson.devDependencies) !== null && _d !== void 0 ? _d : (parsedPackageJson.devDependencies = {}))[moduleName] = `~${latestVersion}`;
162
+ delete parsedPackageJson.dependencies[moduleName];
163
+ }
164
+ {
165
+ let sourceCode = JSON.stringify(parsedPackageJson, null, 2);
166
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
167
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
168
+ sourceCode,
169
+ filePath: buildContext.packageJsonFilePath
170
+ });
171
+ }
172
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
173
+ }
174
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__/* .npmInstall */ .c)({
175
+ packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.dirname)(buildContext.packageJsonFilePath)
176
+ });
177
+ }
178
+ async function getModuleLatestVersion(params) {
179
+ const { moduleName } = params;
180
+ const versions = (() => {
181
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
182
+ .toString("utf8")
183
+ .trim();
184
+ const versions = JSON.parse(cmdOutput);
185
+ // NOTE: Bug in some older npm versions
186
+ if (typeof versions === "string") {
187
+ return [versions];
188
+ }
189
+ return versions;
190
+ })();
191
+ const version = versions.reverse().filter(version => !version.includes("-"))[0];
192
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(version !== undefined);
193
+ return version;
194
+ }
195
+ const storybookPreviewTsFileContent = [
196
+ `import type { Preview } from "@storybook/react-vite";`,
197
+ ``,
198
+ `const preview: Preview = {`,
199
+ ` parameters: {`,
200
+ ` controls: {`,
201
+ ` matchers: {`,
202
+ ` color: /(background|color)$/i,`,
203
+ ` date: /Date$/i`,
204
+ ` }`,
205
+ ` },`,
206
+ ` options: {`,
207
+ ` storySort: (a, b)=> {`,
208
+ ``,
209
+ ` const orderedPagesPrefix = [`,
210
+ ` "Introduction",`,
211
+ ` "login/login.ftl",`,
212
+ ` "login/register.ftl",`,
213
+ ` "login/terms.ftl",`,
214
+ ` "login/error.ftl",`,
215
+ ` "login/code.ftl",`,
216
+ ` "login/delete-account-confirm.ftl",`,
217
+ ` "login/delete-credential.ftl",`,
218
+ ` "login/frontchannel-logout.ftl",`,
219
+ ` "login/idp-review-user-profile.ftl",`,
220
+ ` "login/info.ftl",`,
221
+ ` "login/login-config-totp.ftl",`,
222
+ ` "login/login-idp-link-confirm.ftl",`,
223
+ ` "login/login-idp-link-email.ftl",`,
224
+ ` "login/login-oauth-grant.ftl",`,
225
+ ` "login/login-otp.ftl",`,
226
+ ` "login/login-page-expired.ftl",`,
227
+ ` "login/login-password.ftl",`,
228
+ ` "login/login-reset-otp.ftl",`,
229
+ ` "login/login-reset-password.ftl",`,
230
+ ` "login/login-update-password.ftl",`,
231
+ ` "login/login-update-profile.ftl",`,
232
+ ` "login/login-username.ftl",`,
233
+ ` "login/login-verify-email.ftl",`,
234
+ ` "login/login-x509-info.ftl",`,
235
+ ` "login/logout-confirm.ftl",`,
236
+ ` "login/saml-post-form.ftl",`,
237
+ ` "login/select-authenticator.ftl",`,
238
+ ` "login/update-email.ftl",`,
239
+ ` "login/webauthn-authenticate.ftl",`,
240
+ ` "login/webauthn-error.ftl",`,
241
+ ` "login/webauthn-register.ftl",`,
242
+ ` "login/login-oauth2-device-verify-user-code.ftl",`,
243
+ ` "login/login-recovery-authn-code-config.ftl",`,
244
+ ` "login/login-recovery-authn-code-input.ftl",`,
245
+ ` "account/account.ftl",`,
246
+ ` "account/password.ftl",`,
247
+ ` "account/federatedIdentity.ftl",`,
248
+ ` "account/log.ftl",`,
249
+ ` "account/sessions.ftl",`,
250
+ ` "account/totp.ftl"`,
251
+ ` ];`,
252
+ ``,
253
+ ` function getHardCodedWeight(title) {`,
254
+ ` for (let i = 0; i < orderedPagesPrefix.length; i++) {`,
255
+ ` if (`,
256
+ ` title`,
257
+ ` .toLowerCase()`,
258
+ ` .startsWith(orderedPagesPrefix[i].toLowerCase())`,
259
+ ` ) {`,
260
+ ` return orderedPagesPrefix.length - i;`,
261
+ ` }`,
262
+ ` }`,
263
+ ``,
264
+ ` return 0;`,
265
+ ` }`,
266
+ ``,
267
+ ` return getHardCodedWeight(b.title) - getHardCodedWeight(a.title);`,
268
+ ``,
269
+ ` }`,
270
+ ``,
271
+ ` }`,
272
+ ` }`,
273
+ `};`,
274
+ ``,
275
+ `export default preview;`,
276
+ ``
277
+ ].join("\n");
278
+ //# sourceMappingURL=initialize-login-theme.js.map
279
+
280
+ /***/ })
281
+
282
+ };
283
+ ;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ exports.id = 30;
3
+ exports.ids = [30];
4
+ exports.modules = {
5
+
6
+ /***/ 76030:
7
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "r": () => (/* binding */ symToStr)
11
+ /* harmony export */ });
12
+ /** @see <https://docs.tsafe.dev/main/symtostr> */
13
+ function symToStr(wrap) {
14
+ // @ts-expect-error: We know better
15
+ return Object.keys(wrap)[0];
16
+ }
17
+
18
+
19
+ //# sourceMappingURL=symToStr.mjs.map
20
+
21
+
22
+ /***/ })
23
+
24
+ };
25
+ ;