@bleedingdev/modern-js-create 3.4.0-ultramodern.9 → 3.5.0-ultramodern.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +49 -23
  2. package/dist/cjs/index.cjs +37 -4
  3. package/dist/cjs/locale/en.cjs +12 -2
  4. package/dist/cjs/locale/zh.cjs +12 -2
  5. package/dist/cjs/ultramodern-tooling/commands.cjs +431 -0
  6. package/dist/cjs/ultramodern-tooling/config.cjs +172 -0
  7. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +87 -75
  8. package/dist/cjs/ultramodern-workspace/{effect-api.cjs → api.cjs} +207 -208
  9. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +327 -0
  10. package/dist/cjs/ultramodern-workspace/codesmith.cjs +1 -0
  11. package/dist/cjs/ultramodern-workspace/contracts.cjs +128 -657
  12. package/dist/cjs/ultramodern-workspace/demo-components.cjs +12 -12
  13. package/dist/cjs/ultramodern-workspace/descriptors.cjs +25 -25
  14. package/dist/cjs/ultramodern-workspace/fs-io.cjs +117 -0
  15. package/dist/cjs/ultramodern-workspace/generation-result.cjs +5 -5
  16. package/dist/cjs/ultramodern-workspace/index.cjs +4 -0
  17. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +571 -0
  18. package/dist/cjs/ultramodern-workspace/module-federation.cjs +39 -12
  19. package/dist/cjs/ultramodern-workspace/overlays.cjs +2 -2
  20. package/dist/cjs/ultramodern-workspace/package-json.cjs +58 -41
  21. package/dist/cjs/ultramodern-workspace/policy.cjs +4 -4
  22. package/dist/cjs/ultramodern-workspace/public-api.cjs +4 -0
  23. package/dist/cjs/ultramodern-workspace/public-surface.cjs +2 -2
  24. package/dist/cjs/ultramodern-workspace/versions.cjs +15 -0
  25. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +120 -50
  26. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +64 -21
  27. package/dist/esm/index.js +37 -4
  28. package/dist/esm/locale/en.js +12 -2
  29. package/dist/esm/locale/zh.js +12 -2
  30. package/dist/esm/ultramodern-tooling/commands.js +378 -0
  31. package/dist/esm/ultramodern-tooling/config.js +120 -0
  32. package/dist/esm/ultramodern-workspace/add-vertical.js +88 -79
  33. package/dist/esm/ultramodern-workspace/{effect-api.js → api.js} +146 -147
  34. package/dist/esm/ultramodern-workspace/bridge-config.js +270 -0
  35. package/dist/esm/ultramodern-workspace/codesmith.js +1 -0
  36. package/dist/esm/ultramodern-workspace/contracts.js +130 -611
  37. package/dist/esm/ultramodern-workspace/demo-components.js +13 -13
  38. package/dist/esm/ultramodern-workspace/descriptors.js +11 -11
  39. package/dist/esm/ultramodern-workspace/fs-io.js +116 -2
  40. package/dist/esm/ultramodern-workspace/generation-result.js +6 -6
  41. package/dist/esm/ultramodern-workspace/index.js +1 -0
  42. package/dist/esm/ultramodern-workspace/mf-validation.js +516 -0
  43. package/dist/esm/ultramodern-workspace/module-federation.js +40 -13
  44. package/dist/esm/ultramodern-workspace/overlays.js +2 -2
  45. package/dist/esm/ultramodern-workspace/package-json.js +57 -40
  46. package/dist/esm/ultramodern-workspace/policy.js +5 -5
  47. package/dist/esm/ultramodern-workspace/public-api.js +1 -0
  48. package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
  49. package/dist/esm/ultramodern-workspace/versions.js +7 -1
  50. package/dist/esm/ultramodern-workspace/workspace-scripts.js +108 -34
  51. package/dist/esm/ultramodern-workspace/write-workspace.js +66 -26
  52. package/dist/esm-node/index.js +37 -4
  53. package/dist/esm-node/locale/en.js +12 -2
  54. package/dist/esm-node/locale/zh.js +12 -2
  55. package/dist/esm-node/ultramodern-tooling/commands.js +379 -0
  56. package/dist/esm-node/ultramodern-tooling/config.js +121 -0
  57. package/dist/esm-node/ultramodern-workspace/add-vertical.js +88 -79
  58. package/dist/esm-node/ultramodern-workspace/{effect-api.js → api.js} +146 -147
  59. package/dist/esm-node/ultramodern-workspace/bridge-config.js +271 -0
  60. package/dist/esm-node/ultramodern-workspace/codesmith.js +1 -0
  61. package/dist/esm-node/ultramodern-workspace/contracts.js +130 -611
  62. package/dist/esm-node/ultramodern-workspace/demo-components.js +13 -13
  63. package/dist/esm-node/ultramodern-workspace/descriptors.js +11 -11
  64. package/dist/esm-node/ultramodern-workspace/fs-io.js +116 -2
  65. package/dist/esm-node/ultramodern-workspace/generation-result.js +6 -6
  66. package/dist/esm-node/ultramodern-workspace/index.js +1 -0
  67. package/dist/esm-node/ultramodern-workspace/mf-validation.js +517 -0
  68. package/dist/esm-node/ultramodern-workspace/module-federation.js +40 -13
  69. package/dist/esm-node/ultramodern-workspace/overlays.js +2 -2
  70. package/dist/esm-node/ultramodern-workspace/package-json.js +57 -40
  71. package/dist/esm-node/ultramodern-workspace/policy.js +5 -5
  72. package/dist/esm-node/ultramodern-workspace/public-api.js +1 -0
  73. package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
  74. package/dist/esm-node/ultramodern-workspace/versions.js +7 -1
  75. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +108 -34
  76. package/dist/esm-node/ultramodern-workspace/write-workspace.js +66 -26
  77. package/dist/types/locale/en.d.ts +10 -0
  78. package/dist/types/locale/index.d.ts +20 -0
  79. package/dist/types/locale/zh.d.ts +10 -0
  80. package/dist/types/ultramodern-tooling/commands.d.ts +1 -0
  81. package/dist/types/ultramodern-tooling/config.d.ts +43 -0
  82. package/dist/types/ultramodern-workspace/add-vertical.d.ts +5 -2
  83. package/dist/types/ultramodern-workspace/api.d.ts +73 -0
  84. package/dist/types/ultramodern-workspace/bridge-config.d.ts +64 -0
  85. package/dist/types/ultramodern-workspace/codesmith.d.ts +1 -0
  86. package/dist/types/ultramodern-workspace/contracts.d.ts +2 -17
  87. package/dist/types/ultramodern-workspace/descriptors.d.ts +10 -10
  88. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -0
  89. package/dist/types/ultramodern-workspace/index.d.ts +2 -0
  90. package/dist/types/ultramodern-workspace/mf-validation.d.ts +27 -0
  91. package/dist/types/ultramodern-workspace/package-json.d.ts +5 -4
  92. package/dist/types/ultramodern-workspace/public-api.d.ts +2 -0
  93. package/dist/types/ultramodern-workspace/types.d.ts +9 -7
  94. package/dist/types/ultramodern-workspace/versions.d.ts +6 -0
  95. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +2 -7
  96. package/dist/types/ultramodern-workspace/write-workspace.d.ts +4 -2
  97. package/package.json +5 -3
  98. package/template-workspace/{.agents → .codex}/skills-lock.json +12 -12
  99. package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +2 -0
  100. package/template-workspace/.gitignore.handlebars +3 -0
  101. package/template-workspace/AGENTS.md.handlebars +11 -5
  102. package/template-workspace/README.md.handlebars +55 -13
  103. package/template-workspace/oxfmt.config.ts +1 -0
  104. package/template-workspace/oxlint.config.ts +1 -0
  105. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +51 -0
  106. package/template-workspace/pnpm-workspace.yaml.handlebars +7 -0
  107. package/template-workspace/scripts/bootstrap-agent-skills.mjs +77 -67
  108. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +51 -8
  109. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +366 -0
  110. package/templates/workspace-scripts/{check-ultramodern-i18n-boundaries.mjs → check-ultramodern-i18n-boundaries.mts} +1 -1
  111. package/templates/workspace-scripts/generate-public-surface-assets.mjs +246 -9
  112. package/templates/workspace-scripts/proof-cloudflare-version.mjs +277 -9
  113. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +35 -10
  114. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +165 -2
  115. package/templates/workspace-scripts/ultramodern-typecheck.mjs +4 -2
  116. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +842 -84
  117. package/dist/types/ultramodern-workspace/effect-api.d.ts +0 -73
  118. /package/template-workspace/{.agents → .codex}/rstackjs-agent-skills-LICENSE +0 -0
  119. /package/template-workspace/{.agents → .codex}/skills/rsbuild-best-practices/SKILL.md +0 -0
  120. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/SKILL.md +0 -0
  121. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/command-map.md +0 -0
  122. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/common-analysis-patterns.md +0 -0
  123. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/install-rsdoctor-common.md +0 -0
  124. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/install-rsdoctor-rspack.md +0 -0
  125. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/install-rsdoctor-webpack.md +0 -0
  126. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/install-rsdoctor.md +0 -0
  127. /package/template-workspace/{.agents → .codex}/skills/rsdoctor-analysis/references/rsdoctor-data-types.md +0 -0
  128. /package/template-workspace/{.agents → .codex}/skills/rslib-best-practices/SKILL.md +0 -0
  129. /package/template-workspace/{.agents → .codex}/skills/rslib-modern-package/SKILL.md +0 -0
  130. /package/template-workspace/{.agents → .codex}/skills/rspack-best-practices/SKILL.md +0 -0
  131. /package/template-workspace/{.agents → .codex}/skills/rspack-tracing/SKILL.md +0 -0
  132. /package/template-workspace/{.agents → .codex}/skills/rspack-tracing/references/bottlenecks.md +0 -0
  133. /package/template-workspace/{.agents → .codex}/skills/rspack-tracing/references/tracing-guide.md +0 -0
  134. /package/template-workspace/{.agents → .codex}/skills/rspack-tracing/scripts/analyze_trace.js +0 -0
  135. /package/template-workspace/{.agents → .codex}/skills/rstest-best-practices/SKILL.md +0 -0
@@ -56,19 +56,26 @@ const external_policy_cjs_namespaceObject = require("./policy.cjs");
56
56
  const external_types_cjs_namespaceObject = require("./types.cjs");
57
57
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
58
58
  function createAppModernConfig(scope, app) {
59
- const bffImport = (0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app) ? "import { bffPlugin } from '@modern-js/plugin-bff';\n" : '';
60
- const bffConfig = (0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app) ? ` bff: {
59
+ const bffImport = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? "import { bffPlugin } from '@modern-js/plugin-bff';\n" : '';
60
+ const bffConfig = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? ` bff: {
61
61
  effect: {
62
- entry: './api/effect/index',
62
+ entry: './api/index',
63
63
  openapi: {
64
64
  path: '/openapi.json',
65
65
  },
66
+ strictEffectApproach: true,
66
67
  },
67
- prefix: '${(0, external_descriptors_cjs_namespaceObject.effectApiPrefix)(app)}',
68
+ prefix: '${(0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app)}',
68
69
  runtimeFramework: 'effect',
69
70
  },
70
71
  ` : '';
71
- const bffPluginEntry = (0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app) ? ' bffPlugin(),\n' : '';
72
+ const bffPluginEntry = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? ' bffPlugin(),\n' : '';
73
+ const defaultAssetPrefixSource = 'shell' === app.kind ? "const defaultAssetPrefix = '/';" : `const remoteAssetOrigin =
74
+ configuredCloudflareUrl ||
75
+ inferredCloudflareUrl ||
76
+ (cloudflareDeployEnabled ? '/' : \`http://localhost:\${port}\`);
77
+ const defaultRemoteAssetPrefix = \`\${remoteAssetOrigin.replace(/\\/+$/u, '')}/\`;
78
+ const defaultAssetPrefix = defaultRemoteAssetPrefix;`;
72
79
  return `// @effect-diagnostics processEnv:off
73
80
  import {
74
81
  appTools,
@@ -115,6 +122,8 @@ const configuredSiteUrl = envValue('MODERN_PUBLIC_SITE_URL');
115
122
  const configuredCloudflareUrl = envValue('${(0, external_descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app)}');
116
123
  const configuredUltramodernAssetPrefix = envValue('ULTRAMODERN_ASSET_PREFIX');
117
124
  const configuredModernAssetPrefix = envValue('MODERN_ASSET_PREFIX');
125
+ const moduleFederationDevServerOrigin =
126
+ envValue('ULTRAMODERN_MF_DEV_ORIGIN') || 'http://localhost:${external_descriptors_cjs_namespaceObject.shellApp.port}';
118
127
  const cloudflareWorkersDevSubdomain = envValue(
119
128
  'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN',
120
129
  );
@@ -129,12 +138,14 @@ const siteUrl =
129
138
  configuredCloudflareUrl ||
130
139
  inferredCloudflareUrl ||
131
140
  \`http://localhost:\${port}\`;
132
- // Asset loading is intentionally independent from the canonical site URL and
133
- // deployment public URL. Without an explicit asset prefix, assets stay
134
- // origin-relative so self-hosted apps, tunnels, and reverse proxies never leak
135
- // localhost URLs into production HTML.
141
+ ${defaultAssetPrefixSource}
142
+ // Asset loading is intentionally independent from the canonical site URL.
143
+ // Module Federation remotes must publish an absolute publicPath so browsers
144
+ // load remoteEntry.js and exposed chunks from the remote origin, not the host.
136
145
  const assetPrefix =
137
- configuredModernAssetPrefix || configuredUltramodernAssetPrefix || '/';
146
+ configuredModernAssetPrefix || configuredUltramodernAssetPrefix || defaultAssetPrefix;
147
+ const buildCacheTarget = cloudflareDeployEnabled ? 'cloudflare' : 'web';
148
+ const buildCacheDirectory = \`node_modules/.cache/rspack-\${appId}-\${buildCacheTarget}\`;
138
149
 
139
150
  if (
140
151
  cloudflareDeployEnabled &&
@@ -181,6 +192,10 @@ ${bffConfig} ...(cloudflareDeployEnabled
181
192
  splitRouteChunks: true,
182
193
  },
183
194
  performance: {
195
+ buildCache: {
196
+ cacheDigest: [appId, buildCacheTarget],
197
+ cacheDirectory: buildCacheDirectory,
198
+ },
184
199
  rsdoctor: {
185
200
  disableClientServer: true,
186
201
  enabled: process.env['ULTRAMODERN_RSDOCTOR'] === 'true',
@@ -200,7 +215,7 @@ ${bffConfig} ...(cloudflareDeployEnabled
200
215
  '/@mf-types',
201
216
  '/assets',
202
217
  '/bundles',
203
- '${(0, external_descriptors_cjs_namespaceObject.effectApiPrefix)(app)}',
218
+ '${(0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app)}',
204
219
  '/locales',
205
220
  '/mf-manifest.json',
206
221
  '/mf-stats.json',
@@ -238,6 +253,9 @@ ${bffPluginEntry} moduleFederationPlugin(),
238
253
  },
239
254
  mainEntryName: 'index',
240
255
  },
256
+ splitChunks: {
257
+ chunks: 'async',
258
+ },
241
259
  tools: {
242
260
  autoprefixer: {
243
261
  overrideBrowserslist: ['defaults'],
@@ -247,6 +265,14 @@ ${bffPluginEntry} moduleFederationPlugin(),
247
265
  .uniqueName('${(0, external_naming_cjs_namespaceObject.createRspackUniqueName)(app)}')
248
266
  .chunkLoadingGlobal('${(0, external_naming_cjs_namespaceObject.createRspackChunkLoadingGlobal)(app)}');
249
267
  },
268
+ devServer: {
269
+ headers: {
270
+ 'Access-Control-Allow-Headers':
271
+ 'Accept, Authorization, Content-Type, X-Requested-With',
272
+ 'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS',
273
+ 'Access-Control-Allow-Origin': moduleFederationDevServerOrigin,
274
+ },
275
+ },
250
276
  },
251
277
  },
252
278
  {
@@ -370,6 +396,7 @@ function createShellModuleFederationConfig(scope, remotes = []) {
370
396
  verticalRefs: remotes.map((remote)=>remote.id)
371
397
  };
372
398
  return `// @effect-diagnostics nodeBuiltinImport:off processEnv:off
399
+ // ultramodern-mf: host-only
373
400
  import { createRequire } from 'node:module';
374
401
  import { createModuleFederationConfig } from '@module-federation/modern-js-v3';
375
402
  import { dependencies } from './package.json';
@@ -426,7 +453,7 @@ export const ultramodernUiMarker = {
426
453
 
427
454
  export const ultramodernApiMarker = {
428
455
  ...ultramodernVerticalIdentity,
429
- surface: 'effect-bff',
456
+ surface: 'api',
430
457
  } as const;
431
458
  `;
432
459
  }
@@ -105,8 +105,8 @@ function createOverlayRuntimeConfig(workspaceRoot, result) {
105
105
  assignedPorts: result.assignedPorts,
106
106
  moduleFederationName: generatedApp ? result.moduleFederationNames[generatedApp.id] : void 0,
107
107
  moduleFederationNames: result.moduleFederationNames,
108
- effectApiPrefix: generatedApp ? result.effectApiPrefixes[generatedApp.id] : void 0,
109
- effectApiPrefixes: result.effectApiPrefixes,
108
+ apiPrefix: generatedApp ? result.apiPrefixes[generatedApp.id] : void 0,
109
+ apiPrefixes: result.apiPrefixes,
110
110
  packageSource: result.packageSource,
111
111
  generationResult: result
112
112
  };
@@ -33,13 +33,13 @@ __webpack_require__.d(__webpack_exports__, {
33
33
  createAppMfTypesTsConfig: ()=>createAppMfTypesTsConfig,
34
34
  createAppPackage: ()=>createAppPackage,
35
35
  createAppTsConfig: ()=>createAppTsConfig,
36
- createEffectTsgoTypecheckCommand: ()=>createEffectTsgoTypecheckCommand,
37
36
  createPackageTsConfig: ()=>createPackageTsConfig,
38
37
  createRootPackageJson: ()=>createRootPackageJson,
39
38
  createRootTsConfig: ()=>createRootTsConfig,
40
39
  createSharedContractsIndex: ()=>createSharedContractsIndex,
41
40
  createSharedPackage: ()=>createSharedPackage,
42
41
  createSharedPackageTsConfig: ()=>createSharedPackageTsConfig,
42
+ createStrictTsgoTypecheckCommand: ()=>createStrictTsgoTypecheckCommand,
43
43
  createTsConfigBase: ()=>createTsConfigBase,
44
44
  createZephyrDependencies: ()=>createZephyrDependencies,
45
45
  effectDiagnostics: ()=>effectDiagnostics
@@ -50,7 +50,7 @@ const external_fs_io_cjs_namespaceObject = require("./fs-io.cjs");
50
50
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
51
51
  const external_public_surface_cjs_namespaceObject = require("./public-surface.cjs");
52
52
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
53
- const createEffectTsgoTypecheckCommand = (packageDir)=>`node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(packageDir)}/scripts/ultramodern-typecheck.mjs --project tsconfig.json`;
53
+ const createStrictTsgoTypecheckCommand = (packageDir)=>`node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(packageDir)}/scripts/ultramodern-typecheck.mts --project tsconfig.json`;
54
54
  const effectDiagnostics = [
55
55
  'anyUnknownInErrorContext',
56
56
  'classSelfMismatch',
@@ -126,7 +126,7 @@ const effectDiagnostics = [
126
126
  'unnecessaryPipe',
127
127
  'unnecessaryPipeChain'
128
128
  ];
129
- function appDependencies(scope, packageSource, app, remotes = []) {
129
+ function appDependencies(scope, packageSource, app, remotes = [], bridge) {
130
130
  const dependencies = {
131
131
  '@modern-js/plugin-tanstack': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-tanstack', packageSource),
132
132
  '@modern-js/plugin-i18n': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-i18n', packageSource),
@@ -141,14 +141,16 @@ function appDependencies(scope, packageSource, app, remotes = []) {
141
141
  [(0, external_naming_cjs_namespaceObject.packageName)(scope, 'shared-design-tokens')]: external_ultramodern_package_source_cjs_namespaceObject.WORKSPACE_PACKAGE_VERSION,
142
142
  react: external_versions_cjs_namespaceObject.REACT_VERSION,
143
143
  'react-dom': external_versions_cjs_namespaceObject.REACT_DOM_VERSION,
144
- 'react-router': external_versions_cjs_namespaceObject.REACT_ROUTER_VERSION
144
+ 'react-router': external_versions_cjs_namespaceObject.REACT_ROUTER_VERSION,
145
+ 'react-router-dom': external_versions_cjs_namespaceObject.REACT_ROUTER_VERSION
145
146
  };
147
+ for (const dependency of bridge?.dependencies ?? [])dependencies[dependency] = external_ultramodern_package_source_cjs_namespaceObject.WORKSPACE_PACKAGE_VERSION;
146
148
  if ('shell' === app.kind) {
147
149
  dependencies['@modern-js/plugin-bff'] = (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-bff', packageSource);
148
- for (const remote of (0, external_descriptors_cjs_namespaceObject.verticalEffectApps)(remotes))dependencies[(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)] = external_ultramodern_package_source_cjs_namespaceObject.WORKSPACE_PACKAGE_VERSION;
150
+ for (const remote of (0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes))dependencies[(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)] = external_ultramodern_package_source_cjs_namespaceObject.WORKSPACE_PACKAGE_VERSION;
149
151
  }
150
152
  for (const remote of (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(app, remotes))dependencies[(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)] = external_ultramodern_package_source_cjs_namespaceObject.WORKSPACE_PACKAGE_VERSION;
151
- if ((0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app)) dependencies['@modern-js/plugin-bff'] = (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-bff', packageSource);
153
+ if ((0, external_descriptors_cjs_namespaceObject.appHasApi)(app)) dependencies['@modern-js/plugin-bff'] = (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-bff', packageSource);
152
154
  return dependencies;
153
155
  }
154
156
  function appDevDependencies(packageSource, enableTailwind) {
@@ -169,12 +171,28 @@ function appDevDependencies(packageSource, enableTailwind) {
169
171
  wrangler: external_versions_cjs_namespaceObject.WRANGLER_VERSION
170
172
  };
171
173
  }
172
- function createRootPackageJson(scope, packageSource, remotes = []) {
174
+ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
173
175
  const shellFilter = `--filter ${(0, external_naming_cjs_namespaceObject.packageName)(scope, external_descriptors_cjs_namespaceObject.shellApp.packageSuffix)}`;
174
176
  const remoteFilters = remotes.map((remote)=>`--filter ${(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)}`);
175
177
  const remoteBuildPrefix = remotes.length > 0 ? 'ULTRAMODERN_ZEPHYR=false pnpm -r --filter "./verticals/*" run build && ' : '';
176
178
  const remoteCloudflareBuildPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:build && ' : '';
177
179
  const remoteCloudflareDeployPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:deploy && ' : '';
180
+ const generatedPackageTypecheck = 'pnpm -r --filter "./apps/*" --filter "./verticals/*" --filter "./packages/*" run typecheck';
181
+ const typecheck = bridge ? generatedPackageTypecheck : "node ./scripts/ultramodern-typecheck.mts --build tsconfig.json";
182
+ const bridgeScripts = bridge ? {
183
+ ...Object.fromEntries(bridge.gates.map((gate)=>[
184
+ `bridge:${gate.name}`,
185
+ `${gate.cwd ? `cd ${gate.cwd} && ` : ''}${gate.command}`
186
+ ])),
187
+ 'bridge:check': bridge.gates.map((gate)=>`pnpm run bridge:${gate.name}`).join(' && ')
188
+ } : {};
189
+ const bridgeCheck = bridge ? ' && pnpm bridge:check' : '';
190
+ const workspacePackages = [
191
+ 'apps/*',
192
+ 'verticals/*',
193
+ 'packages/*',
194
+ ...bridge?.workspacePackages.map((entry)=>entry.pattern) ?? []
195
+ ];
178
196
  return {
179
197
  private: true,
180
198
  name: scope,
@@ -196,30 +214,29 @@ function createRootPackageJson(scope, packageSource, remotes = []) {
196
214
  'format:check': "oxfmt --check . '!repos/**'",
197
215
  lint: 'oxlint apps verticals packages',
198
216
  'lint:fix': 'oxlint apps verticals packages --fix',
199
- typecheck: "node ./scripts/ultramodern-typecheck.mjs --build tsconfig.json",
217
+ typecheck,
200
218
  'cloudflare:build': `${remoteCloudflareBuildPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:build && pnpm mf:types`,
201
219
  'cloudflare:deploy': `${remoteCloudflareDeployPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:deploy`,
202
- 'cloudflare:proof': "node ./scripts/proof-cloudflare-version.mjs --out .codex/reports/cloudflare-version-proof/public-url-proof.json",
203
- 'skills:install': "node ./scripts/bootstrap-agent-skills.mjs",
204
- 'skills:check': "node ./scripts/bootstrap-agent-skills.mjs --check",
205
- 'agents:refs:install': "node ./scripts/setup-agent-reference-repos.mjs",
206
- 'agents:refs:check': "node ./scripts/setup-agent-reference-repos.mjs --check",
207
- 'mf:types': "node ./scripts/assert-mf-types.mjs",
208
- 'performance:readiness': "node ./scripts/ultramodern-performance-readiness.mjs",
209
- 'contract:check': "node ./scripts/validate-ultramodern-workspace.mjs",
210
- 'i18n:boundaries': "node ./scripts/check-ultramodern-i18n-boundaries.mjs",
211
- postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mjs --postinstall",
212
- check: 'pnpm format:check && pnpm lint && pnpm typecheck && pnpm skills:check && pnpm i18n:boundaries && pnpm contract:check && pnpm performance:readiness'
220
+ 'cloudflare:proof': "node ./scripts/proof-cloudflare-version.mts --out .codex/reports/cloudflare-version-proof/public-url-proof.json",
221
+ 'skills:install': "node ./scripts/bootstrap-agent-skills.mts",
222
+ 'skills:check': "node ./scripts/bootstrap-agent-skills.mts --check",
223
+ 'agents:refs:install': "node ./scripts/setup-agent-reference-repos.mts",
224
+ 'agents:refs:check': "node ./scripts/setup-agent-reference-repos.mts --check",
225
+ 'mf:types': "node ./scripts/assert-mf-types.mts",
226
+ 'performance:readiness': "node ./scripts/ultramodern-performance-readiness.mts",
227
+ 'migrate:strict-effect': "node ./scripts/migrate-strict-effect.mts",
228
+ 'contract:check': "node ./scripts/validate-ultramodern-workspace.mts",
229
+ 'api:check': "node ./scripts/check-ultramodern-api-boundaries.mts",
230
+ 'i18n:boundaries': "node ./scripts/check-ultramodern-i18n-boundaries.mts",
231
+ ...bridgeScripts,
232
+ postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mts --postinstall",
233
+ check: `pnpm format:check && pnpm lint && pnpm typecheck && pnpm skills:check && pnpm i18n:boundaries && pnpm api:check && pnpm contract:check && pnpm performance:readiness${bridgeCheck}`
213
234
  },
214
235
  engines: {
215
236
  node: '>=26',
216
237
  pnpm: '>=11'
217
238
  },
218
- workspaces: [
219
- 'apps/*',
220
- 'verticals/*',
221
- 'packages/*'
222
- ],
239
+ workspaces: workspacePackages,
223
240
  modernjs: {
224
241
  preset: 'presetUltramodern',
225
242
  workspace: 'ultramodern-superapp',
@@ -227,7 +244,7 @@ function createRootPackageJson(scope, packageSource, remotes = []) {
227
244
  ownership: './topology/ownership.json',
228
245
  packageSource: {
229
246
  strategy: packageSource.strategy,
230
- config: './.modernjs/ultramodern-package-source.json'
247
+ config: './.modernjs/ultramodern.json'
231
248
  }
232
249
  },
233
250
  devDependencies: {
@@ -346,10 +363,10 @@ function createPackageTsConfig(packageDir, options = {}) {
346
363
  function createAppTsConfig(app, remotes = []) {
347
364
  const references = [
348
365
  ...external_descriptors_cjs_namespaceObject.sharedPackages.map((sharedPackage)=>sharedPackage.directory),
349
- ...'shell' === app.kind ? (0, external_descriptors_cjs_namespaceObject.verticalEffectApps)(remotes).map((remote)=>remote.directory) : (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(app, remotes).map((remote)=>remote.directory)
366
+ ...'shell' === app.kind ? (0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((remote)=>remote.directory) : (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(app, remotes).map((remote)=>remote.directory)
350
367
  ];
351
368
  return createPackageTsConfig(app.directory, {
352
- includeApi: (0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app),
369
+ includeApi: (0, external_descriptors_cjs_namespaceObject.appHasApi)(app),
353
370
  references
354
371
  });
355
372
  }
@@ -385,7 +402,7 @@ function createRootTsConfig(apps = []) {
385
402
  ]
386
403
  };
387
404
  }
388
- function createAppPackage(scope, app, packageSource, enableTailwind, remotes = []) {
405
+ function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [], bridge) {
389
406
  const publicSurfaceBuildCommand = (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'dist');
390
407
  const publicSurfaceCloudflareBuildCommand = (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'dist');
391
408
  const publicSurfaceCloudflareOutputCommand = (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'cloudflare');
@@ -399,33 +416,33 @@ function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [
399
416
  version: '0.1.0',
400
417
  scripts: {
401
418
  dev: 'modern dev',
402
- build: app.exposes ? `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand} && node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/assert-mf-types.mjs` : `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand}`,
419
+ build: app.exposes ? `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand} && node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/assert-mf-types.mts` : `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand}`,
403
420
  'cloudflare:build': `ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern build && ${publicSurfaceCloudflareBuildCommand} && ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern deploy && ${publicSurfaceCloudflareOutputCommand}`,
404
421
  'cloudflare:deploy': 'ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS=true pnpm run cloudflare:build && wrangler deploy --config .output/wrangler.json',
405
422
  'cloudflare:preview': 'pnpm run cloudflare:build && wrangler dev --config .output/wrangler.json',
406
- 'cloudflare:proof': `node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/proof-cloudflare-version.mjs --app ${app.id}`,
423
+ 'cloudflare:proof': `node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/proof-cloudflare-version.mts --app ${app.id}`,
407
424
  serve: 'modern serve',
408
- typecheck: createEffectTsgoTypecheckCommand(app.directory)
425
+ typecheck: createStrictTsgoTypecheckCommand(app.directory)
409
426
  },
410
427
  modernjs: {
411
428
  preset: 'presetUltramodern',
412
429
  role: 'shell' === app.kind ? 'shell' : 'module-federation-remote',
413
430
  appId: app.id,
414
431
  topology: `${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/topology/reference-topology.json`,
415
- ...(0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app) ? {
416
- apiRuntime: 'effect-bff'
432
+ ...(0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? {
433
+ apiRuntime: 'effect'
417
434
  } : {}
418
435
  },
419
436
  'zephyr:dependencies': createZephyrDependencies(scope, app, remotes),
420
- dependencies: appDependencies(scope, packageSource, app, remotes),
437
+ dependencies: appDependencies(scope, packageSource, app, remotes, bridge),
421
438
  devDependencies: appDevDependencies(packageSource, enableTailwind)
422
439
  };
423
- if ((0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app)) Object.assign(packageExports, {
424
- './effect/client': `./src/effect/${app.effectApi.stem}-client.ts`,
425
- './shared/effect/api': './shared/effect/api.ts'
440
+ if ((0, external_descriptors_cjs_namespaceObject.appHasApi)(app)) Object.assign(packageExports, {
441
+ './api': './shared/api.ts',
442
+ './api/client': `./src/api/${app.api.stem}-client.ts`
426
443
  });
427
444
  else if ('shell' === app.kind) Object.assign(packageExports, {
428
- './effect/clients': './src/effect/vertical-clients.ts'
445
+ './api/clients': './src/api/vertical-clients.ts'
429
446
  });
430
447
  if (Object.keys(packageExports).length > 0) packageJson.exports = packageExports;
431
448
  return packageJson;
@@ -441,7 +458,7 @@ function createSharedPackage(scope, id, description) {
441
458
  '.': './src/index.ts'
442
459
  },
443
460
  scripts: {
444
- typecheck: createEffectTsgoTypecheckCommand(`packages/${id}`)
461
+ typecheck: createStrictTsgoTypecheckCommand(`packages/${id}`)
445
462
  },
446
463
  devDependencies: {
447
464
  '@effect/tsgo': external_versions_cjs_namespaceObject.EFFECT_TSGO_VERSION,
@@ -462,13 +479,13 @@ exports.appDevDependencies = __webpack_exports__.appDevDependencies;
462
479
  exports.createAppMfTypesTsConfig = __webpack_exports__.createAppMfTypesTsConfig;
463
480
  exports.createAppPackage = __webpack_exports__.createAppPackage;
464
481
  exports.createAppTsConfig = __webpack_exports__.createAppTsConfig;
465
- exports.createEffectTsgoTypecheckCommand = __webpack_exports__.createEffectTsgoTypecheckCommand;
466
482
  exports.createPackageTsConfig = __webpack_exports__.createPackageTsConfig;
467
483
  exports.createRootPackageJson = __webpack_exports__.createRootPackageJson;
468
484
  exports.createRootTsConfig = __webpack_exports__.createRootTsConfig;
469
485
  exports.createSharedContractsIndex = __webpack_exports__.createSharedContractsIndex;
470
486
  exports.createSharedPackage = __webpack_exports__.createSharedPackage;
471
487
  exports.createSharedPackageTsConfig = __webpack_exports__.createSharedPackageTsConfig;
488
+ exports.createStrictTsgoTypecheckCommand = __webpack_exports__.createStrictTsgoTypecheckCommand;
472
489
  exports.createTsConfigBase = __webpack_exports__.createTsConfigBase;
473
490
  exports.createZephyrDependencies = __webpack_exports__.createZephyrDependencies;
474
491
  exports.effectDiagnostics = __webpack_exports__.effectDiagnostics;
@@ -478,13 +495,13 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
478
495
  "createAppMfTypesTsConfig",
479
496
  "createAppPackage",
480
497
  "createAppTsConfig",
481
- "createEffectTsgoTypecheckCommand",
482
498
  "createPackageTsConfig",
483
499
  "createRootPackageJson",
484
500
  "createRootTsConfig",
485
501
  "createSharedContractsIndex",
486
502
  "createSharedPackage",
487
503
  "createSharedPackageTsConfig",
504
+ "createStrictTsgoTypecheckCommand",
488
505
  "createTsConfigBase",
489
506
  "createZephyrDependencies",
490
507
  "effectDiagnostics"
@@ -56,8 +56,8 @@ function createCloudflareProofRoute(app) {
56
56
  ssr: localizedPath ?? '/en',
57
57
  mfManifest: '/mf-manifest.json',
58
58
  locale: `/locales/en/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app)}.json`,
59
- ...(0, external_descriptors_cjs_namespaceObject.appHasEffectApi)(app) ? {
60
- effectReadiness: `${(0, external_descriptors_cjs_namespaceObject.effectApiPrefix)(app)}/effect/${(0, external_descriptors_cjs_namespaceObject.effectApiStem)(app)}/readiness`
59
+ ...(0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? {
60
+ apiReadiness: `${(0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app)}/${(0, external_descriptors_cjs_namespaceObject.resolveApiStem)(app)}/readiness`
61
61
  } : {}
62
62
  };
63
63
  }
@@ -148,7 +148,7 @@ const PUBLIC_WEBSITE_POLICY = {
148
148
  requireWebManifestWhenPresent: true
149
149
  },
150
150
  statusCodes: {
151
- notFoundRoute: '/__ultramodern-smoke-missing',
151
+ notFoundRoute: '/__ultramodern-smoke-missing/nope',
152
152
  unknownRouteStatus: 404
153
153
  },
154
154
  indexing: {
@@ -216,7 +216,7 @@ function createCloudflareDeployContract(scope, app) {
216
216
  security: createCloudflareSecurityContract(),
217
217
  qualityGates: createPublicWebsiteQualityGateContract(),
218
218
  evidence: {
219
- proofScript: "scripts/proof-cloudflare-version.mjs",
219
+ proofScript: "scripts/proof-cloudflare-version.mts",
220
220
  reportDefault: '.codex/reports/cloudflare-version-proof/public-url-proof.json'
221
221
  }
222
222
  };
@@ -30,16 +30,20 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  addUltramodernVertical: ()=>external_add_vertical_cjs_namespaceObject.addUltramodernVertical,
32
32
  generateUltramodernWorkspace: ()=>external_write_workspace_cjs_namespaceObject.generateUltramodernWorkspace,
33
+ normalizeUltramodernBridgeConfig: ()=>external_bridge_config_cjs_namespaceObject.normalizeUltramodernBridgeConfig,
33
34
  planUltramodernVertical: ()=>external_add_vertical_cjs_namespaceObject.planUltramodernVertical
34
35
  });
35
36
  const external_add_vertical_cjs_namespaceObject = require("./add-vertical.cjs");
37
+ const external_bridge_config_cjs_namespaceObject = require("./bridge-config.cjs");
36
38
  const external_write_workspace_cjs_namespaceObject = require("./write-workspace.cjs");
37
39
  exports.addUltramodernVertical = __webpack_exports__.addUltramodernVertical;
38
40
  exports.generateUltramodernWorkspace = __webpack_exports__.generateUltramodernWorkspace;
41
+ exports.normalizeUltramodernBridgeConfig = __webpack_exports__.normalizeUltramodernBridgeConfig;
39
42
  exports.planUltramodernVertical = __webpack_exports__.planUltramodernVertical;
40
43
  for(var __rspack_i in __webpack_exports__)if (-1 === [
41
44
  "addUltramodernVertical",
42
45
  "generateUltramodernWorkspace",
46
+ "normalizeUltramodernBridgeConfig",
43
47
  "planUltramodernVertical"
44
48
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
45
49
  Object.defineProperty(exports, '__esModule', {
@@ -103,7 +103,7 @@ function createPublicSurfaceOutputFiles(app) {
103
103
  ];
104
104
  }
105
105
  function createPublicSurfaceGenerationCommand(app, target, requirePublicOrigin = false) {
106
- return `node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/generate-public-surface-assets.mjs --app ${app.id} --target ${target}${requirePublicOrigin ? ' --require-public-origin' : ''}`;
106
+ return `node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/generate-public-surface-assets.mts --app ${app.id} --target ${target}${requirePublicOrigin ? ' --require-public-origin' : ''}`;
107
107
  }
108
108
  function rewriteWorkspaceAssetsForApp(workspaceRoot, app) {
109
109
  for (const relativePath of publicSurfaceManagedSourceAssetPaths)external_node_fs_default().rmSync(external_node_path_default().join(workspaceRoot, app.directory, relativePath), {
@@ -119,7 +119,7 @@ function createPublicSurfaceContract(app) {
119
119
  generatedManifest: './src/routes/ultramodern-route-metadata',
120
120
  source: 'route-owned-public-routes',
121
121
  metadataExport: './src/routes/ultramodern-route-metadata',
122
- generator: "scripts/generate-public-surface-assets.mjs",
122
+ generator: "scripts/generate-public-surface-assets.mts",
123
123
  outputRoot: 'dist/public',
124
124
  cloudflareOutputRoot: '.output/public',
125
125
  privateRoutePolicy: 'omit-from-generated-public-surface',
@@ -28,6 +28,7 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  const TANSTACK_ROUTER_VERSION = '1.170.16';
31
+ const TANSTACK_ROUTER_CORE_VERSION = '1.171.13';
31
32
  const MODULE_FEDERATION_VERSION = '2.6.0';
32
33
  const ZEPHYR_RSPACK_PLUGIN_VERSION = '1.1.1';
33
34
  const ZEPHYR_AGENT_VERSION = '1.1.1';
@@ -36,6 +37,8 @@ const CLOUDFLARE_COMPATIBILITY_DATE = '2026-06-02';
36
37
  const TAILWIND_VERSION = '4.3.1';
37
38
  const TAILWIND_POSTCSS_VERSION = '4.3.1';
38
39
  const POSTCSS_VERSION = '8.5.15';
40
+ const EFFECT_VERSION = '4.0.0-beta.89';
41
+ const EFFECT_VITEST_VERSION = '4.0.0-beta.89';
39
42
  const EFFECT_TSGO_VERSION = '0.14.6';
40
43
  const TYPESCRIPT_STABLE_VERSION = '6.0.3';
41
44
  const TYPESCRIPT_NATIVE_PREVIEW_VERSION = '7.0.0-dev.20260624.1';
@@ -57,13 +60,18 @@ const RSTACK_AGENT_SKILLS_COMMIT = '61c948b42512e223bad44b83af4080eba48b2677';
57
60
  const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = '07bb5b6c43ad457609e00c081b72d4c42508ec76';
58
61
  const ultramodernWorkspaceVersions = {
59
62
  tanstackRouter: TANSTACK_ROUTER_VERSION,
63
+ tanstackRouterCore: TANSTACK_ROUTER_CORE_VERSION,
60
64
  moduleFederation: MODULE_FEDERATION_VERSION,
65
+ effect: EFFECT_VERSION,
66
+ effectVitest: EFFECT_VITEST_VERSION,
61
67
  tailwind: TAILWIND_VERSION,
62
68
  tailwindPostcss: TAILWIND_POSTCSS_VERSION
63
69
  };
64
70
  __webpack_require__.d(__webpack_exports__, {}, {
65
71
  CLOUDFLARE_COMPATIBILITY_DATE: CLOUDFLARE_COMPATIBILITY_DATE,
66
72
  EFFECT_TSGO_VERSION: EFFECT_TSGO_VERSION,
73
+ EFFECT_VERSION: EFFECT_VERSION,
74
+ EFFECT_VITEST_VERSION: EFFECT_VITEST_VERSION,
67
75
  I18NEXT_VERSION: I18NEXT_VERSION,
68
76
  LEFTHOOK_VERSION: LEFTHOOK_VERSION,
69
77
  MODULE_FEDERATION_AGENT_SKILLS_COMMIT: MODULE_FEDERATION_AGENT_SKILLS_COMMIT,
@@ -80,6 +88,7 @@ __webpack_require__.d(__webpack_exports__, {}, {
80
88
  RSTACK_AGENT_SKILLS_COMMIT: RSTACK_AGENT_SKILLS_COMMIT,
81
89
  TAILWIND_POSTCSS_VERSION: TAILWIND_POSTCSS_VERSION,
82
90
  TAILWIND_VERSION: TAILWIND_VERSION,
91
+ TANSTACK_ROUTER_CORE_VERSION: TANSTACK_ROUTER_CORE_VERSION,
83
92
  TANSTACK_ROUTER_VERSION: TANSTACK_ROUTER_VERSION,
84
93
  TYPESCRIPT_NATIVE_PREVIEW_VERSION: TYPESCRIPT_NATIVE_PREVIEW_VERSION,
85
94
  TYPESCRIPT_STABLE_VERSION: TYPESCRIPT_STABLE_VERSION,
@@ -94,6 +103,8 @@ __webpack_require__.d(__webpack_exports__, {}, {
94
103
  });
95
104
  exports.CLOUDFLARE_COMPATIBILITY_DATE = __webpack_exports__.CLOUDFLARE_COMPATIBILITY_DATE;
96
105
  exports.EFFECT_TSGO_VERSION = __webpack_exports__.EFFECT_TSGO_VERSION;
106
+ exports.EFFECT_VERSION = __webpack_exports__.EFFECT_VERSION;
107
+ exports.EFFECT_VITEST_VERSION = __webpack_exports__.EFFECT_VITEST_VERSION;
97
108
  exports.I18NEXT_VERSION = __webpack_exports__.I18NEXT_VERSION;
98
109
  exports.LEFTHOOK_VERSION = __webpack_exports__.LEFTHOOK_VERSION;
99
110
  exports.MODULE_FEDERATION_AGENT_SKILLS_COMMIT = __webpack_exports__.MODULE_FEDERATION_AGENT_SKILLS_COMMIT;
@@ -110,6 +121,7 @@ exports.REACT_VERSION = __webpack_exports__.REACT_VERSION;
110
121
  exports.RSTACK_AGENT_SKILLS_COMMIT = __webpack_exports__.RSTACK_AGENT_SKILLS_COMMIT;
111
122
  exports.TAILWIND_POSTCSS_VERSION = __webpack_exports__.TAILWIND_POSTCSS_VERSION;
112
123
  exports.TAILWIND_VERSION = __webpack_exports__.TAILWIND_VERSION;
124
+ exports.TANSTACK_ROUTER_CORE_VERSION = __webpack_exports__.TANSTACK_ROUTER_CORE_VERSION;
113
125
  exports.TANSTACK_ROUTER_VERSION = __webpack_exports__.TANSTACK_ROUTER_VERSION;
114
126
  exports.TYPESCRIPT_NATIVE_PREVIEW_VERSION = __webpack_exports__.TYPESCRIPT_NATIVE_PREVIEW_VERSION;
115
127
  exports.TYPESCRIPT_STABLE_VERSION = __webpack_exports__.TYPESCRIPT_STABLE_VERSION;
@@ -124,6 +136,8 @@ exports.ultramodernWorkspaceVersions = __webpack_exports__.ultramodernWorkspaceV
124
136
  for(var __rspack_i in __webpack_exports__)if (-1 === [
125
137
  "CLOUDFLARE_COMPATIBILITY_DATE",
126
138
  "EFFECT_TSGO_VERSION",
139
+ "EFFECT_VERSION",
140
+ "EFFECT_VITEST_VERSION",
127
141
  "I18NEXT_VERSION",
128
142
  "LEFTHOOK_VERSION",
129
143
  "MODULE_FEDERATION_AGENT_SKILLS_COMMIT",
@@ -140,6 +154,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
140
154
  "RSTACK_AGENT_SKILLS_COMMIT",
141
155
  "TAILWIND_POSTCSS_VERSION",
142
156
  "TAILWIND_VERSION",
157
+ "TANSTACK_ROUTER_CORE_VERSION",
143
158
  "TANSTACK_ROUTER_VERSION",
144
159
  "TYPESCRIPT_NATIVE_PREVIEW_VERSION",
145
160
  "TYPESCRIPT_STABLE_VERSION",