keycloakify 11.8.47-rc.1 → 11.8.47-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/254.index.js CHANGED
@@ -146,7 +146,7 @@ async function command(params) {
146
146
  }
147
147
  {
148
148
  const moduleName = "@keycloakify/login-ui";
149
- const latestVersion = await getModuleLatestVersion({ moduleName });
149
+ const latestVersion = getModuleLatestVersion({ moduleName });
150
150
  ((_c = parsedPackageJson.dependencies) !== null && _c !== void 0 ? _c : (parsedPackageJson.dependencies = {}))[moduleName] = `~${latestVersion}`;
151
151
  if (parsedPackageJson.devDependencies !== undefined) {
152
152
  delete parsedPackageJson.devDependencies[moduleName];
@@ -157,10 +157,48 @@ async function command(params) {
157
157
  break install_stories;
158
158
  }
159
159
  const moduleName = "@keycloakify/login-ui-storybook";
160
- const latestVersion = await getModuleLatestVersion({ moduleName });
160
+ const latestVersion = getModuleLatestVersion({ moduleName });
161
161
  ((_d = parsedPackageJson.devDependencies) !== null && _d !== void 0 ? _d : (parsedPackageJson.devDependencies = {}))[moduleName] = `~${latestVersion}`;
162
162
  delete parsedPackageJson.dependencies[moduleName];
163
163
  }
164
+ update_main_dev: {
165
+ for (const fileBasename of ["main-kc.dev.tsx", "main.dev.tsx"]) {
166
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(buildContext.themeSrcDirPath, fileBasename);
167
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_10__/* .existsAsync */ .o)(filePath))) {
168
+ continue;
169
+ }
170
+ const content = (await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(filePath)).toString("utf8");
171
+ if (!content.includes("export {}")) {
172
+ break update_main_dev;
173
+ }
174
+ let content_new = [
175
+ `import { createRoot } from "react-dom/client";`,
176
+ `import { StrictMode } from "react";`,
177
+ `import { KcPage } from "./kc.gen";`,
178
+ `import { getKcContextMock } from "./login/mocks/getKcContextMock";`,
179
+ ``,
180
+ `const kcContext = getKcContextMock({`,
181
+ ` pageId: "login.ftl",`,
182
+ ` overrides: {}`,
183
+ `});`,
184
+ ``,
185
+ `createRoot(document.getElementById("root")!).render(`,
186
+ ` <StrictMode>`,
187
+ ` <KcPage kcContext={kcContext} />`,
188
+ ` </StrictMode>`,
189
+ `);`,
190
+ ``
191
+ ].join("\n");
192
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
193
+ content_new = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
194
+ sourceCode: content_new,
195
+ filePath
196
+ });
197
+ }
198
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(filePath, content_new);
199
+ break;
200
+ }
201
+ }
164
202
  {
165
203
  let sourceCode = JSON.stringify(parsedPackageJson, null, 2);
166
204
  if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
@@ -175,7 +213,7 @@ async function command(params) {
175
213
  packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.dirname)(buildContext.packageJsonFilePath)
176
214
  });
177
215
  }
178
- async function getModuleLatestVersion(params) {
216
+ function getModuleLatestVersion(params) {
179
217
  const { moduleName } = params;
180
218
  const versions = (() => {
181
219
  const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
package/bin/355.index.js CHANGED
@@ -164,16 +164,20 @@ __webpack_require__.r(__webpack_exports__);
164
164
  /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
165
165
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
166
166
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
167
- /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29041);
168
- /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38469);
169
- /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80339);
170
- /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48433);
171
- /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63046);
172
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32081);
173
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_6__);
174
- /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52300);
175
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78818);
176
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_7__);
167
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73292);
168
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_2__);
169
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
170
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(38469);
171
+ /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80339);
172
+ /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48433);
173
+ /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63046);
174
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32081);
175
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_7__);
176
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(52300);
177
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(78818);
178
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_8__);
179
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43765);
180
+
177
181
 
178
182
 
179
183
 
@@ -184,7 +188,8 @@ __webpack_require__.r(__webpack_exports__);
184
188
 
185
189
 
186
190
 
187
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)();
191
+
192
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)();
188
193
  async function initializeSpa(params) {
189
194
  var _a;
190
195
  const { themeType, buildContext } = params;
@@ -192,29 +197,32 @@ async function initializeSpa(params) {
192
197
  const themeTypeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(buildContext.themeSrcDirPath, themeType);
193
198
  if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(themeTypeSrcDirPath) &&
194
199
  fs__WEBPACK_IMPORTED_MODULE_1__.readdirSync(themeTypeSrcDirPath).length > 0) {
195
- console.warn(chalk__WEBPACK_IMPORTED_MODULE_7___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
200
+ 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.`));
196
201
  process.exit(-1);
197
202
  }
198
203
  }
199
204
  const parsedPackageJson = (() => {
200
205
  const zParsedPackageJson = (() => {
201
- const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
202
- scripts: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
203
- dependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
204
- devDependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional()
206
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_10__.z.object({
207
+ 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(),
208
+ 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(),
209
+ 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()
205
210
  });
206
- tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h;
207
- return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_9__.id)(zTargetType);
211
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h;
212
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_11__.id)(zTargetType);
208
213
  })();
209
214
  const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
210
215
  zParsedPackageJson.parse(parsedPackageJson);
211
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__.is)(parsedPackageJson));
216
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(parsedPackageJson));
212
217
  return parsedPackageJson;
213
218
  })();
214
- (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__/* .addSyncExtensionsToPostinstallScript */ .N)({
219
+ (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__/* .addSyncExtensionsToPostinstallScript */ .N)({
215
220
  parsedPackageJson,
216
221
  buildContext
217
222
  });
223
+ await disableVerbatimModuleSyntax({
224
+ projectDirPath: buildContext.projectDirPath
225
+ });
218
226
  const uiSharedMajor = (() => {
219
227
  const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
220
228
  const version = dependencies["@keycloakify/keycloak-ui-shared"];
@@ -229,7 +237,7 @@ async function initializeSpa(params) {
229
237
  })();
230
238
  const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
231
239
  const version = (() => {
232
- const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_6__.execSync(`npm show ${moduleName} versions --json`)
240
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
233
241
  .toString("utf8")
234
242
  .trim();
235
243
  const versions = JSON.parse(cmdOutput);
@@ -242,25 +250,39 @@ async function initializeSpa(params) {
242
250
  .reverse()
243
251
  .filter(version => !version.includes("-"))
244
252
  .find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
245
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)(version !== undefined);
253
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(version !== undefined);
246
254
  ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
247
255
  if (parsedPackageJson.devDependencies !== undefined) {
248
256
  delete parsedPackageJson.devDependencies[moduleName];
249
257
  }
250
258
  {
251
259
  let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
252
- if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .getIsPrettierAvailable */ .MT)()) {
253
- sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .runPrettier */ .eY)({
260
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
261
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
254
262
  sourceCode,
255
263
  filePath: buildContext.packageJsonFilePath
256
264
  });
257
265
  }
258
266
  fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
259
267
  }
260
- await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__/* .npmInstall */ .c)({
268
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__/* .npmInstall */ .c)({
261
269
  packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
262
270
  });
263
271
  }
272
+ async function disableVerbatimModuleSyntax(params) {
273
+ const { projectDirPath } = params;
274
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(projectDirPath, "tsconfig.app.json");
275
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__/* .existsAsync */ .o)(filePath))) {
276
+ return;
277
+ }
278
+ let content = (await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(filePath)).toString("utf8");
279
+ const regExp = /"verbatimModuleSyntax"\s*:\s*true\s*(,?)/m;
280
+ if (!regExp.test(content)) {
281
+ return;
282
+ }
283
+ content = content.replace(regExp, `"verbatimModuleSyntax": false$1`);
284
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(filePath, Buffer.from(content, "utf8"));
285
+ }
264
286
  //# sourceMappingURL=initializeSpa.js.map
265
287
 
266
288
  /***/ }),
package/bin/502.index.js CHANGED
@@ -299,20 +299,22 @@ async function npmInstall(params) {
299
299
  async function runPackageManagerInstall(params) {
300
300
  const { packageManagerBinName, cwd } = params;
301
301
  const dCompleted = new Deferred.Deferred();
302
- const child = external_child_process_.spawn(packageManagerBinName, ["install"], {
302
+ const child = external_child_process_.spawn(packageManagerBinName, ["install", ...(packageManagerBinName !== "npm" ? [] : ["--force"])], {
303
303
  cwd,
304
304
  env: process.env,
305
305
  shell: true
306
306
  });
307
307
  child.stdout.on("data", data => process.stdout.write(data));
308
+ let errorLog = "";
308
309
  child.stderr.on("data", data => {
309
310
  if (data.toString("utf8").includes("peer dependency")) {
310
311
  return;
311
312
  }
312
- process.stderr.write(data);
313
+ errorLog += data.toString("utf8");
313
314
  });
314
315
  child.on("exit", code => {
315
316
  if (code !== 0) {
317
+ console.log(errorLog);
316
318
  dCompleted.reject(new Error(`Failed with code ${code}`));
317
319
  return;
318
320
  }
package/bin/626.index.js CHANGED
@@ -89,16 +89,19 @@ __webpack_require__.r(__webpack_exports__);
89
89
  /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
90
90
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
91
91
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
92
- /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29041);
93
- /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38469);
94
- /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80339);
95
- /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48433);
96
- /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63046);
97
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32081);
98
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_6__);
99
- /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52300);
100
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78818);
101
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_7__);
92
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73292);
93
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_2__);
94
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
95
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(38469);
96
+ /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80339);
97
+ /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48433);
98
+ /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63046);
99
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32081);
100
+ /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_7__);
101
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(52300);
102
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(78818);
103
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_8__);
104
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43765);
102
105
 
103
106
 
104
107
 
@@ -109,7 +112,9 @@ __webpack_require__.r(__webpack_exports__);
109
112
 
110
113
 
111
114
 
112
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)();
115
+
116
+
117
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)();
113
118
  async function initializeSpa(params) {
114
119
  var _a;
115
120
  const { themeType, buildContext } = params;
@@ -117,29 +122,32 @@ async function initializeSpa(params) {
117
122
  const themeTypeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(buildContext.themeSrcDirPath, themeType);
118
123
  if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(themeTypeSrcDirPath) &&
119
124
  fs__WEBPACK_IMPORTED_MODULE_1__.readdirSync(themeTypeSrcDirPath).length > 0) {
120
- console.warn(chalk__WEBPACK_IMPORTED_MODULE_7___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
125
+ 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.`));
121
126
  process.exit(-1);
122
127
  }
123
128
  }
124
129
  const parsedPackageJson = (() => {
125
130
  const zParsedPackageJson = (() => {
126
- const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
127
- scripts: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
128
- dependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
129
- devDependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional()
131
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_10__.z.object({
132
+ 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(),
133
+ 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(),
134
+ 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()
130
135
  });
131
- tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h;
132
- return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_9__.id)(zTargetType);
136
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h;
137
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_11__.id)(zTargetType);
133
138
  })();
134
139
  const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
135
140
  zParsedPackageJson.parse(parsedPackageJson);
136
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__.is)(parsedPackageJson));
141
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(parsedPackageJson));
137
142
  return parsedPackageJson;
138
143
  })();
139
- (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__/* .addSyncExtensionsToPostinstallScript */ .N)({
144
+ (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__/* .addSyncExtensionsToPostinstallScript */ .N)({
140
145
  parsedPackageJson,
141
146
  buildContext
142
147
  });
148
+ await disableVerbatimModuleSyntax({
149
+ projectDirPath: buildContext.projectDirPath
150
+ });
143
151
  const uiSharedMajor = (() => {
144
152
  const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
145
153
  const version = dependencies["@keycloakify/keycloak-ui-shared"];
@@ -154,7 +162,7 @@ async function initializeSpa(params) {
154
162
  })();
155
163
  const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
156
164
  const version = (() => {
157
- const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_6__.execSync(`npm show ${moduleName} versions --json`)
165
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
158
166
  .toString("utf8")
159
167
  .trim();
160
168
  const versions = JSON.parse(cmdOutput);
@@ -167,25 +175,39 @@ async function initializeSpa(params) {
167
175
  .reverse()
168
176
  .filter(version => !version.includes("-"))
169
177
  .find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
170
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)(version !== undefined);
178
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(version !== undefined);
171
179
  ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
172
180
  if (parsedPackageJson.devDependencies !== undefined) {
173
181
  delete parsedPackageJson.devDependencies[moduleName];
174
182
  }
175
183
  {
176
184
  let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
177
- if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .getIsPrettierAvailable */ .MT)()) {
178
- sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .runPrettier */ .eY)({
185
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
186
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
179
187
  sourceCode,
180
188
  filePath: buildContext.packageJsonFilePath
181
189
  });
182
190
  }
183
191
  fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
184
192
  }
185
- await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__/* .npmInstall */ .c)({
193
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__/* .npmInstall */ .c)({
186
194
  packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
187
195
  });
188
196
  }
197
+ async function disableVerbatimModuleSyntax(params) {
198
+ const { projectDirPath } = params;
199
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(projectDirPath, "tsconfig.app.json");
200
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_9__/* .existsAsync */ .o)(filePath))) {
201
+ return;
202
+ }
203
+ let content = (await fs_promises__WEBPACK_IMPORTED_MODULE_2__.readFile(filePath)).toString("utf8");
204
+ const regExp = /"verbatimModuleSyntax"\s*:\s*true\s*(,?)/m;
205
+ if (!regExp.test(content)) {
206
+ return;
207
+ }
208
+ content = content.replace(regExp, `"verbatimModuleSyntax": false$1`);
209
+ await fs_promises__WEBPACK_IMPORTED_MODULE_2__.writeFile(filePath, Buffer.from(content, "utf8"));
210
+ }
189
211
  //# sourceMappingURL=initializeSpa.js.map
190
212
 
191
213
  /***/ })
package/bin/656.index.js CHANGED
@@ -14,16 +14,21 @@ __webpack_require__.r(__webpack_exports__);
14
14
  /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
15
15
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
16
16
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
17
- /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29041);
18
- /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38469);
19
- /* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80339);
20
- /* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48433);
21
- /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63046);
22
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32081);
23
- /* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_6__);
24
- /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52300);
25
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78818);
26
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_7__);
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
+
27
32
 
28
33
 
29
34
 
@@ -34,7 +39,7 @@ __webpack_require__.r(__webpack_exports__);
34
39
 
35
40
 
36
41
 
37
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)();
42
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)();
38
43
  async function initializeSpa(params) {
39
44
  var _a;
40
45
  const { themeType, buildContext } = params;
@@ -42,29 +47,32 @@ async function initializeSpa(params) {
42
47
  const themeTypeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(buildContext.themeSrcDirPath, themeType);
43
48
  if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(themeTypeSrcDirPath) &&
44
49
  fs__WEBPACK_IMPORTED_MODULE_1__.readdirSync(themeTypeSrcDirPath).length > 0) {
45
- console.warn(chalk__WEBPACK_IMPORTED_MODULE_7___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
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.`));
46
51
  process.exit(-1);
47
52
  }
48
53
  }
49
54
  const parsedPackageJson = (() => {
50
55
  const zParsedPackageJson = (() => {
51
- const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
52
- scripts: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
53
- dependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
54
- devDependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional()
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()
55
60
  });
56
- tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h;
57
- return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_9__.id)(zTargetType);
61
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h;
62
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_11__.id)(zTargetType);
58
63
  })();
59
64
  const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
60
65
  zParsedPackageJson.parse(parsedPackageJson);
61
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__.is)(parsedPackageJson));
66
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__.is)(parsedPackageJson));
62
67
  return parsedPackageJson;
63
68
  })();
64
- (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__/* .addSyncExtensionsToPostinstallScript */ .N)({
69
+ (0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_4__/* .addSyncExtensionsToPostinstallScript */ .N)({
65
70
  parsedPackageJson,
66
71
  buildContext
67
72
  });
73
+ await disableVerbatimModuleSyntax({
74
+ projectDirPath: buildContext.projectDirPath
75
+ });
68
76
  const uiSharedMajor = (() => {
69
77
  const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
70
78
  const version = dependencies["@keycloakify/keycloak-ui-shared"];
@@ -79,7 +87,7 @@ async function initializeSpa(params) {
79
87
  })();
80
88
  const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
81
89
  const version = (() => {
82
- const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_6__.execSync(`npm show ${moduleName} versions --json`)
90
+ const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_7__.execSync(`npm show ${moduleName} versions --json`)
83
91
  .toString("utf8")
84
92
  .trim();
85
93
  const versions = JSON.parse(cmdOutput);
@@ -92,25 +100,39 @@ async function initializeSpa(params) {
92
100
  .reverse()
93
101
  .filter(version => !version.includes("-"))
94
102
  .find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
95
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)(version !== undefined);
103
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(version !== undefined);
96
104
  ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
97
105
  if (parsedPackageJson.devDependencies !== undefined) {
98
106
  delete parsedPackageJson.devDependencies[moduleName];
99
107
  }
100
108
  {
101
109
  let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
102
- if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .getIsPrettierAvailable */ .MT)()) {
103
- sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .runPrettier */ .eY)({
110
+ if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .getIsPrettierAvailable */ .MT)()) {
111
+ sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_5__/* .runPrettier */ .eY)({
104
112
  sourceCode,
105
113
  filePath: buildContext.packageJsonFilePath
106
114
  });
107
115
  }
108
116
  fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
109
117
  }
110
- await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__/* .npmInstall */ .c)({
118
+ await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_6__/* .npmInstall */ .c)({
111
119
  packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
112
120
  });
113
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
+ }
114
136
  //# sourceMappingURL=initializeSpa.js.map
115
137
 
116
138
  /***/ }),
package/bin/762.index.js CHANGED
@@ -430,7 +430,7 @@ async function command(params) {
430
430
  if (values.length === 0) {
431
431
  return undefined;
432
432
  }
433
- console.log(source_default().cyan(`\nWhich theme theme type would you like to initialize?`));
433
+ console.log(source_default().cyan(`Which theme theme type would you like to initialize?`));
434
434
  const { value } = await dist_default()({
435
435
  values
436
436
  }).catch(() => {
package/bin/97.index.js CHANGED
@@ -1105,20 +1105,22 @@ async function npmInstall(params) {
1105
1105
  async function runPackageManagerInstall(params) {
1106
1106
  const { packageManagerBinName, cwd } = params;
1107
1107
  const dCompleted = new Deferred.Deferred();
1108
- const child = external_child_process_.spawn(packageManagerBinName, ["install"], {
1108
+ const child = external_child_process_.spawn(packageManagerBinName, ["install", ...(packageManagerBinName !== "npm" ? [] : ["--force"])], {
1109
1109
  cwd,
1110
1110
  env: process.env,
1111
1111
  shell: true
1112
1112
  });
1113
1113
  child.stdout.on("data", data => process.stdout.write(data));
1114
+ let errorLog = "";
1114
1115
  child.stderr.on("data", data => {
1115
1116
  if (data.toString("utf8").includes("peer dependency")) {
1116
1117
  return;
1117
1118
  }
1118
- process.stderr.write(data);
1119
+ errorLog += data.toString("utf8");
1119
1120
  });
1120
1121
  child.on("exit", code => {
1121
1122
  if (code !== 0) {
1123
+ console.log(errorLog);
1122
1124
  dCompleted.reject(new Error(`Failed with code ${code}`));
1123
1125
  return;
1124
1126
  }
package/bin/main.js CHANGED
@@ -72,9 +72,7 @@ function getProxyFetchOptions(params) {
72
72
  var _a, _b, _c;
73
73
  const { npmConfigGetCwd } = params;
74
74
  const cfg = (() => {
75
- const output = external_child_process_.execSync("npm config get", {
76
- cwd: npmConfigGetCwd
77
- })
75
+ const output = external_child_process_.execSync("npm config get", { cwd: npmConfigGetCwd })
78
76
  .toString("utf8");
79
77
  return output
80
78
  .split("\n")
@@ -202,11 +200,18 @@ function getBuildContext(params) {
202
200
  undefined) {
203
201
  return { resolvedViteConfig: undefined };
204
202
  }
205
- const output = external_child_process_.execSync("npx vite", {
206
- cwd: projectDirPath,
207
- env: Object.assign(Object.assign({}, process.env), { [constants/* VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG */.TE.RESOLVE_VITE_CONFIG]: "true" })
208
- })
209
- .toString("utf8");
203
+ let output;
204
+ try {
205
+ output = external_child_process_.execSync("npx vite", {
206
+ cwd: projectDirPath,
207
+ stdio: ["pipe", "pipe", "ignore"],
208
+ env: Object.assign(Object.assign({}, process.env), { [constants/* VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG */.TE.RESOLVE_VITE_CONFIG]: "true" })
209
+ })
210
+ .toString("utf8");
211
+ }
212
+ catch (error) {
213
+ throw new Error(`Failed to run \`npx vite\`: ${error}`);
214
+ }
210
215
  (0,assert/* assert */.h)(output.includes(constants/* VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG */.TE.RESOLVE_VITE_CONFIG), "Seems like the Keycloakify's Vite plugin is not installed.");
211
216
  const resolvedViteConfigStr = output
212
217
  .split(constants/* VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG */.TE.RESOLVE_VITE_CONFIG)
@@ -577,25 +582,27 @@ function getBuildContext(params) {
577
582
  environmentVariables: (_e = buildOptions.environmentVariables) !== null && _e !== void 0 ? _e : [],
578
583
  implementedThemeTypes,
579
584
  themeSrcDirPath,
580
- fetchOptions: getProxyFetchOptions({
581
- npmConfigGetCwd: (function callee(upCount) {
582
- const dirPath = (0,external_path_.resolve)((0,external_path_.join)(...[projectDirPath, ...Array(upCount).fill("..")]));
583
- (0,assert/* assert */.h)(dirPath !== external_path_.sep, "Couldn't find a place to run 'npm config get'");
584
- try {
585
- external_child_process_.execSync("npm config get", {
586
- cwd: dirPath,
587
- stdio: "pipe"
588
- });
589
- }
590
- catch (error) {
591
- if (String(error).includes("ENOWORKSPACES")) {
592
- return callee(upCount + 1);
585
+ get fetchOptions() {
586
+ return getProxyFetchOptions({
587
+ npmConfigGetCwd: (function callee(upCount) {
588
+ const dirPath = (0,external_path_.resolve)((0,external_path_.join)(...[projectDirPath, ...Array(upCount).fill("..")]));
589
+ (0,assert/* assert */.h)(dirPath !== external_path_.sep, "Couldn't find a place to run 'npm config get'");
590
+ try {
591
+ external_child_process_.execSync("npm config get", {
592
+ cwd: dirPath,
593
+ stdio: "pipe"
594
+ });
593
595
  }
594
- throw error;
595
- }
596
- return dirPath;
597
- })(0)
598
- }),
596
+ catch (error) {
597
+ if (String(error).includes("ENOWORKSPACES")) {
598
+ return callee(upCount + 1);
599
+ }
600
+ throw error;
601
+ }
602
+ return dirPath;
603
+ })(0)
604
+ });
605
+ },
599
606
  jarTargets: (() => {
600
607
  const getDefaultJarFileBasename = (range) => `keycloak-theme-for-kc-${range}.jar`;
601
608
  build_for_specific_keycloak_major_version: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "11.8.47-rc.1",
3
+ "version": "11.8.47-rc.3",
4
4
  "description": "Framework to create custom Keycloak UIs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -299,7 +299,7 @@ export async function command(params: { projectDirPath: string }) {
299
299
  return undefined;
300
300
  }
301
301
 
302
- console.log(chalk.cyan(`\nWhich theme theme type would you like to initialize?`));
302
+ console.log(chalk.cyan(`Which theme theme type would you like to initialize?`));
303
303
 
304
304
  const { value } = await cliSelect({
305
305
  values
@@ -168,7 +168,7 @@ export async function command(params: { buildContext: BuildContext }) {
168
168
  {
169
169
  const moduleName = "@keycloakify/login-ui";
170
170
 
171
- const latestVersion = await getModuleLatestVersion({ moduleName });
171
+ const latestVersion = getModuleLatestVersion({ moduleName });
172
172
 
173
173
  (parsedPackageJson.dependencies ??= {})[moduleName] = `~${latestVersion}`;
174
174
 
@@ -184,13 +184,59 @@ export async function command(params: { buildContext: BuildContext }) {
184
184
 
185
185
  const moduleName = "@keycloakify/login-ui-storybook";
186
186
 
187
- const latestVersion = await getModuleLatestVersion({ moduleName });
187
+ const latestVersion = getModuleLatestVersion({ moduleName });
188
188
 
189
189
  (parsedPackageJson.devDependencies ??= {})[moduleName] = `~${latestVersion}`;
190
190
 
191
191
  delete parsedPackageJson.dependencies[moduleName];
192
192
  }
193
193
 
194
+ update_main_dev: {
195
+ for (const fileBasename of ["main-kc.dev.tsx", "main.dev.tsx"]) {
196
+ const filePath = pathJoin(buildContext.themeSrcDirPath, fileBasename);
197
+
198
+ if (!(await existsAsync(filePath))) {
199
+ continue;
200
+ }
201
+
202
+ const content = (await fs.readFile(filePath)).toString("utf8");
203
+
204
+ if (!content.includes("export {}")) {
205
+ break update_main_dev;
206
+ }
207
+
208
+ let content_new = [
209
+ `import { createRoot } from "react-dom/client";`,
210
+ `import { StrictMode } from "react";`,
211
+ `import { KcPage } from "./kc.gen";`,
212
+ `import { getKcContextMock } from "./login/mocks/getKcContextMock";`,
213
+ ``,
214
+ `const kcContext = getKcContextMock({`,
215
+ ` pageId: "login.ftl",`,
216
+ ` overrides: {}`,
217
+ `});`,
218
+ ``,
219
+ `createRoot(document.getElementById("root")!).render(`,
220
+ ` <StrictMode>`,
221
+ ` <KcPage kcContext={kcContext} />`,
222
+ ` </StrictMode>`,
223
+ `);`,
224
+ ``
225
+ ].join("\n");
226
+
227
+ if (await getIsPrettierAvailable()) {
228
+ content_new = await runPrettier({
229
+ sourceCode: content_new,
230
+ filePath
231
+ });
232
+ }
233
+
234
+ await fs.writeFile(filePath, content_new);
235
+
236
+ break;
237
+ }
238
+ }
239
+
194
240
  {
195
241
  let sourceCode = JSON.stringify(parsedPackageJson, null, 2);
196
242
 
@@ -212,7 +258,7 @@ export async function command(params: { buildContext: BuildContext }) {
212
258
  });
213
259
  }
214
260
 
215
- async function getModuleLatestVersion(params: { moduleName: string }) {
261
+ function getModuleLatestVersion(params: { moduleName: string }) {
216
262
  const { moduleName } = params;
217
263
 
218
264
  const versions = ((): string[] => {
@@ -178,15 +178,22 @@ export function getBuildContext(params: {
178
178
  return { resolvedViteConfig: undefined };
179
179
  }
180
180
 
181
- const output = child_process
182
- .execSync("npx vite", {
183
- cwd: projectDirPath,
184
- env: {
185
- ...process.env,
186
- [VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG]: "true"
187
- }
188
- })
189
- .toString("utf8");
181
+ let output: string;
182
+
183
+ try {
184
+ output = child_process
185
+ .execSync("npx vite", {
186
+ cwd: projectDirPath,
187
+ stdio: ["pipe", "pipe", "ignore"],
188
+ env: {
189
+ ...process.env,
190
+ [VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG]: "true"
191
+ }
192
+ })
193
+ .toString("utf8");
194
+ } catch (error) {
195
+ throw new Error(`Failed to run \`npx vite\`: ${error}`);
196
+ }
190
197
 
191
198
  assert(
192
199
  output.includes(VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG),
@@ -735,33 +742,36 @@ export function getBuildContext(params: {
735
742
  environmentVariables: buildOptions.environmentVariables ?? [],
736
743
  implementedThemeTypes,
737
744
  themeSrcDirPath,
738
- fetchOptions: getProxyFetchOptions({
739
- npmConfigGetCwd: (function callee(upCount: number): string {
740
- const dirPath = pathResolve(
741
- pathJoin(...[projectDirPath, ...Array(upCount).fill("..")])
742
- );
745
+ get fetchOptions() {
746
+ return getProxyFetchOptions({
747
+ npmConfigGetCwd: (function callee(upCount: number): string {
748
+ const dirPath = pathResolve(
749
+ pathJoin(...[projectDirPath, ...Array(upCount).fill("..")])
750
+ );
743
751
 
744
- assert(
745
- dirPath !== pathSep,
746
- "Couldn't find a place to run 'npm config get'"
747
- );
752
+ assert(
753
+ dirPath !== pathSep,
754
+ "Couldn't find a place to run 'npm config get'"
755
+ );
748
756
 
749
- try {
750
- child_process.execSync("npm config get", {
751
- cwd: dirPath,
752
- stdio: "pipe"
753
- });
754
- } catch (error) {
755
- if (String(error).includes("ENOWORKSPACES")) {
756
- return callee(upCount + 1);
757
+ try {
758
+ child_process.execSync("npm config get", {
759
+ cwd: dirPath,
760
+ stdio: "pipe"
761
+ });
762
+ } catch (error) {
763
+ if (String(error).includes("ENOWORKSPACES")) {
764
+ return callee(upCount + 1);
765
+ }
766
+
767
+ throw error;
757
768
  }
758
769
 
759
- throw error;
760
- }
770
+ return dirPath;
771
+ })(0)
772
+ });
773
+ },
761
774
 
762
- return dirPath;
763
- })(0)
764
- }),
765
775
  jarTargets: (() => {
766
776
  const getDefaultJarFileBasename = (range: string) =>
767
777
  `keycloak-theme-for-kc-${range}.jar`;
@@ -1,6 +1,7 @@
1
1
  import { dirname as pathDirname, join as pathJoin, relative as pathRelative } from "path";
2
2
  import type { BuildContext } from "./buildContext";
3
3
  import * as fs from "fs";
4
+ import * as fsPr from "fs/promises";
4
5
  import { assert, is, type Equals } from "tsafe/assert";
5
6
  import { id } from "tsafe/id";
6
7
  import {
@@ -12,6 +13,7 @@ import { npmInstall } from "../tools/npmInstall";
12
13
  import * as child_process from "child_process";
13
14
  import { z } from "zod";
14
15
  import chalk from "chalk";
16
+ import { existsAsync } from "../tools/fs.existsAsync";
15
17
 
16
18
  export type BuildContextLike = BuildContextLike_addSyncExtensionsToPostinstallScript & {
17
19
  themeSrcDirPath: string;
@@ -82,6 +84,10 @@ export async function initializeSpa(params: {
82
84
  buildContext
83
85
  });
84
86
 
87
+ await disableVerbatimModuleSyntax({
88
+ projectDirPath: buildContext.projectDirPath
89
+ });
90
+
85
91
  const uiSharedMajor = (() => {
86
92
  const dependencies = {
87
93
  ...parsedPackageJson.devDependencies,
@@ -154,3 +160,25 @@ export async function initializeSpa(params: {
154
160
  packageJsonDirPath: pathDirname(buildContext.packageJsonFilePath)
155
161
  });
156
162
  }
163
+
164
+ async function disableVerbatimModuleSyntax(params: { projectDirPath: string }) {
165
+ const { projectDirPath } = params;
166
+
167
+ const filePath = pathJoin(projectDirPath, "tsconfig.app.json");
168
+
169
+ if (!(await existsAsync(filePath))) {
170
+ return;
171
+ }
172
+
173
+ let content = (await fsPr.readFile(filePath)).toString("utf8");
174
+
175
+ const regExp = /"verbatimModuleSyntax"\s*:\s*true\s*(,?)/m;
176
+
177
+ if (!regExp.test(content)) {
178
+ return;
179
+ }
180
+
181
+ content = content.replace(regExp, `"verbatimModuleSyntax": false$1`);
182
+
183
+ await fsPr.writeFile(filePath, Buffer.from(content, "utf8"));
184
+ }
@@ -17,9 +17,7 @@ export function getProxyFetchOptions(params: {
17
17
 
18
18
  const cfg = (() => {
19
19
  const output = child_process
20
- .execSync("npm config get", {
21
- cwd: npmConfigGetCwd
22
- })
20
+ .execSync("npm config get", { cwd: npmConfigGetCwd })
23
21
  .toString("utf8");
24
22
 
25
23
  return output
@@ -99,24 +99,31 @@ async function runPackageManagerInstall(params: {
99
99
 
100
100
  const dCompleted = new Deferred<void>();
101
101
 
102
- const child = child_process.spawn(packageManagerBinName, ["install"], {
103
- cwd,
104
- env: process.env,
105
- shell: true
106
- });
102
+ const child = child_process.spawn(
103
+ packageManagerBinName,
104
+ ["install", ...(packageManagerBinName !== "npm" ? [] : ["--force"])],
105
+ {
106
+ cwd,
107
+ env: process.env,
108
+ shell: true
109
+ }
110
+ );
107
111
 
108
112
  child.stdout.on("data", data => process.stdout.write(data));
109
113
 
114
+ let errorLog = "";
115
+
110
116
  child.stderr.on("data", data => {
111
117
  if (data.toString("utf8").includes("peer dependency")) {
112
118
  return;
113
119
  }
114
120
 
115
- process.stderr.write(data);
121
+ errorLog += data.toString("utf8");
116
122
  });
117
123
 
118
124
  child.on("exit", code => {
119
125
  if (code !== 0) {
126
+ console.log(errorLog);
120
127
  dCompleted.reject(new Error(`Failed with code ${code}`));
121
128
  return;
122
129
  }
@@ -286,9 +286,7 @@ function getProxyFetchOptions(params) {
286
286
  var _a, _b, _c;
287
287
  const { npmConfigGetCwd } = params;
288
288
  const cfg = (() => {
289
- const output = external_child_process_.execSync("npm config get", {
290
- cwd: npmConfigGetCwd
291
- })
289
+ const output = external_child_process_.execSync("npm config get", { cwd: npmConfigGetCwd })
292
290
  .toString("utf8");
293
291
  return output
294
292
  .split("\n")
@@ -416,11 +414,18 @@ function getBuildContext(params) {
416
414
  undefined) {
417
415
  return { resolvedViteConfig: undefined };
418
416
  }
419
- const output = external_child_process_.execSync("npx vite", {
420
- cwd: projectDirPath,
421
- env: Object.assign(Object.assign({}, process.env), { [constants.VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG]: "true" })
422
- })
423
- .toString("utf8");
417
+ let output;
418
+ try {
419
+ output = external_child_process_.execSync("npx vite", {
420
+ cwd: projectDirPath,
421
+ stdio: ["pipe", "pipe", "ignore"],
422
+ env: Object.assign(Object.assign({}, process.env), { [constants.VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG]: "true" })
423
+ })
424
+ .toString("utf8");
425
+ }
426
+ catch (error) {
427
+ throw new Error(`Failed to run \`npx vite\`: ${error}`);
428
+ }
424
429
  (0,assert/* assert */.h)(output.includes(constants.VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG), "Seems like the Keycloakify's Vite plugin is not installed.");
425
430
  const resolvedViteConfigStr = output
426
431
  .split(constants.VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES.RESOLVE_VITE_CONFIG)
@@ -791,25 +796,27 @@ function getBuildContext(params) {
791
796
  environmentVariables: (_e = buildOptions.environmentVariables) !== null && _e !== void 0 ? _e : [],
792
797
  implementedThemeTypes,
793
798
  themeSrcDirPath,
794
- fetchOptions: getProxyFetchOptions({
795
- npmConfigGetCwd: (function callee(upCount) {
796
- const dirPath = (0,external_path_.resolve)((0,external_path_.join)(...[projectDirPath, ...Array(upCount).fill("..")]));
797
- (0,assert/* assert */.h)(dirPath !== external_path_.sep, "Couldn't find a place to run 'npm config get'");
798
- try {
799
- external_child_process_.execSync("npm config get", {
800
- cwd: dirPath,
801
- stdio: "pipe"
802
- });
803
- }
804
- catch (error) {
805
- if (String(error).includes("ENOWORKSPACES")) {
806
- return callee(upCount + 1);
799
+ get fetchOptions() {
800
+ return getProxyFetchOptions({
801
+ npmConfigGetCwd: (function callee(upCount) {
802
+ const dirPath = (0,external_path_.resolve)((0,external_path_.join)(...[projectDirPath, ...Array(upCount).fill("..")]));
803
+ (0,assert/* assert */.h)(dirPath !== external_path_.sep, "Couldn't find a place to run 'npm config get'");
804
+ try {
805
+ external_child_process_.execSync("npm config get", {
806
+ cwd: dirPath,
807
+ stdio: "pipe"
808
+ });
807
809
  }
808
- throw error;
809
- }
810
- return dirPath;
811
- })(0)
812
- }),
810
+ catch (error) {
811
+ if (String(error).includes("ENOWORKSPACES")) {
812
+ return callee(upCount + 1);
813
+ }
814
+ throw error;
815
+ }
816
+ return dirPath;
817
+ })(0)
818
+ });
819
+ },
813
820
  jarTargets: (() => {
814
821
  const getDefaultJarFileBasename = (range) => `keycloak-theme-for-kc-${range}.jar`;
815
822
  build_for_specific_keycloak_major_version: {