@keycloakify/svelte 0.1.9 → 0.1.11

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.
@@ -31,8 +31,8 @@ var assert = __webpack_require__(966);
31
31
  var id = __webpack_require__(94);
32
32
  // EXTERNAL MODULE: ./node_modules/tsafe/esm/is.mjs
33
33
  var is = __webpack_require__(289);
34
- // EXTERNAL MODULE: ./node_modules/zod/lib/index.mjs
35
- var lib = __webpack_require__(383);
34
+ // EXTERNAL MODULE: ./node_modules/zod/v4/classic/schemas.js + 12 modules
35
+ var schemas = __webpack_require__(788);
36
36
  ;// CONCATENATED MODULE: ./dist/keycloakify-svelte/bin/initialize-account-theme/updateAccountThemeImplementationInConfig.ts
37
37
 
38
38
 
@@ -65,8 +65,8 @@ function updateAccountThemeImplementationInConfig(params) {
65
65
  {
66
66
  const parsedPackageJson = (() => {
67
67
  const zParsedPackageJson = (() => {
68
- const zTargetType = lib.z.object({
69
- keycloakify: lib.z.record(lib.z.unknown()),
68
+ const zTargetType = schemas/* object */.Ik({
69
+ keycloakify: schemas/* record */.g1(schemas/* unknown */.L5()),
70
70
  });
71
71
  (0,assert/* assert */.v)();
72
72
  return (0,id.id)(zTargetType);
@@ -655,45 +655,68 @@ async function command(params) {
655
655
  process.exit(0);
656
656
  }
657
657
  console.log(`→ ${pageIdOrComponent}`);
658
- const componentBasename = (() => {
658
+ const componentBasenames = (() => {
659
659
  if (pageIdOrComponent === templateValue) {
660
- return 'Template.svelte';
660
+ return ['Template.svelte'];
661
661
  }
662
662
  if (pageIdOrComponent === userProfileFormFieldsValue) {
663
- return 'UserProfileFormFields.svelte';
663
+ return [
664
+ 'UserProfileFormFields.svelte',
665
+ 'InputFieldByType.svelte',
666
+ 'LogoutOtherSessions.svelte',
667
+ 'PasswordWrapper.svelte',
668
+ 'AddRemoveButtonsMultiValuedAttribute.svelte',
669
+ 'SelectTag.svelte',
670
+ 'FieldErrors.svelte',
671
+ 'InputTag.svelte',
672
+ 'TermsAcceptance.svelte',
673
+ 'GroupLabel.svelte',
674
+ 'InputTagSelects.svelte',
675
+ 'TextareaTag.svelte',
676
+ 'InputFieldByTypeProps.ts',
677
+ 'UserProfileFormFieldsProps.ts',
678
+ ];
664
679
  }
665
- return (0,tsafe_capitalize__WEBPACK_IMPORTED_MODULE_6__/* .capitalize */ .Z)((0,_tools_kebabCaseToSnakeCase__WEBPACK_IMPORTED_MODULE_7__/* .kebabCaseToCamelCase */ .b)(pageIdOrComponent)).replace(/ftl$/, 'svelte');
680
+ return [(0,tsafe_capitalize__WEBPACK_IMPORTED_MODULE_6__/* .capitalize */ .Z)((0,_tools_kebabCaseToSnakeCase__WEBPACK_IMPORTED_MODULE_7__/* .kebabCaseToCamelCase */ .b)(pageIdOrComponent)).replace(/ftl$/, 'svelte')];
666
681
  })();
667
682
  const pagesOrDot = (() => {
668
- if (pageIdOrComponent === templateValue || pageIdOrComponent === userProfileFormFieldsValue) {
683
+ if (pageIdOrComponent === templateValue) {
669
684
  return '.';
670
685
  }
686
+ else if (pageIdOrComponent === userProfileFormFieldsValue) {
687
+ return 'components';
688
+ }
671
689
  return 'pages';
672
690
  })();
673
- const targetFilePath = (0,path__WEBPACK_IMPORTED_MODULE_3__.join)(buildContext.themeSrcDirPath, themeType, pagesOrDot, componentBasename);
674
- if (fs__WEBPACK_IMPORTED_MODULE_2__.existsSync(targetFilePath)) {
675
- console.log(`${pageIdOrComponent} is already ejected, ${(0,path__WEBPACK_IMPORTED_MODULE_3__.relative)(process.cwd(), targetFilePath)} already exists`);
676
- process.exit(-1);
677
- }
678
- let componentCode = fs__WEBPACK_IMPORTED_MODULE_2__.readFileSync((0,path__WEBPACK_IMPORTED_MODULE_3__.join)((0,_tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_8__/* .getThisCodebaseRootDirPath */ .J)(), 'src', themeType, pagesOrDot, componentBasename))
679
- .toString('utf8');
680
- run_prettier: {
681
- if (!(await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_9__/* .getIsPrettierAvailable */ .L)())) {
682
- break run_prettier;
691
+ for (const componentBasename of componentBasenames) {
692
+ const targetFilePath = (0,path__WEBPACK_IMPORTED_MODULE_3__.join)(buildContext.themeSrcDirPath, themeType, pagesOrDot, componentBasename);
693
+ if (fs__WEBPACK_IMPORTED_MODULE_2__.existsSync(targetFilePath)) {
694
+ console.log(`${pageIdOrComponent} is already ejected, ${(0,path__WEBPACK_IMPORTED_MODULE_3__.relative)(process.cwd(), targetFilePath)} already exists`);
695
+ process.exit(-1);
683
696
  }
684
- componentCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_9__/* .runPrettier */ .JS)({
685
- filePath: targetFilePath,
686
- sourceCode: componentCode,
687
- });
688
- }
689
- {
690
- const targetDirPath = (0,path__WEBPACK_IMPORTED_MODULE_3__.dirname)(targetFilePath);
691
- if (!fs__WEBPACK_IMPORTED_MODULE_2__.existsSync(targetDirPath)) {
692
- fs__WEBPACK_IMPORTED_MODULE_2__.mkdirSync(targetDirPath, { recursive: true });
697
+ let componentCode = fs__WEBPACK_IMPORTED_MODULE_2__.readFileSync((0,path__WEBPACK_IMPORTED_MODULE_3__.join)((0,_tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_8__/* .getThisCodebaseRootDirPath */ .J)(), 'src', themeType, pagesOrDot, componentBasename))
698
+ .toString('utf8');
699
+ if (userProfileFormFieldsValue) {
700
+ componentCode = componentCode.replace(new RegExp(`from '@keycloakify/svelte/login/components/(${componentBasenames.join('|').replace(/\.ts/g, '')})`, 'g'), `from './$1`);
701
+ }
702
+ run_prettier: {
703
+ if (!(await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_9__/* .getIsPrettierAvailable */ .L)())) {
704
+ break run_prettier;
705
+ }
706
+ componentCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_9__/* .runPrettier */ .JS)({
707
+ filePath: targetFilePath,
708
+ sourceCode: componentCode,
709
+ });
710
+ }
711
+ {
712
+ const targetDirPath = (0,path__WEBPACK_IMPORTED_MODULE_3__.dirname)(targetFilePath);
713
+ if (!fs__WEBPACK_IMPORTED_MODULE_2__.existsSync(targetDirPath)) {
714
+ fs__WEBPACK_IMPORTED_MODULE_2__.mkdirSync(targetDirPath, { recursive: true });
715
+ }
693
716
  }
717
+ fs__WEBPACK_IMPORTED_MODULE_2__.writeFileSync(targetFilePath, Buffer.from(componentCode, 'utf8'));
718
+ console.log(`${chalk__WEBPACK_IMPORTED_MODULE_0___default().green('✓')} ${chalk__WEBPACK_IMPORTED_MODULE_0___default().bold((0,path__WEBPACK_IMPORTED_MODULE_3__.join)('.', (0,path__WEBPACK_IMPORTED_MODULE_3__.relative)(process.cwd(), targetFilePath)))} copy pasted from the Keycloakify source code into your project`);
694
719
  }
695
- fs__WEBPACK_IMPORTED_MODULE_2__.writeFileSync(targetFilePath, Buffer.from(componentCode, 'utf8'));
696
- console.log(`${chalk__WEBPACK_IMPORTED_MODULE_0___default().green('✓')} ${chalk__WEBPACK_IMPORTED_MODULE_0___default().bold((0,path__WEBPACK_IMPORTED_MODULE_3__.join)('.', (0,path__WEBPACK_IMPORTED_MODULE_3__.relative)(process.cwd(), targetFilePath)))} copy pasted from the Keycloakify source code into your project`);
697
720
  edit_KcPage: {
698
721
  if (pageIdOrComponent !== templateValue && pageIdOrComponent !== userProfileFormFieldsValue) {
699
722
  break edit_KcPage;
@@ -705,7 +728,7 @@ async function command(params) {
705
728
  case templateValue:
706
729
  return kcAppSvelteCode.replace(`@keycloakify/svelte/${themeType}/Template`, './Template');
707
730
  case userProfileFormFieldsValue:
708
- return kcAppSvelteCode.replace(`@keycloakify/svelte/login/UserProfileFormFields`, './UserProfileFormFields');
731
+ return kcAppSvelteCode.replace(`@keycloakify/svelte/login/components/UserProfileFormFields`, './components/UserProfileFormFields');
709
732
  }
710
733
  (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)(false);
711
734
  })();
@@ -732,7 +755,7 @@ async function command(params) {
732
755
  ` switch (kcContext.pageId) {`,
733
756
  `+`,
734
757
  ` case '${pageIdOrComponent}':`,
735
- ` return import('./pages/${componentBasename}');`,
758
+ ` return import('./pages/${componentBasenames[0]}');`,
736
759
  `+`,
737
760
  ` //...`,
738
761
  ` default:`,
@@ -2452,7 +2452,7 @@ const { buildContext, commandName } = readParams({ apiVersion: 'v1' });
2452
2452
  return;
2453
2453
  case 'initialize-account-theme':
2454
2454
  {
2455
- const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(279), __nccwpck_require__.e(709)]).then(__nccwpck_require__.bind(__nccwpck_require__, 709));
2455
+ const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(292), __nccwpck_require__.e(709)]).then(__nccwpck_require__.bind(__nccwpck_require__, 709));
2456
2456
  command({ buildContext });
2457
2457
  }
2458
2458
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keycloakify/svelte",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Svelte Components for Keycloakify",
5
5
  "keywords": [
6
6
  "keycloak",
@@ -437,33 +437,33 @@
437
437
  },
438
438
  "devDependencies": {
439
439
  "@sveltejs/adapter-auto": "^6.0.1",
440
- "@sveltejs/kit": "^2.21.0",
441
- "@sveltejs/package": "^2.3.11",
442
- "@sveltejs/vite-plugin-svelte": "^5.0.3",
440
+ "@sveltejs/kit": "^2.22.5",
441
+ "@sveltejs/package": "^2.3.12",
442
+ "@sveltejs/vite-plugin-svelte": "^6.0.0",
443
443
  "@types/eslint": "^9.6.1",
444
444
  "@types/node": "^22.15.18",
445
445
  "@vercel/ncc": "^0.38.3",
446
446
  "conventional-changelog-cli": "^5.0.0",
447
447
  "cz-conventional-changelog": "^3.3.0",
448
448
  "cli-select": "^1.1.2",
449
- "eslint": "9.26.0",
449
+ "eslint": "^9.31.0",
450
450
  "eslint-config-prettier": "^10.1.5",
451
- "eslint-plugin-prettier": "^5.4.0",
452
- "eslint-plugin-svelte": "^3.7.0",
451
+ "eslint-plugin-prettier": "^5.5.1",
452
+ "eslint-plugin-svelte": "^3.10.1",
453
453
  "eslint-plugin-unused-imports": "^4.1.4",
454
- "globals": "^16.1.0",
455
- "keycloakify": "^11.8.27",
454
+ "globals": "^16.3.0",
455
+ "keycloakify": "^11.8.50",
456
456
  "npm-check-updates": "^18.0.1",
457
- "prettier": "^3.5.3",
457
+ "prettier": "^3.6.2",
458
458
  "prettier-plugin-svelte": "^3.4.0",
459
459
  "publint": "0.2.12",
460
- "svelte": "^5.30.1",
461
- "svelte-check": "^4.2.1",
462
- "tsx": "^4.19.4",
460
+ "svelte": "^5.35.6",
461
+ "svelte-check": "^4.2.2",
462
+ "tsx": "^4.20.3",
463
463
  "typescript": "~5.8.3",
464
- "typescript-eslint": "^8.32.1",
465
- "vite": "^6.3.5",
466
- "zod": "^3.24.4"
464
+ "typescript-eslint": "^8.36.0",
465
+ "vite": "^7.0.4",
466
+ "zod": "^4.0.5"
467
467
  },
468
468
  "bin": {
469
469
  "_keycloakify-custom-handler": "keycloakify-svelte/bin/index.js"
@@ -95,66 +95,94 @@ export async function command(params: { buildContext: BuildContext }) {
95
95
 
96
96
  console.log(`→ ${pageIdOrComponent}`);
97
97
 
98
- const componentBasename = (() => {
98
+ const componentBasenames = (() => {
99
99
  if (pageIdOrComponent === templateValue) {
100
- return 'Template.svelte';
100
+ return ['Template.svelte'];
101
101
  }
102
102
 
103
103
  if (pageIdOrComponent === userProfileFormFieldsValue) {
104
- return 'UserProfileFormFields.svelte';
104
+ return [
105
+ 'UserProfileFormFields.svelte',
106
+ 'InputFieldByType.svelte',
107
+ 'LogoutOtherSessions.svelte',
108
+ 'PasswordWrapper.svelte',
109
+ 'AddRemoveButtonsMultiValuedAttribute.svelte',
110
+ 'SelectTag.svelte',
111
+ 'FieldErrors.svelte',
112
+ 'InputTag.svelte',
113
+ 'TermsAcceptance.svelte',
114
+ 'GroupLabel.svelte',
115
+ 'InputTagSelects.svelte',
116
+ 'TextareaTag.svelte',
117
+ 'InputFieldByTypeProps.ts',
118
+ 'UserProfileFormFieldsProps.ts',
119
+ ];
105
120
  }
106
121
 
107
- return capitalize(kebabCaseToCamelCase(pageIdOrComponent)).replace(/ftl$/, 'svelte');
122
+ return [capitalize(kebabCaseToCamelCase(pageIdOrComponent)).replace(/ftl$/, 'svelte')];
108
123
  })();
109
124
 
110
125
  const pagesOrDot = (() => {
111
- if (pageIdOrComponent === templateValue || pageIdOrComponent === userProfileFormFieldsValue) {
126
+ if (pageIdOrComponent === templateValue) {
112
127
  return '.';
128
+ } else if (pageIdOrComponent === userProfileFormFieldsValue) {
129
+ return 'components';
113
130
  }
114
131
 
115
132
  return 'pages';
116
133
  })();
117
134
 
118
- const targetFilePath = pathJoin(buildContext.themeSrcDirPath, themeType, pagesOrDot, componentBasename);
135
+ for (const componentBasename of componentBasenames) {
136
+ const targetFilePath = pathJoin(buildContext.themeSrcDirPath, themeType, pagesOrDot, componentBasename);
119
137
 
120
- if (fs.existsSync(targetFilePath)) {
121
- console.log(
122
- `${pageIdOrComponent} is already ejected, ${pathRelative(process.cwd(), targetFilePath)} already exists`,
123
- );
124
-
125
- process.exit(-1);
126
- }
138
+ if (fs.existsSync(targetFilePath)) {
139
+ console.log(
140
+ `${pageIdOrComponent} is already ejected, ${pathRelative(process.cwd(), targetFilePath)} already exists`,
141
+ );
127
142
 
128
- let componentCode = fs
129
- .readFileSync(pathJoin(getThisCodebaseRootDirPath(), 'src', themeType, pagesOrDot, componentBasename))
130
- .toString('utf8');
143
+ process.exit(-1);
144
+ }
131
145
 
132
- run_prettier: {
133
- if (!(await getIsPrettierAvailable())) {
134
- break run_prettier;
146
+ let componentCode = fs
147
+ .readFileSync(pathJoin(getThisCodebaseRootDirPath(), 'src', themeType, pagesOrDot, componentBasename))
148
+ .toString('utf8');
149
+ if (userProfileFormFieldsValue) {
150
+ componentCode = componentCode.replace(
151
+ new RegExp(
152
+ `from '@keycloakify/svelte/login/components/(${componentBasenames.join('|').replace(/\.ts/g, '')})`,
153
+ 'g',
154
+ ),
155
+ `from './$1`,
156
+ );
135
157
  }
136
158
 
137
- componentCode = await runPrettier({
138
- filePath: targetFilePath,
139
- sourceCode: componentCode,
140
- });
141
- }
159
+ run_prettier: {
160
+ if (!(await getIsPrettierAvailable())) {
161
+ break run_prettier;
162
+ }
163
+
164
+ componentCode = await runPrettier({
165
+ filePath: targetFilePath,
166
+ sourceCode: componentCode,
167
+ });
168
+ }
142
169
 
143
- {
144
- const targetDirPath = pathDirname(targetFilePath);
170
+ {
171
+ const targetDirPath = pathDirname(targetFilePath);
145
172
 
146
- if (!fs.existsSync(targetDirPath)) {
147
- fs.mkdirSync(targetDirPath, { recursive: true });
173
+ if (!fs.existsSync(targetDirPath)) {
174
+ fs.mkdirSync(targetDirPath, { recursive: true });
175
+ }
148
176
  }
149
- }
150
177
 
151
- fs.writeFileSync(targetFilePath, Buffer.from(componentCode, 'utf8'));
178
+ fs.writeFileSync(targetFilePath, Buffer.from(componentCode, 'utf8'));
152
179
 
153
- console.log(
154
- `${chalk.green('✓')} ${chalk.bold(
155
- pathJoin('.', pathRelative(process.cwd(), targetFilePath)),
156
- )} copy pasted from the Keycloakify source code into your project`,
157
- );
180
+ console.log(
181
+ `${chalk.green('✓')} ${chalk.bold(
182
+ pathJoin('.', pathRelative(process.cwd(), targetFilePath)),
183
+ )} copy pasted from the Keycloakify source code into your project`,
184
+ );
185
+ }
158
186
 
159
187
  edit_KcPage: {
160
188
  if (pageIdOrComponent !== templateValue && pageIdOrComponent !== userProfileFormFieldsValue) {
@@ -170,7 +198,10 @@ export async function command(params: { buildContext: BuildContext }) {
170
198
  case templateValue:
171
199
  return kcAppSvelteCode.replace(`@keycloakify/svelte/${themeType}/Template`, './Template');
172
200
  case userProfileFormFieldsValue:
173
- return kcAppSvelteCode.replace(`@keycloakify/svelte/login/UserProfileFormFields`, './UserProfileFormFields');
201
+ return kcAppSvelteCode.replace(
202
+ `@keycloakify/svelte/login/components/UserProfileFormFields`,
203
+ './components/UserProfileFormFields',
204
+ );
174
205
  }
175
206
  assert<Equals<typeof pageIdOrComponent, never>>(false);
176
207
  })();
@@ -207,7 +238,7 @@ export async function command(params: { buildContext: BuildContext }) {
207
238
  ` switch (kcContext.pageId) {`,
208
239
  `+`,
209
240
  ` case '${pageIdOrComponent}':`,
210
- ` return import('./pages/${componentBasename}');`,
241
+ ` return import('./pages/${componentBasenames[0]}');`,
211
242
  `+`,
212
243
  ` //...`,
213
244
  ` default:`,