keycloakify 11.8.46 → 11.8.47-rc.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 (43) 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} +148 -172
  6. package/bin/{84.index.js → 502.index.js} +151 -103
  7. package/bin/626.index.js +216 -0
  8. package/bin/656.index.js +274 -0
  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 +539 -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 +42 -49
  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 +28 -59
  35. package/src/bin/shared/customHandler.ts +3 -1
  36. package/src/bin/shared/initializeSpa.ts +28 -0
  37. package/src/bin/sync-extensions/extensionModuleMeta.ts +89 -73
  38. package/src/bin/sync-extensions/managedGitignoreFiles.ts +32 -2
  39. package/src/bin/tools/fetchProxyOptions.ts +2 -1
  40. package/src/bin/tools/npmInstall.ts +13 -6
  41. package/vite-plugin/index.js +24 -43
  42. package/bin/433.index.js +0 -140
  43. package/bin/698.index.js +0 -298
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ exports.id = 656;
3
+ exports.ids = [656,30];
4
+ exports.modules = {
5
+
6
+ /***/ 98656:
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 */ "initializeSpa": () => (/* binding */ initializeSpa)
12
+ /* harmony export */ });
13
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71017);
14
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
15
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
16
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
17
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73292);
18
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_2__);
19
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
20
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(38469);
21
+ /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80339);
22
+ /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48433);
23
+ /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63046);
24
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32081);
25
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_7__);
26
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(52300);
27
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(78818);
28
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_8__);
29
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43765);
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)();
43
+ async function initializeSpa(params) {
44
+ var _a;
45
+ const { themeType, buildContext } = params;
46
+ {
47
+ const themeTypeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(buildContext.themeSrcDirPath, themeType);
48
+ if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(themeTypeSrcDirPath) &&
49
+ fs__WEBPACK_IMPORTED_MODULE_1__.readdirSync(themeTypeSrcDirPath).length > 0) {
50
+ console.warn(chalk__WEBPACK_IMPORTED_MODULE_8___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
51
+ process.exit(-1);
52
+ }
53
+ }
54
+ const parsedPackageJson = (() => {
55
+ const zParsedPackageJson = (() => {
56
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_10__.z.object({
57
+ scripts: zod__WEBPACK_IMPORTED_MODULE_10__.z.record(zod__WEBPACK_IMPORTED_MODULE_10__.z.union([zod__WEBPACK_IMPORTED_MODULE_10__.z.string(), zod__WEBPACK_IMPORTED_MODULE_10__.z.undefined()])).optional(),
58
+ dependencies: zod__WEBPACK_IMPORTED_MODULE_10__.z.record(zod__WEBPACK_IMPORTED_MODULE_10__.z.union([zod__WEBPACK_IMPORTED_MODULE_10__.z.string(), zod__WEBPACK_IMPORTED_MODULE_10__.z.undefined()])).optional(),
59
+ devDependencies: zod__WEBPACK_IMPORTED_MODULE_10__.z.record(zod__WEBPACK_IMPORTED_MODULE_10__.z.union([zod__WEBPACK_IMPORTED_MODULE_10__.z.string(), zod__WEBPACK_IMPORTED_MODULE_10__.z.undefined()])).optional()
60
+ });
61
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h;
62
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_11__.id)(zTargetType);
63
+ })();
64
+ const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
65
+ zParsedPackageJson.parse(parsedPackageJson);
66
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(parsedPackageJson));
67
+ return parsedPackageJson;
68
+ })();
69
+ (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__/* .addSyncExtensionsToPostinstallScript */ .N)({
70
+ parsedPackageJson,
71
+ buildContext
72
+ });
73
+ await disableVerbatimModuleSyntax({
74
+ projectDirPath: buildContext.projectDirPath
75
+ });
76
+ const uiSharedMajor = (() => {
77
+ const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
78
+ const version = dependencies["@keycloakify/keycloak-ui-shared"];
79
+ if (version === undefined) {
80
+ return undefined;
81
+ }
82
+ const match = version.match(/^[^~]?(\d+)\./);
83
+ if (match === null) {
84
+ return undefined;
85
+ }
86
+ return match[1];
87
+ })();
88
+ const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
89
+ const version = (() => {
90
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
91
+ .toString("utf8")
92
+ .trim();
93
+ const versions = JSON.parse(cmdOutput);
94
+ // NOTE: Bug in some older npm versions
95
+ if (typeof versions === "string") {
96
+ return [versions];
97
+ }
98
+ return versions;
99
+ })()
100
+ .reverse()
101
+ .filter(version => !version.includes("-"))
102
+ .find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
103
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(version !== undefined);
104
+ ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
105
+ if (parsedPackageJson.devDependencies !== undefined) {
106
+ delete parsedPackageJson.devDependencies[moduleName];
107
+ }
108
+ {
109
+ let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
110
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
111
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
112
+ sourceCode,
113
+ filePath: buildContext.packageJsonFilePath
114
+ });
115
+ }
116
+ fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
117
+ }
118
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__/* .npmInstall */ .c)({
119
+ packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
120
+ });
121
+ }
122
+ async function disableVerbatimModuleSyntax(params) {
123
+ const { projectDirPath } = params;
124
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(projectDirPath, "tsconfig.app.json");
125
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__/* .existsAsync */ .o)(filePath))) {
126
+ return;
127
+ }
128
+ let content = (await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(filePath)).toString("utf8");
129
+ const regExp = /"verbatimModuleSyntax"\s*:\s*true\s*(,?)/m;
130
+ if (!regExp.test(content)) {
131
+ return;
132
+ }
133
+ content = content.replace(regExp, `"verbatimModuleSyntax": false$1`);
134
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(filePath, Buffer.from(content, "utf8"));
135
+ }
136
+ //# sourceMappingURL=initializeSpa.js.map
137
+
138
+ /***/ }),
139
+
140
+ /***/ 48433:
141
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
142
+
143
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
144
+ /* harmony export */ "LG": () => (/* binding */ getPrettier),
145
+ /* harmony export */ "MT": () => (/* binding */ getIsPrettierAvailable),
146
+ /* harmony export */ "eY": () => (/* binding */ runPrettier)
147
+ /* harmony export */ });
148
+ /* harmony import */ var _nodeModulesBinDirPath__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73776);
149
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
150
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
151
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73292);
152
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_2__);
153
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(38469);
154
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
155
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(78818);
156
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_4__);
157
+ /* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6113);
158
+ /* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_5__);
159
+ /* harmony import */ var tsafe_symToStr__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76030);
160
+ /* harmony import */ var _readThisNpmPackageVersion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64795);
161
+ /* module decorator */ module = __webpack_require__.hmd(module);
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ getIsPrettierAvailable.cache = (0,tsafe_id__WEBPACK_IMPORTED_MODULE_7__.id)(undefined);
172
+ async function getIsPrettierAvailable() {
173
+ var _a;
174
+ if (getIsPrettierAvailable.cache !== undefined) {
175
+ return getIsPrettierAvailable.cache;
176
+ }
177
+ const nodeModulesBinDirPath = (0,_nodeModulesBinDirPath__WEBPACK_IMPORTED_MODULE_0__/* .getNodeModulesBinDirPath */ .K)({
178
+ packageJsonFilePath: undefined
179
+ });
180
+ const prettierBinPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(nodeModulesBinDirPath, "prettier");
181
+ const stats = await fs_promises__WEBPACK_IMPORTED_MODULE_2__.stat(prettierBinPath).catch(() => undefined);
182
+ const isPrettierAvailable = (_a = stats === null || stats === void 0 ? void 0 : stats.isFile()) !== null && _a !== void 0 ? _a : false;
183
+ getIsPrettierAvailable.cache = isPrettierAvailable;
184
+ return isPrettierAvailable;
185
+ }
186
+ getPrettier.cache = (0,tsafe_id__WEBPACK_IMPORTED_MODULE_7__.id)(undefined);
187
+ async function getPrettier() {
188
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(getIsPrettierAvailable());
189
+ if (getPrettier.cache !== undefined) {
190
+ return getPrettier.cache;
191
+ }
192
+ let prettier = (0,tsafe_id__WEBPACK_IMPORTED_MODULE_7__.id)(undefined);
193
+ import_prettier: {
194
+ // NOTE: When module is linked we want to make sure we import the correct version
195
+ // of prettier, that is the one of the project, not the one of this repo.
196
+ // So we do a sketchy eval to bypass ncc.
197
+ // We make sure to only do that when linking, otherwise we import properly.
198
+ if ((0,_readThisNpmPackageVersion__WEBPACK_IMPORTED_MODULE_6__/* .readThisNpmPackageVersion */ .K)().startsWith("0.0.0")) {
199
+ const prettierDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.resolve)((0,path__WEBPACK_IMPORTED_MODULE_1__.join)((0,_nodeModulesBinDirPath__WEBPACK_IMPORTED_MODULE_0__/* .getNodeModulesBinDirPath */ .K)({ packageJsonFilePath: undefined }), "..", "prettier"));
200
+ const isCJS = true && module.exports;
201
+ if (isCJS) {
202
+ eval(`${(0,tsafe_symToStr__WEBPACK_IMPORTED_MODULE_8__/* .symToStr */ .r)({ prettier })} = require("${prettierDirPath}")`);
203
+ }
204
+ else {
205
+ prettier = await new Promise(_resolve => {
206
+ eval(`import("file:///${(0,path__WEBPACK_IMPORTED_MODULE_1__.join)(prettierDirPath, "index.mjs").replace(/\\/g, "/")}").then(prettier => _resolve(prettier))`);
207
+ });
208
+ }
209
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(!(0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(prettier));
210
+ break import_prettier;
211
+ }
212
+ prettier = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 79421, 23));
213
+ }
214
+ const configHash = await (async () => {
215
+ const configFilePath = await prettier.resolveConfigFile((0,path__WEBPACK_IMPORTED_MODULE_1__.join)((0,_nodeModulesBinDirPath__WEBPACK_IMPORTED_MODULE_0__/* .getNodeModulesBinDirPath */ .K)({ packageJsonFilePath: undefined }), "..", ".."));
216
+ if (configFilePath === null) {
217
+ return "";
218
+ }
219
+ const data = await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(configFilePath);
220
+ return crypto__WEBPACK_IMPORTED_MODULE_5__.createHash("sha256").update(data).digest("hex");
221
+ })();
222
+ const prettierAndConfig = {
223
+ prettier,
224
+ configHash
225
+ };
226
+ getPrettier.cache = prettierAndConfig;
227
+ return prettierAndConfig;
228
+ }
229
+ async function runPrettier(params) {
230
+ const { sourceCode, filePath } = params;
231
+ let formattedSourceCode;
232
+ try {
233
+ const { prettier } = await getPrettier();
234
+ const { ignored, inferredParser } = await prettier.getFileInfo(filePath, {
235
+ resolveConfig: true
236
+ });
237
+ if (ignored || inferredParser === null) {
238
+ return sourceCode;
239
+ }
240
+ const config = await prettier.resolveConfig(filePath);
241
+ formattedSourceCode = await prettier.format(typeof sourceCode === "string" ? sourceCode : sourceCode.toString("utf8"), Object.assign(Object.assign({}, config), { filePath, parser: inferredParser }));
242
+ }
243
+ catch (error) {
244
+ console.log(chalk__WEBPACK_IMPORTED_MODULE_4___default().red(`You probably need to upgrade the version of prettier in your project`));
245
+ throw error;
246
+ }
247
+ return typeof sourceCode === "string"
248
+ ? formattedSourceCode
249
+ : Buffer.from(formattedSourceCode, "utf8");
250
+ }
251
+ //# sourceMappingURL=runPrettier.js.map
252
+
253
+ /***/ }),
254
+
255
+ /***/ 76030:
256
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
257
+
258
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
259
+ /* harmony export */ "r": () => (/* binding */ symToStr)
260
+ /* harmony export */ });
261
+ /** @see <https://docs.tsafe.dev/main/symtostr> */
262
+ function symToStr(wrap) {
263
+ // @ts-expect-error: We know better
264
+ return Object.keys(wrap)[0];
265
+ }
266
+
267
+
268
+ //# sourceMappingURL=symToStr.mjs.map
269
+
270
+
271
+ /***/ })
272
+
273
+ };
274
+ ;
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ exports.id = 675;
3
+ exports.ids = [675];
4
+ exports.modules = {
5
+
6
+ /***/ 16932:
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 cli_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(99398);
14
+ /* harmony import */ var cli_select__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cli_select__WEBPACK_IMPORTED_MODULE_0__);
15
+ /* harmony import */ var _shared_customHandler_delegate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72138);
16
+ /* harmony import */ var _shared_exitIfUncommittedChanges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22058);
17
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71017);
18
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);
19
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57147);
20
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_4__);
21
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29041);
22
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(38469);
23
+ /* harmony import */ var _shared_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80339);
24
+ /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48433);
25
+ /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(63046);
26
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(32081);
27
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_9__);
28
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(52300);
29
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(78818);
30
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_10__);
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ async function command(params) {
45
+ var _a;
46
+ const { buildContext } = params;
47
+ const { hasBeenHandled } = await (0,_shared_customHandler_delegate__WEBPACK_IMPORTED_MODULE_1__/* .maybeDelegateCommandToCustomHandler */ .q)({
48
+ commandName: "initialize-email-theme",
49
+ buildContext
50
+ });
51
+ if (hasBeenHandled) {
52
+ return;
53
+ }
54
+ (0,_shared_exitIfUncommittedChanges__WEBPACK_IMPORTED_MODULE_2__/* .exitIfUncommittedChanges */ .l)({
55
+ projectDirPath: buildContext.projectDirPath
56
+ });
57
+ const emailThemeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_3__.join)(buildContext.themeSrcDirPath, "email");
58
+ if (fs__WEBPACK_IMPORTED_MODULE_4__.existsSync(emailThemeSrcDirPath) &&
59
+ fs__WEBPACK_IMPORTED_MODULE_4__.readdirSync(emailThemeSrcDirPath).length > 0) {
60
+ console.warn(chalk__WEBPACK_IMPORTED_MODULE_10___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_3__.relative)(process.cwd(), emailThemeSrcDirPath)} directory in your project. Aborting.`));
61
+ process.exit(-1);
62
+ }
63
+ const { value: emailThemeType } = await cli_select__WEBPACK_IMPORTED_MODULE_0___default()({
64
+ values: [
65
+ "native (FreeMarker)",
66
+ "Another email templating solution"
67
+ ]
68
+ }).catch(() => {
69
+ process.exit(-1);
70
+ });
71
+ if (emailThemeType === "Another email templating solution") {
72
+ console.log([
73
+ "There is currently no automated support for keycloakify-email, it has to be done manually, see documentation:",
74
+ "https://docs.keycloakify.dev/theme-types/email-theme"
75
+ ].join("\n"));
76
+ process.exit(0);
77
+ }
78
+ const parsedPackageJson = (() => {
79
+ const zParsedPackageJson = (() => {
80
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_11__.z.object({
81
+ 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(),
82
+ 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(),
83
+ 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()
84
+ });
85
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .h;
86
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_12__.id)(zTargetType);
87
+ })();
88
+ const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_4__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
89
+ zParsedPackageJson.parse(parsedPackageJson);
90
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_5__.is)(parsedPackageJson));
91
+ return parsedPackageJson;
92
+ })();
93
+ (0,_shared_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_6__/* .addSyncExtensionsToPostinstallScript */ .N)({
94
+ parsedPackageJson,
95
+ buildContext
96
+ });
97
+ const moduleName = `@keycloakify/email-native`;
98
+ const [version] = (() => {
99
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_9__.execSync(`npm show ${moduleName} versions --json`)
100
+ .toString("utf8")
101
+ .trim();
102
+ const versions = JSON.parse(cmdOutput);
103
+ // NOTE: Bug in some older npm versions
104
+ if (typeof versions === "string") {
105
+ return [versions];
106
+ }
107
+ return versions;
108
+ })()
109
+ .reverse()
110
+ .filter(version => !version.includes("-"));
111
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .h)(version !== undefined);
112
+ ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
113
+ if (parsedPackageJson.devDependencies !== undefined) {
114
+ delete parsedPackageJson.devDependencies[moduleName];
115
+ }
116
+ {
117
+ let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
118
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_7__/* .getIsPrettierAvailable */ .MT)()) {
119
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_7__/* .runPrettier */ .eY)({
120
+ sourceCode,
121
+ filePath: buildContext.packageJsonFilePath
122
+ });
123
+ }
124
+ fs__WEBPACK_IMPORTED_MODULE_4__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
125
+ }
126
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_8__/* .npmInstall */ .c)({
127
+ packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_3__.dirname)(buildContext.packageJsonFilePath)
128
+ });
129
+ console.log(chalk__WEBPACK_IMPORTED_MODULE_10___default().green("Email theme initialized."));
130
+ }
131
+ //# sourceMappingURL=initialize-email-theme.js.map
132
+
133
+ /***/ }),
134
+
135
+ /***/ 22058:
136
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
137
+
138
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
139
+ /* harmony export */ "l": () => (/* binding */ exitIfUncommittedChanges)
140
+ /* harmony export */ });
141
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32081);
142
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_0__);
143
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78818);
144
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_1__);
145
+
146
+
147
+ function exitIfUncommittedChanges(params) {
148
+ const { projectDirPath } = params;
149
+ let hasUncommittedChanges = undefined;
150
+ try {
151
+ hasUncommittedChanges =
152
+ child_process__WEBPACK_IMPORTED_MODULE_0___default().execSync(`git status --porcelain`, {
153
+ cwd: projectDirPath
154
+ })
155
+ .toString()
156
+ .trim() !== "";
157
+ }
158
+ catch (_a) {
159
+ // Probably not a git repository
160
+ return;
161
+ }
162
+ if (!hasUncommittedChanges) {
163
+ return;
164
+ }
165
+ console.warn([
166
+ chalk__WEBPACK_IMPORTED_MODULE_1___default().red("Please commit or stash your changes before running this command.\n"),
167
+ "This command will modify your project's files so it's better to have a clean working directory",
168
+ "so that you can easily see what has been changed and revert if needed."
169
+ ].join(" "));
170
+ process.exit(-1);
171
+ }
172
+ //# sourceMappingURL=exitIfUncommittedChanges.js.map
173
+
174
+ /***/ })
175
+
176
+ };
177
+ ;
package/bin/69.index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  exports.id = 69;
3
- exports.ids = [69];
3
+ exports.ids = [69,30];
4
4
  exports.modules = {
5
5
 
6
6
  /***/ 50689: