@bleedingdev/modern-js-create 3.2.0-ultramodern.12 → 3.2.0-ultramodern.121

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 (165) hide show
  1. package/README.md +167 -72
  2. package/bin/run.js +0 -0
  3. package/dist/cjs/create-package-root.cjs +63 -0
  4. package/dist/cjs/index.cjs +528 -0
  5. package/dist/cjs/locale/en.cjs +93 -0
  6. package/dist/cjs/locale/index.cjs +50 -0
  7. package/dist/cjs/locale/zh.cjs +93 -0
  8. package/dist/cjs/ultramodern-package-source.cjs +135 -0
  9. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +337 -0
  10. package/dist/cjs/ultramodern-workspace/app-files.cjs +223 -0
  11. package/dist/cjs/ultramodern-workspace/contracts.cjs +836 -0
  12. package/dist/cjs/ultramodern-workspace/demo-components.cjs +422 -0
  13. package/dist/cjs/ultramodern-workspace/descriptors.cjs +222 -0
  14. package/dist/cjs/ultramodern-workspace/effect-api.cjs +952 -0
  15. package/dist/cjs/ultramodern-workspace/fs-io.cjs +191 -0
  16. package/dist/cjs/ultramodern-workspace/index.cjs +48 -0
  17. package/dist/cjs/ultramodern-workspace/locales.cjs +173 -0
  18. package/dist/cjs/ultramodern-workspace/module-federation.cjs +487 -0
  19. package/dist/cjs/ultramodern-workspace/naming.cjs +161 -0
  20. package/dist/cjs/ultramodern-workspace/package-json.cjs +406 -0
  21. package/dist/cjs/ultramodern-workspace/package-source.cjs +59 -0
  22. package/dist/cjs/ultramodern-workspace/policy.cjs +248 -0
  23. package/dist/cjs/ultramodern-workspace/public-surface.cjs +268 -0
  24. package/dist/cjs/ultramodern-workspace/routes.cjs +375 -0
  25. package/dist/cjs/ultramodern-workspace/types.cjs +61 -0
  26. package/dist/cjs/ultramodern-workspace/versions.cjs +153 -0
  27. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +153 -0
  28. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +175 -0
  29. package/dist/esm/create-package-root.js +14 -0
  30. package/dist/esm/index.js +491 -0
  31. package/dist/esm/locale/en.js +55 -0
  32. package/dist/esm/locale/index.js +9 -0
  33. package/dist/esm/locale/zh.js +55 -0
  34. package/dist/esm/ultramodern-package-source.js +63 -0
  35. package/dist/esm/ultramodern-workspace/add-vertical.js +252 -0
  36. package/dist/esm/ultramodern-workspace/app-files.js +149 -0
  37. package/dist/esm/ultramodern-workspace/contracts.js +741 -0
  38. package/dist/esm/ultramodern-workspace/demo-components.js +363 -0
  39. package/dist/esm/ultramodern-workspace/descriptors.js +133 -0
  40. package/dist/esm/ultramodern-workspace/effect-api.js +854 -0
  41. package/dist/esm/ultramodern-workspace/fs-io.js +90 -0
  42. package/dist/esm/ultramodern-workspace/index.js +3 -0
  43. package/dist/esm/ultramodern-workspace/locales.js +122 -0
  44. package/dist/esm/ultramodern-workspace/module-federation.js +415 -0
  45. package/dist/esm/ultramodern-workspace/naming.js +71 -0
  46. package/dist/esm/ultramodern-workspace/package-json.js +338 -0
  47. package/dist/esm/ultramodern-workspace/package-source.js +21 -0
  48. package/dist/esm/ultramodern-workspace/policy.js +183 -0
  49. package/dist/esm/ultramodern-workspace/public-surface.js +183 -0
  50. package/dist/esm/ultramodern-workspace/routes.js +280 -0
  51. package/dist/esm/ultramodern-workspace/types.js +16 -0
  52. package/dist/esm/ultramodern-workspace/versions.js +34 -0
  53. package/dist/esm/ultramodern-workspace/workspace-scripts.js +91 -0
  54. package/dist/esm/ultramodern-workspace/write-workspace.js +121 -0
  55. package/dist/esm-node/create-package-root.js +15 -0
  56. package/dist/esm-node/index.js +492 -0
  57. package/dist/esm-node/locale/en.js +56 -0
  58. package/dist/esm-node/locale/index.js +10 -0
  59. package/dist/esm-node/locale/zh.js +56 -0
  60. package/dist/esm-node/ultramodern-package-source.js +64 -0
  61. package/dist/esm-node/ultramodern-workspace/add-vertical.js +253 -0
  62. package/dist/esm-node/ultramodern-workspace/app-files.js +150 -0
  63. package/dist/esm-node/ultramodern-workspace/contracts.js +742 -0
  64. package/dist/esm-node/ultramodern-workspace/demo-components.js +364 -0
  65. package/dist/esm-node/ultramodern-workspace/descriptors.js +134 -0
  66. package/dist/esm-node/ultramodern-workspace/effect-api.js +855 -0
  67. package/dist/esm-node/ultramodern-workspace/fs-io.js +91 -0
  68. package/dist/esm-node/ultramodern-workspace/index.js +4 -0
  69. package/dist/esm-node/ultramodern-workspace/locales.js +123 -0
  70. package/dist/esm-node/ultramodern-workspace/module-federation.js +416 -0
  71. package/dist/esm-node/ultramodern-workspace/naming.js +72 -0
  72. package/dist/esm-node/ultramodern-workspace/package-json.js +339 -0
  73. package/dist/esm-node/ultramodern-workspace/package-source.js +22 -0
  74. package/dist/esm-node/ultramodern-workspace/policy.js +184 -0
  75. package/dist/esm-node/ultramodern-workspace/public-surface.js +184 -0
  76. package/dist/esm-node/ultramodern-workspace/routes.js +281 -0
  77. package/dist/esm-node/ultramodern-workspace/types.js +17 -0
  78. package/dist/esm-node/ultramodern-workspace/versions.js +35 -0
  79. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +92 -0
  80. package/dist/esm-node/ultramodern-workspace/write-workspace.js +122 -0
  81. package/dist/types/create-package-root.d.ts +1 -0
  82. package/dist/types/locale/en.d.ts +8 -9
  83. package/dist/types/locale/index.d.ts +109 -2
  84. package/dist/types/locale/zh.d.ts +8 -9
  85. package/dist/types/ultramodern-package-source.d.ts +28 -0
  86. package/dist/types/ultramodern-workspace/add-vertical.d.ts +19 -0
  87. package/dist/types/ultramodern-workspace/app-files.d.ts +14 -0
  88. package/dist/types/ultramodern-workspace/contracts.d.ts +21 -0
  89. package/dist/types/ultramodern-workspace/demo-components.d.ts +9 -0
  90. package/dist/types/ultramodern-workspace/descriptors.d.ts +39 -0
  91. package/dist/types/ultramodern-workspace/effect-api.d.ts +73 -0
  92. package/dist/types/ultramodern-workspace/fs-io.d.ts +18 -0
  93. package/dist/types/ultramodern-workspace/index.d.ts +4 -0
  94. package/dist/types/ultramodern-workspace/locales.d.ts +183 -0
  95. package/dist/types/ultramodern-workspace/module-federation.d.ts +16 -0
  96. package/dist/types/ultramodern-workspace/naming.d.ts +16 -0
  97. package/dist/types/ultramodern-workspace/package-json.d.ts +12 -0
  98. package/dist/types/ultramodern-workspace/package-source.d.ts +2 -0
  99. package/dist/types/ultramodern-workspace/policy.d.ts +60 -0
  100. package/dist/types/ultramodern-workspace/public-surface.d.ts +37 -0
  101. package/dist/types/ultramodern-workspace/routes.d.ts +25 -0
  102. package/dist/types/ultramodern-workspace/types.d.ts +95 -0
  103. package/dist/types/ultramodern-workspace/versions.d.ts +38 -0
  104. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +10 -0
  105. package/dist/types/ultramodern-workspace/write-workspace.d.ts +4 -0
  106. package/package.json +34 -15
  107. package/template-workspace/.agents/agent-reference-repos.json +24 -0
  108. package/template-workspace/.agents/skills-lock.json +19 -0
  109. package/template-workspace/.codex/hooks.json +16 -0
  110. package/template-workspace/.github/renovate.json +29 -0
  111. package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +67 -0
  112. package/template-workspace/.gitignore.handlebars +5 -0
  113. package/template-workspace/.mise.toml.handlebars +3 -0
  114. package/template-workspace/AGENTS.md.handlebars +87 -0
  115. package/template-workspace/README.md.handlebars +132 -11
  116. package/template-workspace/lefthook.yml +24 -0
  117. package/template-workspace/oxfmt.config.ts +1 -0
  118. package/template-workspace/oxlint.config.ts +1 -0
  119. package/template-workspace/pnpm-workspace.yaml.handlebars +40 -0
  120. package/template-workspace/scripts/bootstrap-agent-skills.mjs +184 -21
  121. package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
  122. package/templates/app/shell-frame.tsx +49 -0
  123. package/templates/app/ultramodern-route-head.tsx.handlebars +142 -0
  124. package/templates/packages/shared-contracts-index.ts +466 -0
  125. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +69 -0
  126. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mjs +9 -0
  127. package/templates/workspace-scripts/generate-public-surface-assets.mjs +529 -0
  128. package/templates/workspace-scripts/proof-cloudflare-version.mjs +125 -0
  129. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +851 -0
  130. package/templates/workspace-scripts/ultramodern-performance-readiness.config.mjs +7 -0
  131. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +223 -0
  132. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +593 -0
  133. package/dist/index.js +0 -2626
  134. package/dist/types/ultramodern-workspace.d.ts +0 -20
  135. package/template/.agents/skills-lock.json +0 -34
  136. package/template/.browserslistrc +0 -4
  137. package/template/.github/workflows/ultramodern-gates.yml.handlebars +0 -30
  138. package/template/.gitignore.handlebars +0 -30
  139. package/template/.nvmrc +0 -2
  140. package/template/AGENTS.md +0 -25
  141. package/template/README.md +0 -79
  142. package/template/api/effect/index.ts.handlebars +0 -23
  143. package/template/api/lambda/hello.ts.handlebars +0 -6
  144. package/template/config/public/locales/cs/translation.json +0 -39
  145. package/template/config/public/locales/en/translation.json +0 -39
  146. package/template/modern.config.ts.handlebars +0 -53
  147. package/template/oxfmt.config.ts +0 -8
  148. package/template/oxlint.config.ts +0 -12
  149. package/template/package.json.handlebars +0 -67
  150. package/template/postcss.config.mjs.handlebars +0 -6
  151. package/template/scripts/bootstrap-agent-skills.mjs +0 -95
  152. package/template/scripts/check-i18n-strings.mjs +0 -83
  153. package/template/scripts/validate-ultramodern.mjs.handlebars +0 -178
  154. package/template/shared/effect/api.ts.handlebars +0 -17
  155. package/template/src/modern-app-env.d.ts +0 -1
  156. package/template/src/modern.runtime.ts.handlebars +0 -23
  157. package/template/src/routes/index.css.handlebars +0 -129
  158. package/template/src/routes/layout.tsx.handlebars +0 -9
  159. package/template/src/routes/page.tsx.handlebars +0 -155
  160. package/template/tailwind.config.ts.handlebars +0 -10
  161. package/template/tsconfig.json +0 -120
  162. package/template-workspace/AGENTS.md +0 -50
  163. package/template-workspace/pnpm-workspace.yaml +0 -17
  164. package/template-workspace/scripts/check-i18n-strings.mjs +0 -83
  165. package/template-workspace/scripts/validate-ultramodern-workspace.mjs.handlebars +0 -433
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ createJsonLdHelperModule: ()=>createJsonLdHelperModule,
32
+ createLocalisedUrlsMap: ()=>createLocalisedUrlsMap,
33
+ createLocalisedUrlsMapFromRoutes: ()=>createLocalisedUrlsMapFromRoutes,
34
+ createPublicRouteMetadata: ()=>createPublicRouteMetadata,
35
+ createPublicRouteMetadataFromRoutes: ()=>createPublicRouteMetadataFromRoutes,
36
+ createRouteAliasPage: ()=>createRouteAliasPage,
37
+ createRouteMetaFilePath: ()=>createRouteMetaFilePath,
38
+ createRouteMetaModule: ()=>createRouteMetaModule,
39
+ createRouteMetadataModule: ()=>createRouteMetadataModule,
40
+ createRouteOwnedI18nPaths: ()=>createRouteOwnedI18nPaths,
41
+ createRoutePageFilePath: ()=>createRoutePageFilePath,
42
+ isConcretePublicPath: ()=>isConcretePublicPath,
43
+ isDynamicPublicPathSegment: ()=>isDynamicPublicPathSegment,
44
+ isPublicIndexableRoute: ()=>isPublicIndexableRoute,
45
+ normalisePublicPath: ()=>normalisePublicPath,
46
+ privateAppRoutePublicness: ()=>privateAppRoutePublicness,
47
+ routePathDirectorySegments: ()=>routePathDirectorySegments,
48
+ routePathParamName: ()=>routePathParamName,
49
+ routeSegmentToDirectory: ()=>routeSegmentToDirectory,
50
+ splitPublicPathSegments: ()=>splitPublicPathSegments
51
+ });
52
+ const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
53
+ const external_types_cjs_namespaceObject = require("./types.cjs");
54
+ const privateAppRoutePublicness = {
55
+ indexable: false,
56
+ public: false,
57
+ publicSurface: 'private-app-screen'
58
+ };
59
+ function createRouteOwnedI18nPaths(app) {
60
+ const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
61
+ const base = {
62
+ descriptionKey: `${namespace}.seo.description`,
63
+ mfBoundaryId: app.mfName,
64
+ namespace,
65
+ ownerAppId: app.id,
66
+ ...privateAppRoutePublicness
67
+ };
68
+ if ('shell' === app.kind) return [
69
+ {
70
+ ...base,
71
+ canonicalPath: '/',
72
+ id: 'shell-home',
73
+ localisedPaths: {
74
+ cs: '/',
75
+ en: '/'
76
+ },
77
+ titleKey: 'shell.title'
78
+ }
79
+ ];
80
+ return [
81
+ {
82
+ ...base,
83
+ canonicalPath: '/',
84
+ id: `${app.id}-home`,
85
+ localisedPaths: {
86
+ cs: '/',
87
+ en: '/'
88
+ },
89
+ titleKey: `${namespace}.title`
90
+ }
91
+ ];
92
+ }
93
+ function isPublicIndexableRoute(route) {
94
+ return route.public && route.indexable;
95
+ }
96
+ function createLocalisedUrlsMapFromRoutes(routes) {
97
+ return Object.fromEntries(routes.flatMap((route)=>{
98
+ if ('/' === route.canonicalPath) return [];
99
+ return Array.from(new Set([
100
+ route.canonicalPath,
101
+ ...Object.values(route.localisedPaths)
102
+ ])).map((pathname)=>[
103
+ pathname,
104
+ route.localisedPaths
105
+ ]);
106
+ }));
107
+ }
108
+ function createLocalisedUrlsMap(app) {
109
+ return createLocalisedUrlsMapFromRoutes(createRouteOwnedI18nPaths(app));
110
+ }
111
+ function createPublicRouteMetadataFromRoutes(routes) {
112
+ return routes.filter(isPublicIndexableRoute).map((route)=>{
113
+ const metadata = {
114
+ canonicalPath: route.canonicalPath,
115
+ id: route.id,
116
+ localisedPaths: route.localisedPaths,
117
+ namespace: route.namespace,
118
+ ownerAppId: route.ownerAppId,
119
+ descriptionKey: route.descriptionKey,
120
+ titleKey: route.titleKey
121
+ };
122
+ if (void 0 !== route.jsonLd) metadata.jsonLd = route.jsonLd;
123
+ return metadata;
124
+ });
125
+ }
126
+ function createPublicRouteMetadata(app) {
127
+ return createPublicRouteMetadataFromRoutes(createRouteOwnedI18nPaths(app));
128
+ }
129
+ function createJsonLdHelperModule() {
130
+ return `export type JsonLdPrimitive = string | number | boolean | null;
131
+ export type JsonLdValue =
132
+ | JsonLdPrimitive
133
+ | readonly JsonLdValue[]
134
+ | { readonly [key: string]: JsonLdValue };
135
+ export type JsonLdObject = Readonly<Record<string, JsonLdValue>>;
136
+ export type RouteJsonLd = JsonLdObject | readonly JsonLdObject[];
137
+
138
+ const schemaContext = 'https://schema.org' as const;
139
+
140
+ type SchemaObject<TType extends string> = JsonLdObject & {
141
+ readonly '@context': typeof schemaContext;
142
+ readonly '@type': TType;
143
+ };
144
+
145
+ type ThingReference =
146
+ | string
147
+ | {
148
+ readonly '@id'?: string;
149
+ readonly '@type'?: string;
150
+ readonly name?: string;
151
+ readonly url?: string;
152
+ };
153
+
154
+ const withSchemaContext = <TType extends string, TInput extends object>(
155
+ type: TType,
156
+ input: TInput,
157
+ ): SchemaObject<TType> & TInput => ({
158
+ '@context': schemaContext,
159
+ '@type': type,
160
+ ...input,
161
+ });
162
+
163
+ export const defineRouteJsonLd = <TJsonLd extends RouteJsonLd>(
164
+ jsonLd: TJsonLd,
165
+ ): TJsonLd => jsonLd;
166
+
167
+ export interface WebPageJsonLdInput {
168
+ readonly name: string;
169
+ readonly url: string;
170
+ readonly description?: string;
171
+ readonly inLanguage?: string | readonly string[];
172
+ readonly isPartOf?: ThingReference;
173
+ }
174
+
175
+ export const webPageJsonLd = (input: WebPageJsonLdInput) =>
176
+ withSchemaContext('WebPage', input);
177
+
178
+ export interface WebApplicationJsonLdInput {
179
+ readonly name: string;
180
+ readonly url: string;
181
+ readonly applicationCategory?: string;
182
+ readonly browserRequirements?: string;
183
+ readonly description?: string;
184
+ readonly operatingSystem?: string;
185
+ }
186
+
187
+ export const webApplicationJsonLd = (input: WebApplicationJsonLdInput) =>
188
+ withSchemaContext('WebApplication', input);
189
+
190
+ export interface SoftwareApplicationJsonLdInput {
191
+ readonly name: string;
192
+ readonly url: string;
193
+ readonly applicationCategory?: string;
194
+ readonly applicationSubCategory?: string;
195
+ readonly description?: string;
196
+ readonly offers?: ThingReference;
197
+ readonly operatingSystem?: string;
198
+ }
199
+
200
+ export const softwareApplicationJsonLd = (
201
+ input: SoftwareApplicationJsonLdInput,
202
+ ) => withSchemaContext('SoftwareApplication', input);
203
+
204
+ export interface OrganizationJsonLdInput {
205
+ readonly name: string;
206
+ readonly url?: string;
207
+ readonly logo?: string;
208
+ readonly sameAs?: readonly string[];
209
+ }
210
+
211
+ export const organizationJsonLd = (input: OrganizationJsonLdInput) =>
212
+ withSchemaContext('Organization', input);
213
+
214
+ export interface BreadcrumbListItemInput {
215
+ readonly name: string;
216
+ readonly item: string;
217
+ }
218
+
219
+ export const breadcrumbListJsonLd = (
220
+ items: readonly BreadcrumbListItemInput[],
221
+ ) =>
222
+ withSchemaContext('BreadcrumbList', {
223
+ itemListElement: items.map((entry, index) => ({
224
+ '@type': 'ListItem',
225
+ item: entry.item,
226
+ name: entry.name,
227
+ position: index + 1,
228
+ })),
229
+ });
230
+
231
+ export interface FAQPageQuestionInput {
232
+ readonly name: string;
233
+ readonly acceptedAnswer: {
234
+ readonly text: string;
235
+ };
236
+ }
237
+
238
+ export const faqPageJsonLd = (questions: readonly FAQPageQuestionInput[]) =>
239
+ withSchemaContext('FAQPage', {
240
+ mainEntity: questions.map(question => ({
241
+ '@type': 'Question',
242
+ acceptedAnswer: {
243
+ '@type': 'Answer',
244
+ text: question.acceptedAnswer.text,
245
+ },
246
+ name: question.name,
247
+ })),
248
+ });
249
+ `;
250
+ }
251
+ function createRouteMetadataModule(app) {
252
+ const routes = (0, external_types_cjs_namespaceObject.sortJsonValue)(createRouteOwnedI18nPaths(app));
253
+ const localisedUrls = (0, external_types_cjs_namespaceObject.sortJsonValue)(createLocalisedUrlsMap(app));
254
+ const publicRoutes = (0, external_types_cjs_namespaceObject.sortJsonValue)(createPublicRouteMetadata(app));
255
+ const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
256
+ return `// @generated by @modern-js/create.
257
+ // Author route metadata in colocated src/routes/**/route.meta.ts files.
258
+ // This compatibility manifest is regenerated from route-owned metadata.
259
+
260
+ export const ultramodernRouteNamespace = '${namespace}' as const;
261
+
262
+ export const ultramodernRouteMetadata = ${JSON.stringify(routes, null, 2)} as const;
263
+
264
+ export const ultramodernLocalisedUrls = ${JSON.stringify(localisedUrls, null, 2)} as const;
265
+
266
+ export const ultramodernPublicRoutes = ${JSON.stringify(publicRoutes, null, 2)} as const;
267
+
268
+ export const ultramodernRouteConfig = {
269
+ authoring: 'colocated-route-meta',
270
+ generatedManifest: true,
271
+ localisedUrls: ultramodernLocalisedUrls,
272
+ namespace: ultramodernRouteNamespace,
273
+ publicRoutes: ultramodernPublicRoutes,
274
+ routes: ultramodernRouteMetadata,
275
+ source: 'route-owned',
276
+ } as const;
277
+ `;
278
+ }
279
+ function createRouteMetaModule(route) {
280
+ return `const routeMeta = ${JSON.stringify((0, external_types_cjs_namespaceObject.sortJsonValue)(route), null, 2)} as const;
281
+
282
+ export default routeMeta;
283
+ export { routeMeta };
284
+ `;
285
+ }
286
+ function normalisePublicPath(pathname) {
287
+ const normalised = pathname.trim().replaceAll(/\/+/gu, '/').replace(/\/+$/u, '');
288
+ return normalised.length > 0 && normalised.startsWith('/') ? normalised : `/${normalised}`;
289
+ }
290
+ function splitPublicPathSegments(pathname) {
291
+ return normalisePublicPath(pathname).split('/').filter(Boolean);
292
+ }
293
+ function routePathParamName(segment) {
294
+ if (segment.startsWith(':')) return segment.slice(1).replace(/[?*+]$/u, '');
295
+ if (segment.startsWith('[') && segment.endsWith(']')) return segment.slice(1, -1).replace(/^\.\.\./u, '').replace(/\$$/u, '');
296
+ }
297
+ function isDynamicPublicPathSegment(segment) {
298
+ return void 0 !== routePathParamName(segment) || segment.includes('*') || segment.startsWith('[');
299
+ }
300
+ function isConcretePublicPath(pathname) {
301
+ return !splitPublicPathSegments(pathname).some(isDynamicPublicPathSegment);
302
+ }
303
+ function routeSegmentToDirectory(segment) {
304
+ const paramName = routePathParamName(segment);
305
+ if (paramName && segment.startsWith(':')) return segment.endsWith('?') ? `[${paramName}$]` : `[${paramName}]`;
306
+ return segment;
307
+ }
308
+ function routePathDirectorySegments(routePath) {
309
+ return splitPublicPathSegments(routePath).map(routeSegmentToDirectory);
310
+ }
311
+ function createRoutePageFilePath(app, canonicalPath) {
312
+ const segments = routePathDirectorySegments(canonicalPath);
313
+ return `${app.directory}/src/routes/[lang]/${[
314
+ ...segments,
315
+ 'page.tsx'
316
+ ].join('/')}`;
317
+ }
318
+ function createRouteMetaFilePath(app, canonicalPath) {
319
+ const segments = routePathDirectorySegments(canonicalPath);
320
+ return `${app.directory}/src/routes/[lang]/${[
321
+ ...segments,
322
+ 'route.meta.ts'
323
+ ].join('/')}`;
324
+ }
325
+ function createRouteAliasPage(canonicalPath) {
326
+ const depth = canonicalPath.split('/').filter(Boolean).length;
327
+ const rootPageImport = `${'../'.repeat(depth)}page`;
328
+ return `export { default } from '${rootPageImport}';
329
+ `;
330
+ }
331
+ exports.createJsonLdHelperModule = __webpack_exports__.createJsonLdHelperModule;
332
+ exports.createLocalisedUrlsMap = __webpack_exports__.createLocalisedUrlsMap;
333
+ exports.createLocalisedUrlsMapFromRoutes = __webpack_exports__.createLocalisedUrlsMapFromRoutes;
334
+ exports.createPublicRouteMetadata = __webpack_exports__.createPublicRouteMetadata;
335
+ exports.createPublicRouteMetadataFromRoutes = __webpack_exports__.createPublicRouteMetadataFromRoutes;
336
+ exports.createRouteAliasPage = __webpack_exports__.createRouteAliasPage;
337
+ exports.createRouteMetaFilePath = __webpack_exports__.createRouteMetaFilePath;
338
+ exports.createRouteMetaModule = __webpack_exports__.createRouteMetaModule;
339
+ exports.createRouteMetadataModule = __webpack_exports__.createRouteMetadataModule;
340
+ exports.createRouteOwnedI18nPaths = __webpack_exports__.createRouteOwnedI18nPaths;
341
+ exports.createRoutePageFilePath = __webpack_exports__.createRoutePageFilePath;
342
+ exports.isConcretePublicPath = __webpack_exports__.isConcretePublicPath;
343
+ exports.isDynamicPublicPathSegment = __webpack_exports__.isDynamicPublicPathSegment;
344
+ exports.isPublicIndexableRoute = __webpack_exports__.isPublicIndexableRoute;
345
+ exports.normalisePublicPath = __webpack_exports__.normalisePublicPath;
346
+ exports.privateAppRoutePublicness = __webpack_exports__.privateAppRoutePublicness;
347
+ exports.routePathDirectorySegments = __webpack_exports__.routePathDirectorySegments;
348
+ exports.routePathParamName = __webpack_exports__.routePathParamName;
349
+ exports.routeSegmentToDirectory = __webpack_exports__.routeSegmentToDirectory;
350
+ exports.splitPublicPathSegments = __webpack_exports__.splitPublicPathSegments;
351
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
352
+ "createJsonLdHelperModule",
353
+ "createLocalisedUrlsMap",
354
+ "createLocalisedUrlsMapFromRoutes",
355
+ "createPublicRouteMetadata",
356
+ "createPublicRouteMetadataFromRoutes",
357
+ "createRouteAliasPage",
358
+ "createRouteMetaFilePath",
359
+ "createRouteMetaModule",
360
+ "createRouteMetadataModule",
361
+ "createRouteOwnedI18nPaths",
362
+ "createRoutePageFilePath",
363
+ "isConcretePublicPath",
364
+ "isDynamicPublicPathSegment",
365
+ "isPublicIndexableRoute",
366
+ "normalisePublicPath",
367
+ "privateAppRoutePublicness",
368
+ "routePathDirectorySegments",
369
+ "routePathParamName",
370
+ "routeSegmentToDirectory",
371
+ "splitPublicPathSegments"
372
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
373
+ Object.defineProperty(exports, '__esModule', {
374
+ value: true
375
+ });
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ function sortJsonValue(value) {
31
+ if (Array.isArray(value)) return value.map(sortJsonValue);
32
+ if (null !== value && 'object' == typeof value) return Object.fromEntries(Object.entries(value).sort(([left], [right])=>left.localeCompare(right)).map(([key, entry])=>[
33
+ key,
34
+ sortJsonValue(entry)
35
+ ]));
36
+ return value;
37
+ }
38
+ const supportedWorkspaceLanguages = [
39
+ 'en',
40
+ 'cs'
41
+ ];
42
+ function isRecord(value) {
43
+ return null !== value && 'object' == typeof value && !Array.isArray(value);
44
+ }
45
+ __webpack_require__.d(__webpack_exports__, {
46
+ isRecord: ()=>isRecord,
47
+ sortJsonValue: ()=>sortJsonValue
48
+ }, {
49
+ supportedWorkspaceLanguages: supportedWorkspaceLanguages
50
+ });
51
+ exports.isRecord = __webpack_exports__.isRecord;
52
+ exports.sortJsonValue = __webpack_exports__.sortJsonValue;
53
+ exports.supportedWorkspaceLanguages = __webpack_exports__.supportedWorkspaceLanguages;
54
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
55
+ "isRecord",
56
+ "sortJsonValue",
57
+ "supportedWorkspaceLanguages"
58
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ const TANSTACK_ROUTER_VERSION = '1.170.15';
31
+ const MODULE_FEDERATION_VERSION = '2.5.1';
32
+ const ZEPHYR_RSPACK_PLUGIN_VERSION = '1.1.1';
33
+ const ZEPHYR_AGENT_VERSION = '1.1.1';
34
+ const WRANGLER_VERSION = '4.99.0';
35
+ const CLOUDFLARE_COMPATIBILITY_DATE = '2026-06-02';
36
+ const TAILWIND_VERSION = '4.3.0';
37
+ const TAILWIND_POSTCSS_VERSION = '4.3.0';
38
+ const POSTCSS_VERSION = '8.5.15';
39
+ const EFFECT_TSGO_VERSION = '0.14.3';
40
+ const TYPESCRIPT_VERSION = '6.0.3';
41
+ const TYPESCRIPT_NATIVE_PREVIEW_VERSION = '7.0.0-dev.20260610.1';
42
+ const OXLINT_VERSION = '1.69.0';
43
+ const OXFMT_VERSION = '0.54.0';
44
+ const ULTRACITE_VERSION = '7.8.3';
45
+ const LEFTHOOK_VERSION = '^2.1.9';
46
+ const I18NEXT_VERSION = '26.3.1';
47
+ const NODE_FETCH_VERSION = '^3.3.2';
48
+ const REACT_VERSION = '^19.2.7';
49
+ const REACT_DOM_VERSION = '^19.2.7';
50
+ const REACT_ROUTER_DOM_VERSION = '7.17.0';
51
+ const TYPES_REACT_VERSION = '^19.2.17';
52
+ const TYPES_REACT_DOM_VERSION = '^19.2.3';
53
+ const NODE_VERSION = '26.3.0';
54
+ const PNPM_VERSION = '11.5.3';
55
+ const RSTACK_AGENT_SKILLS_COMMIT = '61c948b42512e223bad44b83af4080eba48b2677';
56
+ const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = '07bb5b6c43ad457609e00c081b72d4c42508ec76';
57
+ const ultramodernWorkspaceVersions = {
58
+ tanstackRouter: TANSTACK_ROUTER_VERSION,
59
+ moduleFederation: MODULE_FEDERATION_VERSION,
60
+ tailwind: TAILWIND_VERSION,
61
+ tailwindPostcss: TAILWIND_POSTCSS_VERSION
62
+ };
63
+ __webpack_require__.d(__webpack_exports__, {}, {
64
+ CLOUDFLARE_COMPATIBILITY_DATE: CLOUDFLARE_COMPATIBILITY_DATE,
65
+ EFFECT_TSGO_VERSION: EFFECT_TSGO_VERSION,
66
+ I18NEXT_VERSION: I18NEXT_VERSION,
67
+ LEFTHOOK_VERSION: LEFTHOOK_VERSION,
68
+ MODULE_FEDERATION_AGENT_SKILLS_COMMIT: MODULE_FEDERATION_AGENT_SKILLS_COMMIT,
69
+ MODULE_FEDERATION_VERSION: MODULE_FEDERATION_VERSION,
70
+ NODE_FETCH_VERSION: NODE_FETCH_VERSION,
71
+ NODE_VERSION: NODE_VERSION,
72
+ OXFMT_VERSION: OXFMT_VERSION,
73
+ OXLINT_VERSION: OXLINT_VERSION,
74
+ PNPM_VERSION: PNPM_VERSION,
75
+ POSTCSS_VERSION: POSTCSS_VERSION,
76
+ REACT_DOM_VERSION: REACT_DOM_VERSION,
77
+ REACT_ROUTER_DOM_VERSION: REACT_ROUTER_DOM_VERSION,
78
+ REACT_VERSION: REACT_VERSION,
79
+ RSTACK_AGENT_SKILLS_COMMIT: RSTACK_AGENT_SKILLS_COMMIT,
80
+ TAILWIND_POSTCSS_VERSION: TAILWIND_POSTCSS_VERSION,
81
+ TAILWIND_VERSION: TAILWIND_VERSION,
82
+ TANSTACK_ROUTER_VERSION: TANSTACK_ROUTER_VERSION,
83
+ TYPESCRIPT_NATIVE_PREVIEW_VERSION: TYPESCRIPT_NATIVE_PREVIEW_VERSION,
84
+ TYPESCRIPT_VERSION: TYPESCRIPT_VERSION,
85
+ TYPES_REACT_DOM_VERSION: TYPES_REACT_DOM_VERSION,
86
+ TYPES_REACT_VERSION: TYPES_REACT_VERSION,
87
+ ULTRACITE_VERSION: ULTRACITE_VERSION,
88
+ WRANGLER_VERSION: WRANGLER_VERSION,
89
+ ZEPHYR_AGENT_VERSION: ZEPHYR_AGENT_VERSION,
90
+ ZEPHYR_RSPACK_PLUGIN_VERSION: ZEPHYR_RSPACK_PLUGIN_VERSION,
91
+ ultramodernWorkspaceVersions: ultramodernWorkspaceVersions
92
+ });
93
+ exports.CLOUDFLARE_COMPATIBILITY_DATE = __webpack_exports__.CLOUDFLARE_COMPATIBILITY_DATE;
94
+ exports.EFFECT_TSGO_VERSION = __webpack_exports__.EFFECT_TSGO_VERSION;
95
+ exports.I18NEXT_VERSION = __webpack_exports__.I18NEXT_VERSION;
96
+ exports.LEFTHOOK_VERSION = __webpack_exports__.LEFTHOOK_VERSION;
97
+ exports.MODULE_FEDERATION_AGENT_SKILLS_COMMIT = __webpack_exports__.MODULE_FEDERATION_AGENT_SKILLS_COMMIT;
98
+ exports.MODULE_FEDERATION_VERSION = __webpack_exports__.MODULE_FEDERATION_VERSION;
99
+ exports.NODE_FETCH_VERSION = __webpack_exports__.NODE_FETCH_VERSION;
100
+ exports.NODE_VERSION = __webpack_exports__.NODE_VERSION;
101
+ exports.OXFMT_VERSION = __webpack_exports__.OXFMT_VERSION;
102
+ exports.OXLINT_VERSION = __webpack_exports__.OXLINT_VERSION;
103
+ exports.PNPM_VERSION = __webpack_exports__.PNPM_VERSION;
104
+ exports.POSTCSS_VERSION = __webpack_exports__.POSTCSS_VERSION;
105
+ exports.REACT_DOM_VERSION = __webpack_exports__.REACT_DOM_VERSION;
106
+ exports.REACT_ROUTER_DOM_VERSION = __webpack_exports__.REACT_ROUTER_DOM_VERSION;
107
+ exports.REACT_VERSION = __webpack_exports__.REACT_VERSION;
108
+ exports.RSTACK_AGENT_SKILLS_COMMIT = __webpack_exports__.RSTACK_AGENT_SKILLS_COMMIT;
109
+ exports.TAILWIND_POSTCSS_VERSION = __webpack_exports__.TAILWIND_POSTCSS_VERSION;
110
+ exports.TAILWIND_VERSION = __webpack_exports__.TAILWIND_VERSION;
111
+ exports.TANSTACK_ROUTER_VERSION = __webpack_exports__.TANSTACK_ROUTER_VERSION;
112
+ exports.TYPESCRIPT_NATIVE_PREVIEW_VERSION = __webpack_exports__.TYPESCRIPT_NATIVE_PREVIEW_VERSION;
113
+ exports.TYPESCRIPT_VERSION = __webpack_exports__.TYPESCRIPT_VERSION;
114
+ exports.TYPES_REACT_DOM_VERSION = __webpack_exports__.TYPES_REACT_DOM_VERSION;
115
+ exports.TYPES_REACT_VERSION = __webpack_exports__.TYPES_REACT_VERSION;
116
+ exports.ULTRACITE_VERSION = __webpack_exports__.ULTRACITE_VERSION;
117
+ exports.WRANGLER_VERSION = __webpack_exports__.WRANGLER_VERSION;
118
+ exports.ZEPHYR_AGENT_VERSION = __webpack_exports__.ZEPHYR_AGENT_VERSION;
119
+ exports.ZEPHYR_RSPACK_PLUGIN_VERSION = __webpack_exports__.ZEPHYR_RSPACK_PLUGIN_VERSION;
120
+ exports.ultramodernWorkspaceVersions = __webpack_exports__.ultramodernWorkspaceVersions;
121
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
122
+ "CLOUDFLARE_COMPATIBILITY_DATE",
123
+ "EFFECT_TSGO_VERSION",
124
+ "I18NEXT_VERSION",
125
+ "LEFTHOOK_VERSION",
126
+ "MODULE_FEDERATION_AGENT_SKILLS_COMMIT",
127
+ "MODULE_FEDERATION_VERSION",
128
+ "NODE_FETCH_VERSION",
129
+ "NODE_VERSION",
130
+ "OXFMT_VERSION",
131
+ "OXLINT_VERSION",
132
+ "PNPM_VERSION",
133
+ "POSTCSS_VERSION",
134
+ "REACT_DOM_VERSION",
135
+ "REACT_ROUTER_DOM_VERSION",
136
+ "REACT_VERSION",
137
+ "RSTACK_AGENT_SKILLS_COMMIT",
138
+ "TAILWIND_POSTCSS_VERSION",
139
+ "TAILWIND_VERSION",
140
+ "TANSTACK_ROUTER_VERSION",
141
+ "TYPESCRIPT_NATIVE_PREVIEW_VERSION",
142
+ "TYPESCRIPT_VERSION",
143
+ "TYPES_REACT_DOM_VERSION",
144
+ "TYPES_REACT_VERSION",
145
+ "ULTRACITE_VERSION",
146
+ "WRANGLER_VERSION",
147
+ "ZEPHYR_AGENT_VERSION",
148
+ "ZEPHYR_RSPACK_PLUGIN_VERSION",
149
+ "ultramodernWorkspaceVersions"
150
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
151
+ Object.defineProperty(exports, '__esModule', {
152
+ value: true
153
+ });