@bleedingdev/modern-js-create 3.5.0-ultramodern.27 → 3.5.0-ultramodern.29

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 (79) hide show
  1. package/dist/cjs/ultramodern-tooling/commands.cjs +497 -155
  2. package/dist/cjs/ultramodern-tooling/config.cjs +149 -8
  3. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +25 -0
  4. package/dist/cjs/ultramodern-workspace/api.cjs +44 -0
  5. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +282 -0
  6. package/dist/cjs/ultramodern-workspace/contracts.cjs +24 -8
  7. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +157 -0
  8. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +88 -0
  9. package/dist/cjs/ultramodern-workspace/descriptors.cjs +24 -0
  10. package/dist/cjs/ultramodern-workspace/module-federation.cjs +122 -44
  11. package/dist/cjs/ultramodern-workspace/package-json.cjs +11 -34
  12. package/dist/cjs/ultramodern-workspace/pnpm-workspace-policy-plan.cjs +166 -0
  13. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +153 -0
  14. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
  15. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +43 -62
  16. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +97 -0
  17. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +9 -3
  18. package/dist/cjs/ultramodern-workspace/zerops.cjs +100 -0
  19. package/dist/esm/ultramodern-tooling/commands.js +500 -158
  20. package/dist/esm/ultramodern-tooling/config.js +144 -9
  21. package/dist/esm/ultramodern-workspace/add-vertical.js +26 -1
  22. package/dist/esm/ultramodern-workspace/api.js +43 -2
  23. package/dist/esm/ultramodern-workspace/backend-federation.js +217 -0
  24. package/dist/esm/ultramodern-workspace/contracts.js +24 -8
  25. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +108 -0
  26. package/dist/esm/ultramodern-workspace/delivery-unit.js +31 -0
  27. package/dist/esm/ultramodern-workspace/descriptors.js +13 -1
  28. package/dist/esm/ultramodern-workspace/module-federation.js +121 -36
  29. package/dist/esm/ultramodern-workspace/package-json.js +11 -31
  30. package/dist/esm/ultramodern-workspace/pnpm-workspace-policy-plan.js +113 -0
  31. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  32. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +110 -0
  33. package/dist/esm/ultramodern-workspace/workspace-scripts.js +35 -63
  34. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +59 -0
  35. package/dist/esm/ultramodern-workspace/write-workspace.js +11 -5
  36. package/dist/esm/ultramodern-workspace/zerops.js +62 -0
  37. package/dist/esm-node/ultramodern-tooling/commands.js +500 -158
  38. package/dist/esm-node/ultramodern-tooling/config.js +144 -9
  39. package/dist/esm-node/ultramodern-workspace/add-vertical.js +26 -1
  40. package/dist/esm-node/ultramodern-workspace/api.js +43 -2
  41. package/dist/esm-node/ultramodern-workspace/backend-federation.js +218 -0
  42. package/dist/esm-node/ultramodern-workspace/contracts.js +24 -8
  43. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +109 -0
  44. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +32 -0
  45. package/dist/esm-node/ultramodern-workspace/descriptors.js +13 -1
  46. package/dist/esm-node/ultramodern-workspace/module-federation.js +121 -36
  47. package/dist/esm-node/ultramodern-workspace/package-json.js +11 -31
  48. package/dist/esm-node/ultramodern-workspace/pnpm-workspace-policy-plan.js +114 -0
  49. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  50. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +111 -0
  51. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +35 -63
  52. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +60 -0
  53. package/dist/esm-node/ultramodern-workspace/write-workspace.js +11 -5
  54. package/dist/esm-node/ultramodern-workspace/zerops.js +63 -0
  55. package/dist/types/ultramodern-tooling/config.d.ts +6 -0
  56. package/dist/types/ultramodern-workspace/api.d.ts +1 -0
  57. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  58. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -1
  59. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  60. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +27 -0
  61. package/dist/types/ultramodern-workspace/descriptors.d.ts +4 -0
  62. package/dist/types/ultramodern-workspace/module-federation.d.ts +4 -9
  63. package/dist/types/ultramodern-workspace/package-json.d.ts +0 -1
  64. package/dist/types/ultramodern-workspace/pnpm-workspace-policy-plan.d.ts +39 -0
  65. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  66. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +72 -0
  67. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +3 -0
  68. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +42 -0
  69. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  70. package/package.json +3 -3
  71. package/template-workspace/.gitignore.handlebars +1 -0
  72. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  73. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  74. package/templates/workspace-scripts/generate-node-backend-federation.mjs +270 -0
  75. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +448 -0
  76. package/templates/workspace-scripts/proof-cloudflare-version.mjs +234 -8
  77. package/templates/workspace-scripts/proof-node-backend-federation.mjs +729 -0
  78. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  79. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +322 -8
@@ -48,7 +48,6 @@ __webpack_require__.d(__webpack_exports__, {
48
48
  createSharedContractsIndex: ()=>createSharedContractsIndex,
49
49
  createSharedPackage: ()=>createSharedPackage,
50
50
  createSharedPackageTsConfig: ()=>createSharedPackageTsConfig,
51
- createStrictTsgoTypecheckCommand: ()=>createStrictTsgoTypecheckCommand,
52
51
  createTsConfigBase: ()=>createTsConfigBase,
53
52
  createZephyrDependencies: ()=>createZephyrDependencies,
54
53
  effectDiagnostics: ()=>effectDiagnostics
@@ -59,9 +58,8 @@ const external_ultramodern_package_source_cjs_namespaceObject = require("../ultr
59
58
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
60
59
  const external_fs_io_cjs_namespaceObject = require("./fs-io.cjs");
61
60
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
62
- const external_public_surface_cjs_namespaceObject = require("./public-surface.cjs");
63
61
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
64
- const createStrictTsgoTypecheckCommand = (packageDir)=>`node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(packageDir)}/scripts/ultramodern-typecheck.mts --project tsconfig.json`;
62
+ const external_workspace_script_plan_cjs_namespaceObject = require("./workspace-script-plan.cjs");
65
63
  const effectDiagnostics = [
66
64
  'anyUnknownInErrorContext',
67
65
  'classSelfMismatch',
@@ -184,11 +182,6 @@ function appDevDependencies(packageSource, enableTailwind) {
184
182
  function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
185
183
  const shellFilter = `--filter ${(0, external_naming_cjs_namespaceObject.packageName)(scope, external_descriptors_cjs_namespaceObject.shellApp.packageSuffix)}`;
186
184
  const remoteFilters = remotes.map((remote)=>`--filter ${(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)}`);
187
- const remoteBuildPrefix = remotes.length > 0 ? 'ULTRAMODERN_ZEPHYR=false pnpm -r --filter "./verticals/*" run build && ' : '';
188
- const remoteCloudflareBuildPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:build && ' : '';
189
- const remoteCloudflareDeployPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:deploy && ' : '';
190
- const generatedPackageTypecheck = 'pnpm -r --filter "./apps/*" --filter "./verticals/*" --filter "./packages/*" run typecheck';
191
- const typecheck = bridge ? generatedPackageTypecheck : "node ./scripts/ultramodern-typecheck.mts --build tsconfig.json";
192
185
  const bridgeScripts = bridge ? {
193
186
  ...Object.fromEntries(bridge.gates.map((gate)=>[
194
187
  `bridge:${gate.name}`,
@@ -197,6 +190,11 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
197
190
  'bridge:check': bridge.gates.map((gate)=>`pnpm run bridge:${gate.name}`).join(' && ')
198
191
  } : {};
199
192
  const bridgeCheck = bridge ? ' && pnpm bridge:check' : '';
193
+ const bridgeTypecheck = bridge ? 'pnpm -r --filter "./apps/*" --filter "./verticals/*" --filter "./packages/*" run typecheck' : void 0;
194
+ const rootPackageScripts = (0, external_workspace_script_plan_cjs_namespaceObject.createWorkspaceRootPackageScripts)(remotes, {
195
+ bridgeCheck,
196
+ typecheck: bridgeTypecheck
197
+ });
200
198
  const workspacePackages = [
201
199
  'apps/*',
202
200
  'verticals/*',
@@ -219,28 +217,19 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
219
217
  `dev:${remote.packageSuffix}`,
220
218
  `pnpm --filter ${(0, external_naming_cjs_namespaceObject.packageName)(scope, remote.packageSuffix)} dev`
221
219
  ])),
222
- build: `${remoteBuildPrefix}ULTRAMODERN_ZEPHYR=false pnpm --filter "./apps/shell-super-app" run build && pnpm mf:types && pnpm performance:readiness`,
220
+ ...rootPackageScripts,
223
221
  format: "oxfmt . '!repos/**'",
224
222
  'format:check': "oxfmt --check . '!repos/**'",
225
223
  lint: 'oxlint apps verticals packages',
226
224
  'lint:fix': 'oxlint apps verticals packages --fix',
227
- typecheck,
228
- 'cloudflare:build': `${remoteCloudflareBuildPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:build && pnpm mf:types`,
229
- 'cloudflare:deploy': `${remoteCloudflareDeployPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:deploy`,
230
- 'cloudflare:proof': "node ./scripts/proof-cloudflare-version.mts --out .codex/reports/cloudflare-version-proof/public-url-proof.json",
231
225
  'skills:install': "node ./scripts/bootstrap-agent-skills.mts",
232
226
  'skills:check': "node ./scripts/bootstrap-agent-skills.mts --check",
233
227
  'agents:refs:install': "node ./scripts/setup-agent-reference-repos.mts",
234
228
  'agents:refs:check': "node ./scripts/setup-agent-reference-repos.mts --check",
235
- 'mf:types': "node ./scripts/assert-mf-types.mts",
236
- 'performance:readiness': "node ./scripts/ultramodern-performance-readiness.mts",
237
- 'migrate:strict-effect': "node ./scripts/migrate-strict-effect.mts",
238
- 'contract:check': "node ./scripts/validate-ultramodern-workspace.mts",
239
229
  'api:check': "node ./scripts/check-ultramodern-api-boundaries.mts",
240
230
  'i18n:boundaries': "node ./scripts/check-ultramodern-i18n-boundaries.mts",
241
231
  ...bridgeScripts,
242
- postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mts --postinstall",
243
- check: `pnpm format:check && pnpm lint && pnpm typecheck && pnpm skills:check && pnpm i18n:boundaries && pnpm api:check && pnpm contract:check && pnpm performance:readiness${bridgeCheck}`
232
+ postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mts --postinstall"
244
233
  },
245
234
  engines: {
246
235
  node: '>=26',
@@ -261,6 +250,7 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
261
250
  '@effect/tsgo': external_versions_cjs_namespaceObject.EFFECT_TSGO_VERSION,
262
251
  '@modern-js/code-tools': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/code-tools', packageSource),
263
252
  '@modern-js/create': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/create', packageSource),
253
+ '@modern-js/plugin-bff': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-bff', packageSource),
264
254
  "@typescript/native-preview": external_versions_cjs_namespaceObject.TYPESCRIPT_NATIVE_PREVIEW_VERSION,
265
255
  lefthook: external_versions_cjs_namespaceObject.LEFTHOOK_VERSION,
266
256
  oxlint: external_versions_cjs_namespaceObject.OXLINT_VERSION,
@@ -410,8 +400,6 @@ function createRootTsConfig(apps = []) {
410
400
  };
411
401
  }
412
402
  function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [], bridge) {
413
- const publicSurfaceBuildCommand = (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'dist');
414
- const publicSurfaceCloudflareOutputCommand = (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'cloudflare');
415
403
  const packageExports = Object.fromEntries(Object.entries(app.exposes ?? {}).map(([expose, source])=>[
416
404
  expose,
417
405
  source
@@ -420,16 +408,7 @@ function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [
420
408
  private: true,
421
409
  name: (0, external_naming_cjs_namespaceObject.packageName)(scope, app.packageSuffix),
422
410
  version: '0.1.0',
423
- scripts: {
424
- dev: 'modern dev',
425
- 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}`,
426
- 'cloudflare:build': `ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern build && ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern deploy --skip-build && ${publicSurfaceCloudflareOutputCommand}`,
427
- 'cloudflare:deploy': 'ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS=true pnpm run cloudflare:build && wrangler deploy --config .output/wrangler.json',
428
- 'cloudflare:preview': 'pnpm run cloudflare:build && wrangler dev --config .output/wrangler.json',
429
- 'cloudflare:proof': `node ${(0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)}/scripts/proof-cloudflare-version.mts --app ${app.id}`,
430
- serve: 'modern serve',
431
- typecheck: createStrictTsgoTypecheckCommand(app.directory)
432
- },
411
+ scripts: (0, external_workspace_script_plan_cjs_namespaceObject.createWorkspaceAppPackageScripts)(app),
433
412
  modernjs: {
434
413
  preset: 'presetUltramodern',
435
414
  role: 'shell' === app.kind ? 'shell' : 'module-federation-remote',
@@ -464,7 +443,7 @@ function createSharedPackage(scope, id, description) {
464
443
  '.': './src/index.ts'
465
444
  },
466
445
  scripts: {
467
- typecheck: createStrictTsgoTypecheckCommand(`packages/${id}`)
446
+ typecheck: (0, external_workspace_script_plan_cjs_namespaceObject.createStrictTsgoTypecheckCommand)(`packages/${id}`)
468
447
  },
469
448
  devDependencies: {
470
449
  '@effect/tsgo': external_versions_cjs_namespaceObject.EFFECT_TSGO_VERSION,
@@ -491,7 +470,6 @@ exports.createRootTsConfig = __webpack_exports__.createRootTsConfig;
491
470
  exports.createSharedContractsIndex = __webpack_exports__.createSharedContractsIndex;
492
471
  exports.createSharedPackage = __webpack_exports__.createSharedPackage;
493
472
  exports.createSharedPackageTsConfig = __webpack_exports__.createSharedPackageTsConfig;
494
- exports.createStrictTsgoTypecheckCommand = __webpack_exports__.createStrictTsgoTypecheckCommand;
495
473
  exports.createTsConfigBase = __webpack_exports__.createTsConfigBase;
496
474
  exports.createZephyrDependencies = __webpack_exports__.createZephyrDependencies;
497
475
  exports.effectDiagnostics = __webpack_exports__.effectDiagnostics;
@@ -507,7 +485,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
507
485
  "createSharedContractsIndex",
508
486
  "createSharedPackage",
509
487
  "createSharedPackageTsConfig",
510
- "createStrictTsgoTypecheckCommand",
511
488
  "createTsConfigBase",
512
489
  "createZephyrDependencies",
513
490
  "effectDiagnostics"
@@ -0,0 +1,166 @@
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
+ createPnpmWorkspacePolicyPlan: ()=>createPnpmWorkspacePolicyPlan,
32
+ drizzleOrmDeclarationPatchPath: ()=>drizzleOrmDeclarationPatchPath,
33
+ effectDeclarationPatchPath: ()=>effectDeclarationPatchPath,
34
+ moduleFederationBridgeReactPatchPath: ()=>moduleFederationBridgeReactPatchPath,
35
+ moduleFederationModernJsPatchPath: ()=>moduleFederationModernJsPatchPath,
36
+ strictEffectPackageVersionPolicyExclusions: ()=>strictEffectPackageVersionPolicyExclusions
37
+ });
38
+ const external_versions_cjs_namespaceObject = require("./versions.cjs");
39
+ const strictEffectPackageVersionPolicyExclusions = [
40
+ `effect@${external_versions_cjs_namespaceObject.EFFECT_VERSION}`,
41
+ `@effect/opentelemetry@${external_versions_cjs_namespaceObject.EFFECT_VERSION}`
42
+ ];
43
+ const moduleFederationModernJsPatchPath = `patches/@module-federation__modern-js-v3@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}.patch`;
44
+ const moduleFederationBridgeReactPatchPath = `patches/@module-federation__bridge-react@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}.patch`;
45
+ const effectDeclarationPatchPath = 'patches/effect-schema-error-type-id.patch';
46
+ const drizzleOrmDeclarationPatchPath = 'patches/drizzle-orm-ts7-strict-declarations.patch';
47
+ function createPnpmWorkspacePolicyPlan(options) {
48
+ return {
49
+ yamlActions: [
50
+ {
51
+ kind: 'replace-line',
52
+ pattern: /^ {4}'@effect\/vitest>effect': .+$/mu,
53
+ replacement: ` '@effect/vitest>effect': '${external_versions_cjs_namespaceObject.EFFECT_VERSION}'`
54
+ },
55
+ {
56
+ kind: 'ensure-scalar-map-entry',
57
+ key: 'overrides',
58
+ entryKey: "'@effect/opentelemetry'",
59
+ value: external_versions_cjs_namespaceObject.EFFECT_VERSION
60
+ },
61
+ {
62
+ kind: 'ensure-scalar-map-entry',
63
+ key: 'overrides',
64
+ entryKey: "'@effect/vitest'",
65
+ value: external_versions_cjs_namespaceObject.EFFECT_VITEST_VERSION
66
+ },
67
+ {
68
+ kind: 'ensure-scalar-map-entry',
69
+ key: 'overrides',
70
+ entryKey: 'effect',
71
+ value: external_versions_cjs_namespaceObject.EFFECT_VERSION
72
+ },
73
+ {
74
+ kind: 'ensure-scalar-map-entry',
75
+ key: 'allowBuilds',
76
+ entryKey: "'@parcel/watcher'",
77
+ value: 'true'
78
+ },
79
+ ...strictEffectPackageVersionPolicyExclusions.flatMap((item)=>createStrictEffectPackageVersionPolicyActions(item)),
80
+ {
81
+ kind: 'ensure-map-entry',
82
+ key: 'patchedDependencies',
83
+ entryKey: `effect@${external_versions_cjs_namespaceObject.EFFECT_VERSION}`,
84
+ value: effectDeclarationPatchPath
85
+ },
86
+ {
87
+ kind: 'ensure-map-entry',
88
+ key: 'patchedDependencies',
89
+ entryKey: `@module-federation/modern-js-v3@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}`,
90
+ value: moduleFederationModernJsPatchPath
91
+ },
92
+ {
93
+ kind: 'ensure-map-entry',
94
+ key: 'patchedDependencies',
95
+ entryKey: `@module-federation/bridge-react@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}`,
96
+ value: moduleFederationBridgeReactPatchPath
97
+ },
98
+ options.usesDrizzleOrm ? {
99
+ kind: 'ensure-map-entry',
100
+ key: 'patchedDependencies',
101
+ entryKey: `drizzle-orm@${external_versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION}`,
102
+ value: drizzleOrmDeclarationPatchPath
103
+ } : {
104
+ kind: 'remove-map-entry',
105
+ entryKey: `drizzle-orm@${external_versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION}`
106
+ }
107
+ ],
108
+ declarationPatchActions: [
109
+ {
110
+ kind: 'ensure',
111
+ relativePatchPath: moduleFederationModernJsPatchPath
112
+ },
113
+ {
114
+ kind: 'ensure',
115
+ relativePatchPath: moduleFederationBridgeReactPatchPath
116
+ },
117
+ {
118
+ kind: 'ensure',
119
+ relativePatchPath: effectDeclarationPatchPath
120
+ },
121
+ {
122
+ kind: options.usesDrizzleOrm ? 'ensure' : 'remove-if-unchanged',
123
+ relativePatchPath: drizzleOrmDeclarationPatchPath
124
+ }
125
+ ],
126
+ requiresInstallOnChange: true
127
+ };
128
+ }
129
+ function createStrictEffectPackageVersionPolicyActions(item) {
130
+ const packageName = item.slice(0, item.lastIndexOf('@'));
131
+ const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
132
+ return [
133
+ {
134
+ kind: 'replace-line',
135
+ pattern: new RegExp(`^ {2}- '${escapedPackageName}@[^']+'$`, 'gmu'),
136
+ replacement: ` - '${item}'`
137
+ },
138
+ {
139
+ kind: 'ensure-list-item',
140
+ key: 'minimumReleaseAgeExclude',
141
+ item
142
+ },
143
+ {
144
+ kind: 'ensure-list-item',
145
+ key: 'trustPolicyExclude',
146
+ item
147
+ }
148
+ ];
149
+ }
150
+ exports.createPnpmWorkspacePolicyPlan = __webpack_exports__.createPnpmWorkspacePolicyPlan;
151
+ exports.drizzleOrmDeclarationPatchPath = __webpack_exports__.drizzleOrmDeclarationPatchPath;
152
+ exports.effectDeclarationPatchPath = __webpack_exports__.effectDeclarationPatchPath;
153
+ exports.moduleFederationBridgeReactPatchPath = __webpack_exports__.moduleFederationBridgeReactPatchPath;
154
+ exports.moduleFederationModernJsPatchPath = __webpack_exports__.moduleFederationModernJsPatchPath;
155
+ exports.strictEffectPackageVersionPolicyExclusions = __webpack_exports__.strictEffectPackageVersionPolicyExclusions;
156
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
157
+ "createPnpmWorkspacePolicyPlan",
158
+ "drizzleOrmDeclarationPatchPath",
159
+ "effectDeclarationPatchPath",
160
+ "moduleFederationBridgeReactPatchPath",
161
+ "moduleFederationModernJsPatchPath",
162
+ "strictEffectPackageVersionPolicyExclusions"
163
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
164
+ Object.defineProperty(exports, '__esModule', {
165
+ value: true
166
+ });
@@ -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 defineToolingCommand = (command)=>({
31
+ ...command,
32
+ wrapperPath: `scripts/${command.wrapperName}.mts`
33
+ });
34
+ const generatedToolingCommands = [
35
+ defineToolingCommand({
36
+ id: 'validate',
37
+ command: 'validate',
38
+ wrapperName: 'validate-ultramodern-workspace',
39
+ contractKey: 'validate',
40
+ rootScript: 'contract:check'
41
+ }),
42
+ defineToolingCommand({
43
+ id: 'typecheck',
44
+ command: 'typecheck',
45
+ wrapperName: 'ultramodern-typecheck',
46
+ contractKey: 'typecheck',
47
+ rootScript: 'typecheck',
48
+ templatePath: "templates/workspace-scripts/ultramodern-typecheck.mjs",
49
+ cwd: 'invocation'
50
+ }),
51
+ defineToolingCommand({
52
+ id: 'mfTypes',
53
+ command: 'mf-types',
54
+ wrapperName: 'assert-mf-types',
55
+ contractKey: 'mfTypes',
56
+ rootScript: 'mf:types'
57
+ }),
58
+ defineToolingCommand({
59
+ id: 'publicSurface',
60
+ command: 'public-surface',
61
+ wrapperName: 'generate-public-surface-assets',
62
+ contractKey: 'publicSurface',
63
+ templatePath: "templates/workspace-scripts/generate-public-surface-assets.mjs"
64
+ }),
65
+ defineToolingCommand({
66
+ id: 'backendFederationGenerate',
67
+ command: 'backend-federation-generate',
68
+ wrapperName: 'generate-node-backend-federation',
69
+ contractKey: 'backendFederationGenerate',
70
+ rootScript: 'node:backend-federation:generate',
71
+ templatePath: "templates/workspace-scripts/generate-node-backend-federation.mjs"
72
+ }),
73
+ defineToolingCommand({
74
+ id: 'backendFederationProof',
75
+ command: 'backend-federation-proof',
76
+ wrapperName: 'proof-node-backend-federation',
77
+ contractKey: 'backendFederationProof',
78
+ rootScript: 'node:proof',
79
+ templatePath: "templates/workspace-scripts/proof-node-backend-federation.mjs"
80
+ }),
81
+ defineToolingCommand({
82
+ id: 'cloudflareProof',
83
+ command: 'cloudflare-proof',
84
+ wrapperName: 'proof-cloudflare-version',
85
+ contractKey: 'cloudflareProof',
86
+ rootScript: 'cloudflare:proof',
87
+ templatePath: "templates/workspace-scripts/proof-cloudflare-version.mjs"
88
+ }),
89
+ defineToolingCommand({
90
+ id: 'cloudflareOutputVerify',
91
+ command: 'cloudflare-output-verify',
92
+ wrapperName: 'verify-cloudflare-output',
93
+ contractKey: 'cloudflareOutputVerify',
94
+ rootScript: 'cloudflare-output:verify'
95
+ }),
96
+ defineToolingCommand({
97
+ id: 'performanceReadiness',
98
+ command: 'performance-readiness',
99
+ wrapperName: 'ultramodern-performance-readiness',
100
+ contractKey: 'performanceReadiness',
101
+ rootScript: 'performance:readiness',
102
+ templatePath: "templates/workspace-scripts/ultramodern-performance-readiness.mjs"
103
+ }),
104
+ defineToolingCommand({
105
+ id: 'migrateStrictEffect',
106
+ command: 'migrate-strict-effect',
107
+ wrapperName: 'migrate-strict-effect',
108
+ contractKey: 'migrateStrictEffect',
109
+ rootScript: 'migrate:strict-effect'
110
+ }),
111
+ defineToolingCommand({
112
+ id: 'routesGenerate',
113
+ command: 'routes-generate',
114
+ wrapperName: 'generate-tanstack-routes',
115
+ contractKey: 'routesGenerate'
116
+ })
117
+ ];
118
+ const toolingCommandById = Object.fromEntries(generatedToolingCommands.map((command)=>[
119
+ command.id,
120
+ command
121
+ ]));
122
+ const GENERATED_TOOLING_COMMANDS = toolingCommandById;
123
+ const generatedToolingCommandList = ()=>generatedToolingCommands.map((command)=>command.command);
124
+ const createToolingWrapperContract = ()=>Object.fromEntries(generatedToolingCommands.map((command)=>[
125
+ command.contractKey,
126
+ command.wrapperPath
127
+ ]));
128
+ const createGeneratedToolingWrapperMap = createToolingWrapperContract;
129
+ __webpack_require__.d(__webpack_exports__, {}, {
130
+ GENERATED_TOOLING_COMMANDS: GENERATED_TOOLING_COMMANDS,
131
+ createGeneratedToolingWrapperMap: createGeneratedToolingWrapperMap,
132
+ createToolingWrapperContract: createToolingWrapperContract,
133
+ generatedToolingCommandList: generatedToolingCommandList,
134
+ generatedToolingCommands: generatedToolingCommands,
135
+ toolingCommandById: toolingCommandById
136
+ });
137
+ exports.GENERATED_TOOLING_COMMANDS = __webpack_exports__.GENERATED_TOOLING_COMMANDS;
138
+ exports.createGeneratedToolingWrapperMap = __webpack_exports__.createGeneratedToolingWrapperMap;
139
+ exports.createToolingWrapperContract = __webpack_exports__.createToolingWrapperContract;
140
+ exports.generatedToolingCommandList = __webpack_exports__.generatedToolingCommandList;
141
+ exports.generatedToolingCommands = __webpack_exports__.generatedToolingCommands;
142
+ exports.toolingCommandById = __webpack_exports__.toolingCommandById;
143
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
144
+ "GENERATED_TOOLING_COMMANDS",
145
+ "createGeneratedToolingWrapperMap",
146
+ "createToolingWrapperContract",
147
+ "generatedToolingCommandList",
148
+ "generatedToolingCommands",
149
+ "toolingCommandById"
150
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
151
+ Object.defineProperty(exports, '__esModule', {
152
+ value: true
153
+ });
@@ -0,0 +1,175 @@
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
+ createStrictTsgoTypecheckCommand: ()=>createStrictTsgoTypecheckCommand,
32
+ createWorkspaceAppPackageScripts: ()=>createWorkspaceAppPackageScripts,
33
+ createWorkspaceAppScriptPlan: ()=>createWorkspaceAppScriptPlan,
34
+ createWorkspaceRootPackageScripts: ()=>createWorkspaceRootPackageScripts,
35
+ createWorkspaceRootScriptPlan: ()=>createWorkspaceRootScriptPlan,
36
+ packageToolingWrapperCommand: ()=>packageToolingWrapperCommand,
37
+ rootToolingScriptName: ()=>rootToolingScriptName,
38
+ rootToolingWrapperCommand: ()=>rootToolingWrapperCommand,
39
+ workspaceAppPackageScriptNames: ()=>workspaceAppPackageScriptNames,
40
+ workspaceRootPackageScriptNames: ()=>workspaceRootPackageScriptNames
41
+ });
42
+ const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
43
+ const external_naming_cjs_namespaceObject = require("./naming.cjs");
44
+ const external_public_surface_cjs_namespaceObject = require("./public-surface.cjs");
45
+ const external_tooling_command_catalog_cjs_namespaceObject = require("./tooling-command-catalog.cjs");
46
+ const toolingWrapperPath = (key)=>external_tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS[key].wrapperPath;
47
+ const rootToolingScriptName = (key)=>{
48
+ const rootScript = external_tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS[key].rootScript;
49
+ if (!rootScript) throw new Error(`Generated tooling command ${key} does not define a root package script.`);
50
+ return rootScript;
51
+ };
52
+ const rootToolingWrapperCommand = (key)=>`node ./${toolingWrapperPath(key)}`;
53
+ const relativeToolingWrapperPath = (packageDir, key)=>`${(0, external_naming_cjs_namespaceObject.relativeRootFor)(packageDir)}/${toolingWrapperPath(key)}`;
54
+ const packageToolingWrapperCommand = (packageDir, key)=>`node ${relativeToolingWrapperPath(packageDir, key)}`;
55
+ const workspaceRootPackageScriptNames = {
56
+ build: 'build',
57
+ cloudflareBuild: 'cloudflare:build',
58
+ cloudflareDeploy: 'cloudflare:deploy',
59
+ cloudflareProof: rootToolingScriptName('cloudflareProof'),
60
+ cloudflareOutputVerify: rootToolingScriptName('cloudflareOutputVerify'),
61
+ backendFederationGenerate: rootToolingScriptName('backendFederationGenerate'),
62
+ nodeProof: rootToolingScriptName('backendFederationProof'),
63
+ mfTypes: rootToolingScriptName('mfTypes'),
64
+ performanceReadiness: rootToolingScriptName('performanceReadiness'),
65
+ migrateStrictEffect: rootToolingScriptName('migrateStrictEffect'),
66
+ zeropsMaterialize: 'zerops:materialize',
67
+ contractCheck: rootToolingScriptName('validate'),
68
+ typecheck: 'typecheck',
69
+ check: 'check'
70
+ };
71
+ const workspaceAppPackageScriptNames = {
72
+ dev: 'dev',
73
+ build: 'build',
74
+ cloudflareBuild: 'cloudflare:build',
75
+ cloudflareDeploy: 'cloudflare:deploy',
76
+ cloudflarePreview: 'cloudflare:preview',
77
+ cloudflareProof: 'cloudflare:proof',
78
+ serve: 'serve',
79
+ typecheck: 'typecheck'
80
+ };
81
+ const createStrictTsgoTypecheckCommand = (packageDir)=>`${packageToolingWrapperCommand(packageDir, 'typecheck')} --project tsconfig.json`;
82
+ function createWorkspaceAppScriptPlan(app) {
83
+ const backendFederationBuildCommand = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? `${packageToolingWrapperCommand(app.directory, 'backendFederationGenerate')} --app ${app.id}` : void 0;
84
+ const backendFederationCloudflareBuildCommand = backendFederationBuildCommand ? `${backendFederationBuildCommand} --target dist-cloudflare` : void 0;
85
+ const buildSteps = [
86
+ 'ULTRAMODERN_ZEPHYR=false modern build',
87
+ backendFederationBuildCommand,
88
+ (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'dist'),
89
+ app.exposes ? packageToolingWrapperCommand(app.directory, 'mfTypes') : void 0
90
+ ].filter((step)=>Boolean(step));
91
+ const cloudflareBuildSteps = [
92
+ 'ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern build',
93
+ backendFederationCloudflareBuildCommand,
94
+ 'ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern deploy --skip-build',
95
+ (0, external_public_surface_cjs_namespaceObject.createPublicSurfaceGenerationCommand)(app, 'cloudflare'),
96
+ `${packageToolingWrapperCommand(app.directory, 'cloudflareOutputVerify')} --app ${app.id}`
97
+ ].filter((step)=>Boolean(step));
98
+ return {
99
+ dev: 'modern dev',
100
+ build: buildSteps.join(' && '),
101
+ cloudflareBuild: cloudflareBuildSteps.join(' && '),
102
+ cloudflareDeploy: 'ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS=true pnpm run cloudflare:build && wrangler deploy --config .output/wrangler.json',
103
+ cloudflarePreview: 'pnpm run cloudflare:build && wrangler dev --config .output/wrangler.json',
104
+ cloudflareProof: `${packageToolingWrapperCommand(app.directory, 'cloudflareProof')} --app ${app.id}`,
105
+ serve: 'modern serve',
106
+ typecheck: createStrictTsgoTypecheckCommand(app.directory)
107
+ };
108
+ }
109
+ function createWorkspaceAppPackageScripts(app) {
110
+ const plan = createWorkspaceAppScriptPlan(app);
111
+ return Object.fromEntries(Object.entries(workspaceAppPackageScriptNames).map(([planKey, packageScriptName])=>[
112
+ packageScriptName,
113
+ plan[planKey]
114
+ ]));
115
+ }
116
+ function createWorkspaceRootScriptPlan(remotes = [], options = {}) {
117
+ const hasRemotes = remotes.length > 0;
118
+ const mfTypesScript = rootToolingScriptName('mfTypes');
119
+ const performanceReadinessScript = rootToolingScriptName('performanceReadiness');
120
+ const cloudflareOutputVerifyScript = rootToolingScriptName('cloudflareOutputVerify');
121
+ const backendFederationGenerateScript = rootToolingScriptName('backendFederationGenerate');
122
+ const nodeProofScript = rootToolingScriptName('backendFederationProof');
123
+ const bridgeCheck = options.bridgeCheck ?? '';
124
+ const remoteBuildPrefix = hasRemotes ? 'ULTRAMODERN_ZEPHYR=false pnpm -r --filter "./verticals/*" run build && ' : '';
125
+ const remoteCloudflareBuildPrefix = hasRemotes ? 'pnpm -r --filter "./verticals/*" run cloudflare:build && ' : '';
126
+ const remoteCloudflareDeployPrefix = hasRemotes ? 'pnpm -r --filter "./verticals/*" run cloudflare:deploy && ' : '';
127
+ return {
128
+ build: `${remoteBuildPrefix}ULTRAMODERN_ZEPHYR=false pnpm --filter "./apps/shell-super-app" run build && pnpm ${mfTypesScript} && pnpm ${performanceReadinessScript}`,
129
+ cloudflareBuild: `${remoteCloudflareBuildPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:build && pnpm ${mfTypesScript} && pnpm ${cloudflareOutputVerifyScript}`,
130
+ cloudflareDeploy: `${remoteCloudflareDeployPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:deploy`,
131
+ cloudflareProof: `${rootToolingWrapperCommand('cloudflareProof')} --out .codex/reports/cloudflare-version-proof/public-url-proof.json`,
132
+ cloudflareOutputVerify: rootToolingWrapperCommand('cloudflareOutputVerify'),
133
+ backendFederationGenerate: rootToolingWrapperCommand('backendFederationGenerate'),
134
+ nodeProof: rootToolingWrapperCommand('backendFederationProof'),
135
+ mfTypes: rootToolingWrapperCommand('mfTypes'),
136
+ performanceReadiness: rootToolingWrapperCommand('performanceReadiness'),
137
+ migrateStrictEffect: rootToolingWrapperCommand('migrateStrictEffect'),
138
+ zeropsMaterialize: "node ./scripts/materialize-zerops-runtime.mjs",
139
+ contractCheck: rootToolingWrapperCommand('validate'),
140
+ typecheck: options.typecheck ?? `${rootToolingWrapperCommand('typecheck')} --project tsconfig.json`,
141
+ check: `pnpm format:check && pnpm lint && pnpm typecheck && pnpm skills:check && pnpm i18n:boundaries && pnpm api:check && pnpm contract:check && pnpm ${backendFederationGenerateScript} && pnpm ${nodeProofScript} && pnpm performance:readiness${bridgeCheck}`
142
+ };
143
+ }
144
+ function createWorkspaceRootPackageScripts(remotes = [], options = {}) {
145
+ const plan = createWorkspaceRootScriptPlan(remotes, options);
146
+ return Object.fromEntries(Object.entries(workspaceRootPackageScriptNames).map(([planKey, packageScriptName])=>[
147
+ packageScriptName,
148
+ plan[planKey]
149
+ ]));
150
+ }
151
+ exports.createStrictTsgoTypecheckCommand = __webpack_exports__.createStrictTsgoTypecheckCommand;
152
+ exports.createWorkspaceAppPackageScripts = __webpack_exports__.createWorkspaceAppPackageScripts;
153
+ exports.createWorkspaceAppScriptPlan = __webpack_exports__.createWorkspaceAppScriptPlan;
154
+ exports.createWorkspaceRootPackageScripts = __webpack_exports__.createWorkspaceRootPackageScripts;
155
+ exports.createWorkspaceRootScriptPlan = __webpack_exports__.createWorkspaceRootScriptPlan;
156
+ exports.packageToolingWrapperCommand = __webpack_exports__.packageToolingWrapperCommand;
157
+ exports.rootToolingScriptName = __webpack_exports__.rootToolingScriptName;
158
+ exports.rootToolingWrapperCommand = __webpack_exports__.rootToolingWrapperCommand;
159
+ exports.workspaceAppPackageScriptNames = __webpack_exports__.workspaceAppPackageScriptNames;
160
+ exports.workspaceRootPackageScriptNames = __webpack_exports__.workspaceRootPackageScriptNames;
161
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
162
+ "createStrictTsgoTypecheckCommand",
163
+ "createWorkspaceAppPackageScripts",
164
+ "createWorkspaceAppScriptPlan",
165
+ "createWorkspaceRootPackageScripts",
166
+ "createWorkspaceRootScriptPlan",
167
+ "packageToolingWrapperCommand",
168
+ "rootToolingScriptName",
169
+ "rootToolingWrapperCommand",
170
+ "workspaceAppPackageScriptNames",
171
+ "workspaceRootPackageScriptNames"
172
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
173
+ Object.defineProperty(exports, '__esModule', {
174
+ value: true
175
+ });