@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.9 → 3.9.3-ultramodern.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +147 -82
- package/dist/cjs/cli/flags.cjs +25 -1
- package/dist/cjs/cli/help.cjs +1 -0
- package/dist/cjs/index.cjs +9 -4
- package/dist/cjs/ultramodern-release-cohort.cjs +41 -23
- package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +48 -55
- package/dist/cjs/ultramodern-tooling/commands/context.cjs +1 -27
- package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +69 -0
- package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +27 -54
- package/dist/cjs/ultramodern-tooling/commands/validate.cjs +8 -48
- package/dist/cjs/ultramodern-tooling/commands.cjs +13 -3
- package/dist/cjs/ultramodern-tooling/config/index.cjs +11 -4
- package/dist/cjs/ultramodern-tooling/config/json.cjs +4 -2
- package/dist/cjs/ultramodern-tooling/config/load.cjs +40 -15
- package/dist/cjs/ultramodern-tooling/config/metadata.cjs +46 -3
- package/dist/cjs/ultramodern-tooling/config/normalize.cjs +150 -198
- package/dist/cjs/ultramodern-workspace/add-shell.cjs +215 -151
- package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +183 -139
- package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +32 -168
- package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +94 -25
- package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +79 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +45 -20
- package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +44 -47
- package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +26 -10
- package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +21 -44
- package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
- package/dist/cjs/ultramodern-workspace/api/client.cjs +2 -37
- package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
- package/dist/cjs/ultramodern-workspace/api/rpc.cjs +17 -15
- package/dist/cjs/ultramodern-workspace/api/service.cjs +4 -8
- package/dist/cjs/ultramodern-workspace/api/shared.cjs +1 -1
- package/dist/cjs/ultramodern-workspace/api/write-app-api.cjs +65 -0
- package/dist/cjs/ultramodern-workspace/api.cjs +0 -3
- package/dist/cjs/ultramodern-workspace/app-files.cjs +1 -1
- package/dist/cjs/ultramodern-workspace/backend-federation.cjs +3 -3
- package/dist/cjs/ultramodern-workspace/codesmith.cjs +5 -3
- package/dist/cjs/ultramodern-workspace/contracts.cjs +56 -204
- package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +59 -5
- package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +83 -60
- package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +31 -7
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +69 -122
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +6 -14
- package/dist/cjs/ultramodern-workspace/development-overlay-projection.cjs +89 -0
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +4 -1
- package/dist/cjs/ultramodern-workspace/generation-result.cjs +36 -12
- package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
- package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
- package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
- package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
- package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +2 -2
- package/dist/cjs/ultramodern-workspace/mf-validation.cjs +3 -4
- package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +74 -136
- package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +26 -7
- package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +7 -48
- package/dist/cjs/ultramodern-workspace/module-federation.cjs +3 -0
- package/dist/cjs/ultramodern-workspace/naming.cjs +0 -12
- package/dist/cjs/ultramodern-workspace/native-app.cjs +102 -0
- package/dist/cjs/ultramodern-workspace/native-federation.cjs +134 -0
- package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +198 -47
- package/dist/cjs/ultramodern-workspace/overlays.cjs +1 -1
- package/dist/cjs/ultramodern-workspace/package-json.cjs +153 -74
- package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +131 -0
- package/dist/cjs/ultramodern-workspace/policy.cjs +10 -439
- package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
- package/dist/cjs/ultramodern-workspace/renderer-config-evaluation.cjs +92 -0
- package/dist/cjs/ultramodern-workspace/renderer-generation-profile.cjs +74 -0
- package/dist/cjs/ultramodern-workspace/renderer-generations.cjs +107 -0
- package/dist/cjs/ultramodern-workspace/renderer-identity.cjs +236 -0
- package/dist/cjs/ultramodern-workspace/renderer-initial-identity.cjs +88 -0
- package/dist/cjs/ultramodern-workspace/renderer-profile.cjs +104 -0
- package/dist/cjs/ultramodern-workspace/renderer-templates/react/generation.cjs +58 -0
- package/dist/cjs/ultramodern-workspace/routes.cjs +2 -11
- package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
- package/dist/cjs/ultramodern-workspace/shells.cjs +1 -70
- package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +6 -43
- package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +15 -47
- package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +452 -0
- package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
- package/dist/cjs/ultramodern-workspace/validation/native-shell-runtime.cjs +134 -0
- package/dist/cjs/ultramodern-workspace/validation/renderer-framework-evidence.cjs +97 -0
- package/dist/cjs/ultramodern-workspace/validation/renderer.cjs +351 -0
- package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
- package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +389 -0
- package/dist/cjs/ultramodern-workspace/versions.cjs +98 -51
- package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +160 -35
- package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -18
- package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +15 -143
- package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +70 -371
- package/dist/cjs/ultramodern-workspace/write-app.cjs +25 -37
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +79 -64
- package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
- package/dist/esm/cli/flags.js +20 -2
- package/dist/esm/cli/help.js +1 -0
- package/dist/esm/index.js +10 -5
- package/dist/esm/ultramodern-release-cohort.js +37 -16
- package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +48 -55
- package/dist/esm/ultramodern-tooling/commands/context.js +3 -24
- package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +37 -0
- package/dist/esm/ultramodern-tooling/commands/routes-generate.js +29 -56
- package/dist/esm/ultramodern-tooling/commands/validate.js +9 -39
- package/dist/esm/ultramodern-tooling/commands.js +12 -3
- package/dist/esm/ultramodern-tooling/config/index.js +1 -0
- package/dist/esm/ultramodern-tooling/config/json.js +4 -2
- package/dist/esm/ultramodern-tooling/config/load.js +39 -16
- package/dist/esm/ultramodern-tooling/config/metadata.js +41 -2
- package/dist/esm/ultramodern-tooling/config/normalize.js +154 -191
- package/dist/esm/ultramodern-workspace/add-shell.js +225 -160
- package/dist/esm/ultramodern-workspace/add-vertical/execute.js +189 -149
- package/dist/esm/ultramodern-workspace/add-vertical/plan.js +35 -159
- package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +80 -23
- package/dist/esm/ultramodern-workspace/add-vertical/preview.js +41 -0
- package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +43 -21
- package/dist/esm/ultramodern-workspace/add-vertical/topology.js +45 -45
- package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +26 -10
- package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
- package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
- package/dist/esm/ultramodern-workspace/api/client.js +4 -36
- package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
- package/dist/esm/ultramodern-workspace/api/rpc.js +17 -15
- package/dist/esm/ultramodern-workspace/api/service.js +4 -8
- package/dist/esm/ultramodern-workspace/api/shared.js +1 -1
- package/dist/esm/ultramodern-workspace/api/write-app-api.js +25 -0
- package/dist/esm/ultramodern-workspace/api.js +1 -1
- package/dist/esm/ultramodern-workspace/app-files.js +1 -1
- package/dist/esm/ultramodern-workspace/backend-federation.js +3 -3
- package/dist/esm/ultramodern-workspace/codesmith.js +5 -3
- package/dist/esm/ultramodern-workspace/contracts.js +56 -201
- package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +60 -6
- package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +84 -61
- package/dist/esm/ultramodern-workspace/delivery-unit.js +31 -7
- package/dist/esm/ultramodern-workspace/demo-components.js +69 -122
- package/dist/esm/ultramodern-workspace/descriptors.js +5 -10
- package/dist/esm/ultramodern-workspace/development-overlay-projection.js +45 -0
- package/dist/esm/ultramodern-workspace/fs-io.js +4 -1
- package/dist/esm/ultramodern-workspace/generation-result.js +36 -15
- package/dist/esm/ultramodern-workspace/index.js +1 -1
- package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
- package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
- package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
- package/dist/esm/ultramodern-workspace/mf-validation/validate.js +1 -1
- package/dist/esm/ultramodern-workspace/mf-validation.js +1 -2
- package/dist/esm/ultramodern-workspace/module-federation/config.js +73 -138
- package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +26 -7
- package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +7 -48
- package/dist/esm/ultramodern-workspace/module-federation.js +1 -1
- package/dist/esm/ultramodern-workspace/naming.js +1 -7
- package/dist/esm/ultramodern-workspace/native-app.js +64 -0
- package/dist/esm/ultramodern-workspace/native-federation.js +86 -0
- package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +197 -46
- package/dist/esm/ultramodern-workspace/overlays.js +1 -1
- package/dist/esm/ultramodern-workspace/package-json.js +150 -71
- package/dist/esm/ultramodern-workspace/patch-inventory.js +93 -0
- package/dist/esm/ultramodern-workspace/policy.js +9 -423
- package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
- package/dist/esm/ultramodern-workspace/renderer-config-evaluation.js +44 -0
- package/dist/esm/ultramodern-workspace/renderer-generation-profile.js +36 -0
- package/dist/esm/ultramodern-workspace/renderer-generations.js +63 -0
- package/dist/esm/ultramodern-workspace/renderer-identity.js +181 -0
- package/dist/esm/ultramodern-workspace/renderer-initial-identity.js +47 -0
- package/dist/esm/ultramodern-workspace/renderer-profile.js +54 -0
- package/dist/esm/ultramodern-workspace/renderer-templates/react/generation.js +20 -0
- package/dist/esm/ultramodern-workspace/routes.js +2 -11
- package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
- package/dist/esm/ultramodern-workspace/shells.js +4 -67
- package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +7 -41
- package/dist/esm/ultramodern-workspace/tsconfigs.js +16 -48
- package/dist/esm/ultramodern-workspace/validation/architecture.js +403 -0
- package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
- package/dist/esm/ultramodern-workspace/validation/native-shell-runtime.js +96 -0
- package/dist/esm/ultramodern-workspace/validation/renderer-framework-evidence.js +48 -0
- package/dist/esm/ultramodern-workspace/validation/renderer.js +277 -0
- package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
- package/dist/esm/ultramodern-workspace/validation/workspace.js +328 -0
- package/dist/esm/ultramodern-workspace/versions.js +79 -32
- package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +153 -34
- package/dist/esm/ultramodern-workspace/workspace-script-plan.js +37 -19
- package/dist/esm/ultramodern-workspace/workspace-scripts.js +17 -136
- package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +72 -373
- package/dist/esm/ultramodern-workspace/write-app.js +28 -35
- package/dist/esm/ultramodern-workspace/write-workspace.js +87 -69
- package/dist/esm/ultramodern-workspace/zerops.js +2 -0
- package/dist/esm-node/cli/flags.js +20 -2
- package/dist/esm-node/cli/help.js +1 -0
- package/dist/esm-node/index.js +10 -5
- package/dist/esm-node/ultramodern-release-cohort.js +37 -16
- package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +48 -55
- package/dist/esm-node/ultramodern-tooling/commands/context.js +3 -24
- package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +38 -0
- package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +29 -56
- package/dist/esm-node/ultramodern-tooling/commands/validate.js +9 -39
- package/dist/esm-node/ultramodern-tooling/commands.js +12 -3
- package/dist/esm-node/ultramodern-tooling/config/index.js +1 -0
- package/dist/esm-node/ultramodern-tooling/config/json.js +4 -2
- package/dist/esm-node/ultramodern-tooling/config/load.js +39 -16
- package/dist/esm-node/ultramodern-tooling/config/metadata.js +41 -2
- package/dist/esm-node/ultramodern-tooling/config/normalize.js +154 -191
- package/dist/esm-node/ultramodern-workspace/add-shell.js +225 -160
- package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +189 -149
- package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +35 -159
- package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +80 -23
- package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +42 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +43 -21
- package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +45 -45
- package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +26 -10
- package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
- package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
- package/dist/esm-node/ultramodern-workspace/api/client.js +4 -36
- package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
- package/dist/esm-node/ultramodern-workspace/api/rpc.js +17 -15
- package/dist/esm-node/ultramodern-workspace/api/service.js +4 -8
- package/dist/esm-node/ultramodern-workspace/api/shared.js +1 -1
- package/dist/esm-node/ultramodern-workspace/api/write-app-api.js +26 -0
- package/dist/esm-node/ultramodern-workspace/api.js +1 -1
- package/dist/esm-node/ultramodern-workspace/app-files.js +1 -1
- package/dist/esm-node/ultramodern-workspace/backend-federation.js +3 -3
- package/dist/esm-node/ultramodern-workspace/codesmith.js +5 -3
- package/dist/esm-node/ultramodern-workspace/contracts.js +56 -201
- package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +60 -6
- package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +84 -61
- package/dist/esm-node/ultramodern-workspace/delivery-unit.js +31 -7
- package/dist/esm-node/ultramodern-workspace/demo-components.js +69 -122
- package/dist/esm-node/ultramodern-workspace/descriptors.js +5 -10
- package/dist/esm-node/ultramodern-workspace/development-overlay-projection.js +46 -0
- package/dist/esm-node/ultramodern-workspace/fs-io.js +4 -1
- package/dist/esm-node/ultramodern-workspace/generation-result.js +36 -15
- package/dist/esm-node/ultramodern-workspace/index.js +1 -1
- package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
- package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
- package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
- package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +1 -1
- package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -2
- package/dist/esm-node/ultramodern-workspace/module-federation/config.js +73 -138
- package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +26 -7
- package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +7 -48
- package/dist/esm-node/ultramodern-workspace/module-federation.js +1 -1
- package/dist/esm-node/ultramodern-workspace/naming.js +1 -7
- package/dist/esm-node/ultramodern-workspace/native-app.js +65 -0
- package/dist/esm-node/ultramodern-workspace/native-federation.js +87 -0
- package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +197 -46
- package/dist/esm-node/ultramodern-workspace/overlays.js +1 -1
- package/dist/esm-node/ultramodern-workspace/package-json.js +150 -71
- package/dist/esm-node/ultramodern-workspace/patch-inventory.js +94 -0
- package/dist/esm-node/ultramodern-workspace/policy.js +9 -423
- package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
- package/dist/esm-node/ultramodern-workspace/renderer-config-evaluation.js +45 -0
- package/dist/esm-node/ultramodern-workspace/renderer-generation-profile.js +37 -0
- package/dist/esm-node/ultramodern-workspace/renderer-generations.js +64 -0
- package/dist/esm-node/ultramodern-workspace/renderer-identity.js +182 -0
- package/dist/esm-node/ultramodern-workspace/renderer-initial-identity.js +48 -0
- package/dist/esm-node/ultramodern-workspace/renderer-profile.js +55 -0
- package/dist/esm-node/ultramodern-workspace/renderer-templates/react/generation.js +21 -0
- package/dist/esm-node/ultramodern-workspace/routes.js +2 -11
- package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
- package/dist/esm-node/ultramodern-workspace/shells.js +4 -67
- package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +7 -41
- package/dist/esm-node/ultramodern-workspace/tsconfigs.js +16 -48
- package/dist/esm-node/ultramodern-workspace/validation/architecture.js +404 -0
- package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
- package/dist/esm-node/ultramodern-workspace/validation/native-shell-runtime.js +97 -0
- package/dist/esm-node/ultramodern-workspace/validation/renderer-framework-evidence.js +49 -0
- package/dist/esm-node/ultramodern-workspace/validation/renderer.js +278 -0
- package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
- package/dist/esm-node/ultramodern-workspace/validation/workspace.js +329 -0
- package/dist/esm-node/ultramodern-workspace/versions.js +79 -32
- package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +153 -34
- package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +37 -19
- package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +17 -136
- package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +72 -373
- package/dist/esm-node/ultramodern-workspace/write-app.js +28 -35
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +87 -69
- package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
- package/dist/types/cli/flags.d.ts +3 -0
- package/dist/types/ultramodern-release-cohort.d.ts +7 -3
- package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
- package/dist/types/ultramodern-tooling/commands/context.d.ts +0 -1
- package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
- package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
- package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -2
- package/dist/types/ultramodern-tooling/config/index.d.ts +1 -0
- package/dist/types/ultramodern-tooling/config/load.d.ts +57 -58
- package/dist/types/ultramodern-tooling/config/metadata.d.ts +3 -0
- package/dist/types/ultramodern-tooling/config/normalize.d.ts +9 -88
- package/dist/types/ultramodern-tooling/config/types.d.ts +7 -9
- package/dist/types/ultramodern-workspace/add-shell.d.ts +3 -3
- package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +3 -1
- package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +1 -1
- package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +12 -4
- package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
- package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +36 -4
- package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +2 -2
- package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +4 -1
- package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +10 -7
- package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
- package/dist/types/ultramodern-workspace/api/client.d.ts +1 -2
- package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
- package/dist/types/ultramodern-workspace/api/write-app-api.d.ts +8 -0
- package/dist/types/ultramodern-workspace/api.d.ts +1 -1
- package/dist/types/ultramodern-workspace/codesmith.d.ts +1 -0
- package/dist/types/ultramodern-workspace/contracts.d.ts +3 -4
- package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +9 -3
- package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +3 -2
- package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +2 -1
- package/dist/types/ultramodern-workspace/delivery-unit.d.ts +2 -5
- package/dist/types/ultramodern-workspace/descriptors.d.ts +3 -4
- package/dist/types/ultramodern-workspace/development-overlay-projection.d.ts +6 -0
- package/dist/types/ultramodern-workspace/generation-result.d.ts +4 -0
- package/dist/types/ultramodern-workspace/index.d.ts +2 -2
- package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
- package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
- package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -24
- package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +2 -1
- package/dist/types/ultramodern-workspace/mf-validation.d.ts +3 -3
- package/dist/types/ultramodern-workspace/module-federation/config.d.ts +3 -1
- package/dist/types/ultramodern-workspace/module-federation.d.ts +1 -1
- package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
- package/dist/types/ultramodern-workspace/native-app.d.ts +2 -0
- package/dist/types/ultramodern-workspace/native-federation.d.ts +8 -0
- package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +17 -2
- package/dist/types/ultramodern-workspace/overlays.d.ts +1 -0
- package/dist/types/ultramodern-workspace/package-json.d.ts +3 -3
- package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
- package/dist/types/ultramodern-workspace/policy.d.ts +38 -211
- package/dist/types/ultramodern-workspace/public-api.d.ts +1 -1
- package/dist/types/ultramodern-workspace/renderer-config-evaluation.d.ts +9 -0
- package/dist/types/ultramodern-workspace/renderer-generation-profile.d.ts +16 -0
- package/dist/types/ultramodern-workspace/renderer-generations.d.ts +7 -0
- package/dist/types/ultramodern-workspace/renderer-identity.d.ts +30 -0
- package/dist/types/ultramodern-workspace/renderer-initial-identity.d.ts +5 -0
- package/dist/types/ultramodern-workspace/renderer-profile.d.ts +7 -0
- package/dist/types/ultramodern-workspace/renderer-templates/react/generation.d.ts +2 -0
- package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
- package/dist/types/ultramodern-workspace/shells.d.ts +1 -14
- package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +1 -6
- package/dist/types/ultramodern-workspace/tsconfigs.d.ts +5 -2
- package/dist/types/ultramodern-workspace/types.d.ts +75 -7
- package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
- package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
- package/dist/types/ultramodern-workspace/validation/native-shell-runtime.d.ts +19 -0
- package/dist/types/ultramodern-workspace/validation/renderer-framework-evidence.d.ts +10 -0
- package/dist/types/ultramodern-workspace/validation/renderer.d.ts +32 -0
- package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
- package/dist/types/ultramodern-workspace/validation/workspace.d.ts +8 -0
- package/dist/types/ultramodern-workspace/versions.d.ts +78 -31
- package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +7 -1
- package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +2 -2
- package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +9 -19
- package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +29 -188
- package/dist/types/ultramodern-workspace/write-app.d.ts +1 -2
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -4
- package/package.json +51 -26
- package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +162 -50
- package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
- package/template-workspace/README.md.handlebars +37 -31
- package/template-workspace/oxfmt.config.ts +1 -0
- package/template-workspace/pnpm-workspace.yaml.handlebars +1 -25
- package/templates/tsconfig.base.json +124 -0
- package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
- package/templates/workspace/apps/modern.config.ts.handlebars +9 -177
- package/templates/workspace/apps/modern.config.ui-plugins.ts.handlebars +28 -0
- package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -11
- package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +6 -8
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +3 -3
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
- package/templates/workspace-scripts/generate-node-backend-federation.mjs +75 -76
- package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
- package/templates/workspace-scripts/materialize-zerops-runtime.mjs +5 -13
- package/templates/workspace-scripts/proof-cloudflare-version.mjs +81 -458
- package/templates/workspace-scripts/proof-node-backend-federation.mjs +217 -43
- package/templates/workspace-scripts/proof-workerd-ssr.mjs +886 -284
- package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +87 -23
- package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
- package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +0 -114
- package/dist/cjs/ultramodern-workspace/mf-validation/exposes.cjs +0 -63
- package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +0 -103
- package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +0 -87
- package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +0 -151
- package/dist/cjs/ultramodern-workspace/patch-parity.cjs +0 -163
- package/dist/esm/ultramodern-workspace/effect-diagnostics.js +0 -76
- package/dist/esm/ultramodern-workspace/mf-validation/exposes.js +0 -14
- package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +0 -65
- package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +0 -43
- package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +0 -101
- package/dist/esm/ultramodern-workspace/patch-parity.js +0 -99
- package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +0 -77
- package/dist/esm-node/ultramodern-workspace/mf-validation/exposes.js +0 -15
- package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +0 -66
- package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +0 -44
- package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +0 -102
- package/dist/esm-node/ultramodern-workspace/patch-parity.js +0 -100
- package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +0 -1
- package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +0 -11
- package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +0 -2
- package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +0 -4
- package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +0 -7
- package/dist/types/ultramodern-workspace/patch-parity.d.ts +0 -39
- package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
- package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -26
- package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
- package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
- package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
- package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
- package/template-workspace/patches/zod@4.5.4.patch +0 -56
- package/templates/packages/effect-bff-runtime.ts +0 -2
- package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4046
|
@@ -37,14 +37,13 @@ var __webpack_require__ = {};
|
|
|
37
37
|
var __webpack_exports__ = {};
|
|
38
38
|
__webpack_require__.r(__webpack_exports__);
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
-
|
|
40
|
+
RELEASE_COHORT_PATH: ()=>RELEASE_COHORT_PATH,
|
|
41
|
+
assertReleaseCohortAliasRequest: ()=>assertReleaseCohortAliasRequest,
|
|
41
42
|
assertReleaseCohortPackageSource: ()=>assertReleaseCohortPackageSource,
|
|
42
|
-
copyCreateReleaseCohort: ()=>copyCreateReleaseCohort,
|
|
43
43
|
hasCreateReleaseCohort: ()=>hasCreateReleaseCohort,
|
|
44
44
|
isCreatePackageSourceCheckout: ()=>isCreatePackageSourceCheckout,
|
|
45
45
|
parseUltramodernReleaseCohort: ()=>parseUltramodernReleaseCohort,
|
|
46
46
|
readCreateReleaseCohort: ()=>readCreateReleaseCohort,
|
|
47
|
-
readWorkspaceReleaseCohort: ()=>readWorkspaceReleaseCohort,
|
|
48
47
|
releaseCohortSelectors: ()=>releaseCohortSelectors
|
|
49
48
|
});
|
|
50
49
|
const external_node_fs_namespaceObject = require("node:fs");
|
|
@@ -52,9 +51,9 @@ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node
|
|
|
52
51
|
const external_node_path_namespaceObject = require("node:path");
|
|
53
52
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
54
53
|
const fs_io_cjs_namespaceObject = require("./ultramodern-workspace/fs-io.cjs");
|
|
55
|
-
const
|
|
54
|
+
const RELEASE_COHORT_PATH = 'release-cohort.json';
|
|
56
55
|
const RELEASE_COHORT_PROJECTION_SCHEMA = 'bleedingdev.ultramodern.release-cohort';
|
|
57
|
-
const RELEASE_COHORT_PROJECTION_SCHEMA_VERSION =
|
|
56
|
+
const RELEASE_COHORT_PROJECTION_SCHEMA_VERSION = 2;
|
|
58
57
|
function assert(condition, message) {
|
|
59
58
|
if (!condition) throw new Error(message);
|
|
60
59
|
}
|
|
@@ -94,6 +93,7 @@ function parseUltramodernReleaseCohort(value) {
|
|
|
94
93
|
'release',
|
|
95
94
|
'schema',
|
|
96
95
|
'schemaVersion',
|
|
96
|
+
'sidecars',
|
|
97
97
|
'source'
|
|
98
98
|
], 'Release cohort projection');
|
|
99
99
|
const cohort = value;
|
|
@@ -133,6 +133,25 @@ function parseUltramodernReleaseCohort(value) {
|
|
|
133
133
|
packageTargetNames.add(item.targetName);
|
|
134
134
|
}
|
|
135
135
|
assert(JSON.stringify(packageSourceNames) === JSON.stringify(aliasNames), 'Release cohort packages must exactly match aliases in source-name order.');
|
|
136
|
+
assert(Array.isArray(cohort.sidecars), 'Release cohort sidecars must be an array.');
|
|
137
|
+
const sidecarNames = [];
|
|
138
|
+
for (const [index, item] of cohort.sidecars.entries()){
|
|
139
|
+
const label = `Release cohort sidecars[${index}]`;
|
|
140
|
+
assertExactKeys(item, [
|
|
141
|
+
'name',
|
|
142
|
+
'version'
|
|
143
|
+
], label);
|
|
144
|
+
assertNonEmptyString(item.name, `${label}.name`);
|
|
145
|
+
assertNonEmptyString(item.version, `${label}.version`);
|
|
146
|
+
assert(/^@bleedingdev\/[a-z0-9][a-z0-9.-]*$/u.test(item.name), `${label}.name must name an owned sidecar.`);
|
|
147
|
+
assert(/^\d+\.\d+\.\d+$/u.test(item.version), `${label}.version must be an exact stable version.`);
|
|
148
|
+
assert(!item.name.startsWith('@bleedingdev/modern-js-') && !packageTargetNames.has(item.name), `${label}.name uses a reserved cohort package identity.`);
|
|
149
|
+
assert(!sidecarNames.includes(item.name), `${label}.name duplicates a sidecar.`);
|
|
150
|
+
sidecarNames.push(item.name);
|
|
151
|
+
}
|
|
152
|
+
assert(JSON.stringify(sidecarNames) === JSON.stringify([
|
|
153
|
+
...sidecarNames
|
|
154
|
+
].sort()), 'Release cohort sidecars must be in name order.');
|
|
136
155
|
return cohort;
|
|
137
156
|
}
|
|
138
157
|
function readCohortFile(filePath) {
|
|
@@ -149,23 +168,14 @@ function readCohortFile(filePath) {
|
|
|
149
168
|
return parseUltramodernReleaseCohort(value);
|
|
150
169
|
}
|
|
151
170
|
function readCreateReleaseCohort() {
|
|
152
|
-
return readCohortFile(external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot,
|
|
171
|
+
return readCohortFile(external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot, RELEASE_COHORT_PATH));
|
|
153
172
|
}
|
|
154
173
|
function hasCreateReleaseCohort() {
|
|
155
|
-
return external_node_fs_default().existsSync(external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot,
|
|
174
|
+
return external_node_fs_default().existsSync(external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot, RELEASE_COHORT_PATH));
|
|
156
175
|
}
|
|
157
176
|
function isCreatePackageSourceCheckout() {
|
|
158
177
|
return external_node_fs_default().existsSync(external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot, 'src'));
|
|
159
178
|
}
|
|
160
|
-
function readWorkspaceReleaseCohort(workspaceRoot) {
|
|
161
|
-
return readCohortFile(external_node_path_default().join(workspaceRoot, RELEASE_COHORT_PROJECTION_PATH));
|
|
162
|
-
}
|
|
163
|
-
function copyCreateReleaseCohort(workspaceRoot) {
|
|
164
|
-
const sourcePath = external_node_path_default().join(fs_io_cjs_namespaceObject.createPackageRoot, 'template-workspace', RELEASE_COHORT_PROJECTION_PATH);
|
|
165
|
-
const cohort = readCohortFile(sourcePath);
|
|
166
|
-
(0, fs_io_cjs_namespaceObject.writeFile)(workspaceRoot, RELEASE_COHORT_PROJECTION_PATH, external_node_fs_default().readFileSync(sourcePath, 'utf8'));
|
|
167
|
-
return cohort;
|
|
168
|
-
}
|
|
169
179
|
function assertReleaseCohortPackageSource(cohort, packageSource) {
|
|
170
180
|
if ('install' !== packageSource.strategy) return;
|
|
171
181
|
assert(packageSource.modernPackageVersion === cohort.release.version, `Package source release ${packageSource.modernPackageVersion} does not match authenticated release cohort ${cohort.release.version}.`);
|
|
@@ -179,26 +189,34 @@ function assertReleaseCohortPackageSource(cohort, packageSource) {
|
|
|
179
189
|
return cohort;
|
|
180
190
|
}
|
|
181
191
|
function releaseCohortSelectors(cohort) {
|
|
182
|
-
return
|
|
192
|
+
return [
|
|
193
|
+
...cohort.packages.map((item)=>`${item.targetName}@${item.version}`),
|
|
194
|
+
...cohort.sidecars.map((item)=>`${item.name}@${item.version}`)
|
|
195
|
+
].sort();
|
|
196
|
+
}
|
|
197
|
+
function assertReleaseCohortAliasRequest(cohort, request, label) {
|
|
198
|
+
if ('string' != typeof request || !request.startsWith('npm:@bleedingdev/')) return;
|
|
199
|
+
const match = /^npm:(@bleedingdev\/[^@]+)@([^@]+)$/u.exec(request);
|
|
200
|
+
assert(match, `${label} must name an exact authenticated owned alias.`);
|
|
201
|
+
const entry = cohort.packages.find((item)=>item.targetName === match[1]) ?? cohort.sidecars.find((item)=>item.name === match[1]);
|
|
202
|
+
assert(entry && entry.version === match[2], `${label} owned alias disagrees with the installed release cohort: ${request}.`);
|
|
183
203
|
}
|
|
184
|
-
exports.
|
|
204
|
+
exports.RELEASE_COHORT_PATH = __webpack_exports__.RELEASE_COHORT_PATH;
|
|
205
|
+
exports.assertReleaseCohortAliasRequest = __webpack_exports__.assertReleaseCohortAliasRequest;
|
|
185
206
|
exports.assertReleaseCohortPackageSource = __webpack_exports__.assertReleaseCohortPackageSource;
|
|
186
|
-
exports.copyCreateReleaseCohort = __webpack_exports__.copyCreateReleaseCohort;
|
|
187
207
|
exports.hasCreateReleaseCohort = __webpack_exports__.hasCreateReleaseCohort;
|
|
188
208
|
exports.isCreatePackageSourceCheckout = __webpack_exports__.isCreatePackageSourceCheckout;
|
|
189
209
|
exports.parseUltramodernReleaseCohort = __webpack_exports__.parseUltramodernReleaseCohort;
|
|
190
210
|
exports.readCreateReleaseCohort = __webpack_exports__.readCreateReleaseCohort;
|
|
191
|
-
exports.readWorkspaceReleaseCohort = __webpack_exports__.readWorkspaceReleaseCohort;
|
|
192
211
|
exports.releaseCohortSelectors = __webpack_exports__.releaseCohortSelectors;
|
|
193
212
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
194
|
-
"
|
|
213
|
+
"RELEASE_COHORT_PATH",
|
|
214
|
+
"assertReleaseCohortAliasRequest",
|
|
195
215
|
"assertReleaseCohortPackageSource",
|
|
196
|
-
"copyCreateReleaseCohort",
|
|
197
216
|
"hasCreateReleaseCohort",
|
|
198
217
|
"isCreatePackageSourceCheckout",
|
|
199
218
|
"parseUltramodernReleaseCohort",
|
|
200
219
|
"readCreateReleaseCohort",
|
|
201
|
-
"readWorkspaceReleaseCohort",
|
|
202
220
|
"releaseCohortSelectors"
|
|
203
221
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
204
222
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -39,11 +39,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
40
|
runCloudflareOutputVerify: ()=>runCloudflareOutputVerify
|
|
41
41
|
});
|
|
42
|
+
const external_node_module_namespaceObject = require("node:module");
|
|
42
43
|
const external_node_path_namespaceObject = require("node:path");
|
|
43
44
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
45
|
+
const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
|
|
44
46
|
const external_config_cjs_namespaceObject = require("../config.cjs");
|
|
45
|
-
const external_context_cjs_namespaceObject = require("./context.cjs");
|
|
46
47
|
const external_options_cjs_namespaceObject = require("./options.cjs");
|
|
48
|
+
const REQUIRE_PUBLIC_URLS_FLAG = '--require-public-urls';
|
|
49
|
+
const missingPublicUrl = ({ label, publicUrlEnv })=>{
|
|
50
|
+
if (!publicUrlEnv) return `${REQUIRE_PUBLIC_URLS_FLAG} needs --app, not --output (${label}).`;
|
|
51
|
+
const names = [
|
|
52
|
+
publicUrlEnv,
|
|
53
|
+
'MODERN_PUBLIC_SITE_URL',
|
|
54
|
+
'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN'
|
|
55
|
+
];
|
|
56
|
+
return names.some((name)=>process.env[name]?.trim()) ? void 0 : `Cloudflare deploy for ${label} needs ${names.join(', ')}.`;
|
|
57
|
+
};
|
|
47
58
|
const resolveCloudflareOutputVerifyTargets = (args, context)=>{
|
|
48
59
|
const outputDirectory = (0, external_options_cjs_namespaceObject.readOption)(args, '--output');
|
|
49
60
|
const appId = (0, external_options_cjs_namespaceObject.readOption)(args, '--app');
|
|
@@ -55,73 +66,55 @@ const resolveCloudflareOutputVerifyTargets = (args, context)=>{
|
|
|
55
66
|
}
|
|
56
67
|
] : (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)((0, external_config_cjs_namespaceObject.readUltramodernConfig)(context.workspaceRoot), context.workspaceRoot).filter((app)=>!appId || app.id === appId).map((app)=>({
|
|
57
68
|
label: app.id,
|
|
58
|
-
outputDirectory: external_node_path_default().join(context.workspaceRoot, app.directory, '.output')
|
|
69
|
+
outputDirectory: external_node_path_default().join(context.workspaceRoot, app.directory, '.output'),
|
|
70
|
+
publicUrlEnv: (0, descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app)
|
|
59
71
|
}));
|
|
60
72
|
if (0 === targets.length) throw new Error(`No generated UltraModern app matched ${appId}.`);
|
|
61
73
|
return targets;
|
|
62
74
|
};
|
|
63
|
-
|
|
64
|
-
import { createRequire } from 'node:module';
|
|
65
|
-
import path from 'node:path';
|
|
66
|
-
|
|
67
|
-
const workspaceRoot = ${JSON.stringify(workspaceRoot)};
|
|
68
|
-
const targets = ${JSON.stringify(targets, null, 2)};
|
|
69
|
-
const scanRoots = [workspaceRoot];
|
|
70
|
-
const excludePaths = ${JSON.stringify(excludePaths)};
|
|
71
|
-
const verifierRequire = createRequire(path.join(workspaceRoot, 'package.json'));
|
|
72
|
-
const {
|
|
73
|
-
verifyCloudflareOutput,
|
|
74
|
-
verifyCloudflareOutputMutationPolicy,
|
|
75
|
-
} = verifierRequire('@modern-js/app-tools-extensions/cloudflare-output-verifier');
|
|
76
|
-
|
|
77
|
-
let failed = false;
|
|
78
|
-
for (const target of targets) {
|
|
79
|
-
const result = await verifyCloudflareOutput({
|
|
80
|
-
outputDirectory: target.outputDirectory,
|
|
81
|
-
importWorker: true,
|
|
82
|
-
});
|
|
83
|
-
if (result.ok) {
|
|
84
|
-
console.log(\`[ultramodern] Cloudflare output verified: \${target.label}\`);
|
|
85
|
-
} else {
|
|
86
|
-
failed = true;
|
|
87
|
-
console.error(\`[ultramodern] Cloudflare output failed: \${target.label}\`);
|
|
88
|
-
for (const issue of result.issues) {
|
|
89
|
-
console.error(\`- \${issue.code}: \${issue.message}\${issue.path ? \` (\${issue.path})\` : ''}\`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (scanRoots.length > 0) {
|
|
95
|
-
const policyResult = await verifyCloudflareOutputMutationPolicy({ scanRoots, excludePaths });
|
|
96
|
-
if (!policyResult.ok) {
|
|
97
|
-
failed = true;
|
|
98
|
-
console.error('[ultramodern] generated-output mutation policy failed');
|
|
99
|
-
for (const issue of policyResult.issues) {
|
|
100
|
-
console.error(\`- \${issue.code}: \${issue.message}\${issue.path ? \` (\${issue.path})\` : ''}\`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
process.exit(failed ? 1 : 0);
|
|
106
|
-
`;
|
|
107
|
-
function runCloudflareOutputVerify(args, context) {
|
|
75
|
+
async function runCloudflareOutputVerify(args, context) {
|
|
108
76
|
if (args.includes('--help') || args.includes('-h')) {
|
|
109
77
|
process.stdout.write(`Usage:
|
|
110
|
-
ultramodern-create ultramodern cloudflare-output-verify [--app <id> | --output <dir>]
|
|
78
|
+
ultramodern-create ultramodern cloudflare-output-verify [--app <id> | --output <dir>] [--require-public-urls]
|
|
111
79
|
|
|
112
80
|
Verifies generated Cloudflare output against the UltraModern worker contract.
|
|
113
81
|
Without --app or --output, every generated workspace app is verified.
|
|
82
|
+
--require-public-urls also fails an app that has no public URL to deploy to.
|
|
114
83
|
`);
|
|
115
84
|
return 0;
|
|
116
85
|
}
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
targets
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
86
|
+
const targets = resolveCloudflareOutputVerifyTargets(args, context);
|
|
87
|
+
if (args.includes(REQUIRE_PUBLIC_URLS_FLAG)) {
|
|
88
|
+
const missing = targets.map(missingPublicUrl).filter((message)=>Boolean(message));
|
|
89
|
+
if (missing.length > 0) throw new Error(missing.join('\n'));
|
|
90
|
+
}
|
|
91
|
+
const verifierRequire = (0, external_node_module_namespaceObject.createRequire)(external_node_path_default().join(context.workspaceRoot, 'package.json'));
|
|
92
|
+
const { verifyCloudflareOutput, verifyCloudflareOutputMutationPolicy } = verifierRequire('@modern-js/app-tools-extensions/cloudflare-output-verifier');
|
|
93
|
+
let failed = false;
|
|
94
|
+
for (const target of targets){
|
|
95
|
+
const result = await verifyCloudflareOutput({
|
|
96
|
+
outputDirectory: target.outputDirectory,
|
|
97
|
+
importWorker: true
|
|
98
|
+
});
|
|
99
|
+
if (result.ok) console.log(`[ultramodern] Cloudflare output verified: ${target.label}`);
|
|
100
|
+
else {
|
|
101
|
+
failed = true;
|
|
102
|
+
console.error(`[ultramodern] Cloudflare output failed: ${target.label}`);
|
|
103
|
+
for (const issue of result.issues)console.error(`- ${issue.code}: ${issue.message}${issue.path ? ` (${issue.path})` : ''}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const policyResult = await verifyCloudflareOutputMutationPolicy({
|
|
107
|
+
scanRoots: [
|
|
108
|
+
context.workspaceRoot
|
|
109
|
+
],
|
|
110
|
+
excludePaths: []
|
|
123
111
|
});
|
|
124
|
-
|
|
112
|
+
if (!policyResult.ok) {
|
|
113
|
+
failed = true;
|
|
114
|
+
console.error('[ultramodern] generated-output mutation policy failed');
|
|
115
|
+
for (const issue of policyResult.issues)console.error(`- ${issue.code}: ${issue.message}${issue.path ? ` (${issue.path})` : ''}`);
|
|
116
|
+
}
|
|
117
|
+
return failed ? 1 : 0;
|
|
125
118
|
}
|
|
126
119
|
exports.runCloudflareOutputVerify = __webpack_exports__.runCloudflareOutputVerify;
|
|
127
120
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -43,15 +43,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
43
43
|
AD_HOC_TOOLING_COMMANDS: ()=>AD_HOC_TOOLING_COMMANDS,
|
|
44
44
|
createPackageRoot: ()=>createPackageRoot,
|
|
45
45
|
printHelp: ()=>printHelp,
|
|
46
|
-
runRenderedModule: ()=>runRenderedModule,
|
|
47
46
|
runTemplateBackedToolingCommand: ()=>runTemplateBackedToolingCommand,
|
|
48
47
|
spawnNodeScript: ()=>spawnNodeScript
|
|
49
48
|
});
|
|
50
49
|
const external_node_child_process_namespaceObject = require("node:child_process");
|
|
51
|
-
const external_node_fs_namespaceObject = require("node:fs");
|
|
52
|
-
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
53
50
|
const external_node_os_namespaceObject = require("node:os");
|
|
54
|
-
var external_node_os_default = /*#__PURE__*/ __webpack_require__.n(external_node_os_namespaceObject);
|
|
55
51
|
const external_node_path_namespaceObject = require("node:path");
|
|
56
52
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
57
53
|
const external_node_url_namespaceObject = require("node:url");
|
|
@@ -91,7 +87,7 @@ function spawnNodeScript(relativeScriptPath, args, context, options = {}) {
|
|
|
91
87
|
stdio: 'inherit'
|
|
92
88
|
});
|
|
93
89
|
if (result.error) throw result.error;
|
|
94
|
-
return result.status ?? 1;
|
|
90
|
+
return result.status ?? (result.signal ? 128 + external_node_os_namespaceObject.constants.signals[result.signal] : 1);
|
|
95
91
|
}
|
|
96
92
|
function runTemplateBackedToolingCommand(command, args, context) {
|
|
97
93
|
const toolingCommand = tooling_command_catalog_cjs_namespaceObject.generatedToolingCommands.find((candidate)=>candidate.command === command);
|
|
@@ -100,37 +96,15 @@ function runTemplateBackedToolingCommand(command, args, context) {
|
|
|
100
96
|
cwd: 'invocation' === toolingCommand.cwd ? context.invocationCwd : context.workspaceRoot
|
|
101
97
|
});
|
|
102
98
|
}
|
|
103
|
-
function runRenderedModule(source, context) {
|
|
104
|
-
const tempDir = external_node_fs_default().mkdtempSync(external_node_path_default().join(external_node_os_default().tmpdir(), 'ultramodern-tool-'));
|
|
105
|
-
const tempFile = external_node_path_default().join(tempDir, 'command.mjs');
|
|
106
|
-
try {
|
|
107
|
-
external_node_fs_default().writeFileSync(tempFile, source, 'utf-8');
|
|
108
|
-
const result = (0, external_node_child_process_namespaceObject.spawnSync)(process.execPath, [
|
|
109
|
-
tempFile
|
|
110
|
-
], {
|
|
111
|
-
cwd: context.workspaceRoot,
|
|
112
|
-
stdio: 'inherit'
|
|
113
|
-
});
|
|
114
|
-
if (result.error) throw result.error;
|
|
115
|
-
return result.status ?? 1;
|
|
116
|
-
} finally{
|
|
117
|
-
external_node_fs_default().rmSync(tempDir, {
|
|
118
|
-
force: true,
|
|
119
|
-
recursive: true
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
99
|
exports.AD_HOC_TOOLING_COMMANDS = __webpack_exports__.AD_HOC_TOOLING_COMMANDS;
|
|
124
100
|
exports.createPackageRoot = __webpack_exports__.createPackageRoot;
|
|
125
101
|
exports.printHelp = __webpack_exports__.printHelp;
|
|
126
|
-
exports.runRenderedModule = __webpack_exports__.runRenderedModule;
|
|
127
102
|
exports.runTemplateBackedToolingCommand = __webpack_exports__.runTemplateBackedToolingCommand;
|
|
128
103
|
exports.spawnNodeScript = __webpack_exports__.spawnNodeScript;
|
|
129
104
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
130
105
|
"AD_HOC_TOOLING_COMMANDS",
|
|
131
106
|
"createPackageRoot",
|
|
132
107
|
"printHelp",
|
|
133
|
-
"runRenderedModule",
|
|
134
108
|
"runTemplateBackedToolingCommand",
|
|
135
109
|
"spawnNodeScript"
|
|
136
110
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
var __webpack_exports__ = {};
|
|
28
|
+
const external_node_module_namespaceObject = require("node:module");
|
|
29
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
30
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
31
|
+
const external_node_url_namespaceObject = require("node:url");
|
|
32
|
+
async function main() {
|
|
33
|
+
const [appDirectory, label, mode] = process.argv.slice(2);
|
|
34
|
+
try {
|
|
35
|
+
if (!appDirectory || !label) throw new Error('Route generation requires an app directory and label.');
|
|
36
|
+
const appRequire = (0, external_node_module_namespaceObject.createRequire)(external_node_path_default().join(appDirectory, 'package.json'));
|
|
37
|
+
if ('manifest' === mode) {
|
|
38
|
+
const pluginUrl = (0, external_node_url_namespaceObject.pathToFileURL)(appRequire.resolve('@modern-js/plugin-tanstack')).href;
|
|
39
|
+
const { writeRouteMetadataManifest } = await import(pluginUrl);
|
|
40
|
+
await writeRouteMetadataManifest({
|
|
41
|
+
appDirectory
|
|
42
|
+
});
|
|
43
|
+
console.log(`[ultramodern] Route metadata manifest generated: ${label}`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const cliUrl = (0, external_node_url_namespaceObject.pathToFileURL)(appRequire.resolve('@modern-js/ultramodern-app-tools/cli')).href;
|
|
47
|
+
const { generateRouteArtifacts } = await import(cliUrl);
|
|
48
|
+
await generateRouteArtifacts({
|
|
49
|
+
appDirectory
|
|
50
|
+
});
|
|
51
|
+
console.log(`[ultramodern] Route artifacts generated: ${label}`);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
process.exitCode = 1;
|
|
54
|
+
console.error(`[ultramodern] Route generation failed: ${label}`);
|
|
55
|
+
let current = error;
|
|
56
|
+
let depth = 0;
|
|
57
|
+
while(current){
|
|
58
|
+
const detail = current instanceof Error ? current.stack ?? `${current.name}: ${current.message}` : String(current);
|
|
59
|
+
console.error(`${0 === depth ? '-' : ' caused by:'} ${detail}`);
|
|
60
|
+
current = current instanceof Error ? current.cause : void 0;
|
|
61
|
+
depth += 1;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
main();
|
|
66
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
67
|
+
Object.defineProperty(exports, '__esModule', {
|
|
68
|
+
value: true
|
|
69
|
+
});
|
|
@@ -41,77 +41,50 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
41
41
|
});
|
|
42
42
|
const external_node_path_namespaceObject = require("node:path");
|
|
43
43
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
44
|
+
const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
|
|
44
45
|
const external_config_cjs_namespaceObject = require("../config.cjs");
|
|
45
46
|
const external_context_cjs_namespaceObject = require("./context.cjs");
|
|
46
47
|
const external_options_cjs_namespaceObject = require("./options.cjs");
|
|
47
48
|
const resolveRoutesGenerateTargets = (args, context)=>{
|
|
48
49
|
const appId = (0, external_options_cjs_namespaceObject.readOption)(args, '--app');
|
|
49
|
-
const
|
|
50
|
+
const workspace = (0, external_config_cjs_namespaceObject.readUltramodernWorkspaceInputs)(context.workspaceRoot);
|
|
51
|
+
const targets = workspace.apps.filter((app)=>!appId || app.id === appId).filter(descriptors_cjs_namespaceObject.appEmitsBrowserUi).map((app)=>({
|
|
50
52
|
label: app.id,
|
|
51
53
|
appDirectory: external_node_path_default().join(context.workspaceRoot, app.directory)
|
|
52
54
|
}));
|
|
53
55
|
if (0 === targets.length) throw new Error(`No generated UltraModern app matched ${appId ?? '<any>'}.`);
|
|
54
56
|
return targets;
|
|
55
57
|
};
|
|
56
|
-
|
|
57
|
-
import { createRequire } from 'node:module';
|
|
58
|
-
import path from 'node:path';
|
|
59
|
-
import { pathToFileURL } from 'node:url';
|
|
60
|
-
|
|
61
|
-
const workspaceRoot = ${JSON.stringify(workspaceRoot)};
|
|
62
|
-
const targets = ${JSON.stringify(targets, null, 2)};
|
|
63
|
-
const appRequire = createRequire(path.join(workspaceRoot, 'package.json'));
|
|
64
|
-
const pluginUrl = pathToFileURL(
|
|
65
|
-
appRequire.resolve('@modern-js/plugin-tanstack'),
|
|
66
|
-
).href;
|
|
67
|
-
const { generateTanstackRouteArtifacts } = await import(pluginUrl);
|
|
68
|
-
|
|
69
|
-
let failed = false;
|
|
70
|
-
// Sequential — the app-tools cli singleton is not re-entrant.
|
|
71
|
-
for (const target of targets) {
|
|
72
|
-
try {
|
|
73
|
-
await generateTanstackRouteArtifacts({ appDirectory: target.appDirectory });
|
|
74
|
-
console.log(\`[ultramodern] TanStack route artifacts generated: \${target.label}\`);
|
|
75
|
-
} catch (error) {
|
|
76
|
-
failed = true;
|
|
77
|
-
console.error(\`[ultramodern] TanStack route generation failed: \${target.label}\`);
|
|
78
|
-
// Print the full underlying failure, including the cause chain. The
|
|
79
|
-
// route-generate crash is often an opaque node error thrown deep inside
|
|
80
|
-
// app-tools/plugin (e.g. a path TypeError), so surfacing only
|
|
81
|
-
// \`error.message\` swallows the stack that points at the real culprit.
|
|
82
|
-
let current = error;
|
|
83
|
-
let depth = 0;
|
|
84
|
-
while (current) {
|
|
85
|
-
const label = depth === 0 ? '-' : ' caused by:';
|
|
86
|
-
const detail =
|
|
87
|
-
current instanceof Error
|
|
88
|
-
? current.stack ?? \`\${current.name}: \${current.message}\`
|
|
89
|
-
: String(current);
|
|
90
|
-
console.error(\`\${label} \${detail}\`);
|
|
91
|
-
current = current instanceof Error ? current.cause : undefined;
|
|
92
|
-
depth += 1;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
process.exit(failed ? 1 : 0);
|
|
98
|
-
`;
|
|
99
|
-
function runRoutesGenerate(args, context) {
|
|
58
|
+
async function runRoutesGenerate(args, context) {
|
|
100
59
|
if (args.includes('--help') || args.includes('-h')) {
|
|
101
60
|
process.stdout.write(`Usage:
|
|
102
|
-
ultramodern-create ultramodern routes-generate [--app <id>]
|
|
61
|
+
ultramodern-create ultramodern routes-generate [--app <id>] [--manifest-only]
|
|
62
|
+
|
|
63
|
+
Regenerates routes and entries through each application's configured renderer
|
|
64
|
+
without running dev or build. React apps also regenerate
|
|
65
|
+
src/routes/ultramodern-route-metadata.ts from their route.meta.ts files.
|
|
66
|
+
Without --app, every generated workspace app with a UI is regenerated.
|
|
103
67
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
68
|
+
--manifest-only writes only the route metadata manifest. It never loads the
|
|
69
|
+
app config, so app dev and build scripts run it before \`ultramodern dev\` and
|
|
70
|
+
\`ultramodern build\`, which regenerate the router artifacts themselves.
|
|
107
71
|
`);
|
|
108
72
|
return 0;
|
|
109
73
|
}
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
74
|
+
const targets = resolveRoutesGenerateTargets(args, context);
|
|
75
|
+
const mode = args.includes('--manifest-only') ? 'manifest' : 'all';
|
|
76
|
+
let failed = false;
|
|
77
|
+
for (const target of targets){
|
|
78
|
+
const status = (0, external_context_cjs_namespaceObject.spawnNodeScript)('dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js', [
|
|
79
|
+
target.appDirectory,
|
|
80
|
+
target.label,
|
|
81
|
+
mode
|
|
82
|
+
], context, {
|
|
83
|
+
cwd: target.appDirectory
|
|
84
|
+
});
|
|
85
|
+
failed ||= 0 !== status;
|
|
86
|
+
}
|
|
87
|
+
return failed ? 1 : 0;
|
|
115
88
|
}
|
|
116
89
|
exports.runRoutesGenerate = __webpack_exports__.runRoutesGenerate;
|
|
117
90
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
3
|
(()=>{
|
|
13
4
|
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
5
|
var define = (defs, kind)=>{
|
|
@@ -39,47 +30,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
31
|
runValidate: ()=>runValidate
|
|
41
32
|
});
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
const external_ultramodern_release_cohort_cjs_namespaceObject = require("../../ultramodern-release-cohort.cjs");
|
|
45
|
-
const contracts_cjs_namespaceObject = require("../../ultramodern-workspace/contracts.cjs");
|
|
46
|
-
const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
|
|
47
|
-
const patch_parity_cjs_namespaceObject = require("../../ultramodern-workspace/patch-parity.cjs");
|
|
48
|
-
const workspace_scripts_cjs_namespaceObject = require("../../ultramodern-workspace/workspace-scripts.cjs");
|
|
33
|
+
const workspace_cjs_namespaceObject = require("../../ultramodern-workspace/validation/workspace.cjs");
|
|
34
|
+
const workspace_validation_contract_cjs_namespaceObject = require("../../ultramodern-workspace/workspace-validation-contract.cjs");
|
|
49
35
|
const external_config_cjs_namespaceObject = require("../config.cjs");
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
createPackageRoot: external_context_cjs_namespaceObject.createPackageRoot
|
|
55
|
-
});
|
|
56
|
-
if (patchProblems.length > 0) {
|
|
57
|
-
process.stderr.write(`${(0, patch_parity_cjs_namespaceObject.formatPatchParityReport)(patchProblems)}\n`);
|
|
58
|
-
return 1;
|
|
59
|
-
}
|
|
60
|
-
const workspace = (0, external_config_cjs_namespaceObject.readUltramodernWorkspaceInputs)(context.workspaceRoot, {
|
|
61
|
-
overlay: (0, external_config_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(context.workspaceRoot, 'topology/local-overlays/development.json'))
|
|
36
|
+
async function runValidate(context) {
|
|
37
|
+
const { config, raw, verticals, primaryShell, additionalShells } = await (0, external_config_cjs_namespaceObject.readResolvedUltramodernWorkspaceInputs)(context.workspaceRoot, {}, {
|
|
38
|
+
command: 'validate',
|
|
39
|
+
env: 'development'
|
|
62
40
|
});
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const compactPrimaryShell = compactApps.find((app)=>'shell' === app.kind) ?? (0, descriptors_cjs_namespaceObject.createShellHost)(remotes);
|
|
66
|
-
const compactConfig = (0, contracts_cjs_namespaceObject.createUltramodernConfig)(config.workspace.packageScope, 'workspace-validation-contract', {
|
|
67
|
-
strategy: 'workspace',
|
|
68
|
-
modernPackageVersion: 'workspace:*'
|
|
69
|
-
}, compactApps, config.features.tailwind, void 0, additionalShells, compactPrimaryShell, remotes);
|
|
70
|
-
const declaredCompact = (0, external_config_cjs_namespaceObject.readJsonObject)(config.sourcePath);
|
|
71
|
-
const compactTopology = compactConfig.topology;
|
|
72
|
-
for (const app of compactTopology.apps){
|
|
73
|
-
const declared = declaredCompact.topology?.apps?.find((entry)=>entry.id === app.id)?.deploy?.cloudflare;
|
|
74
|
-
for (const key of [
|
|
75
|
-
'routes',
|
|
76
|
-
'distributedSsrProofRoutes',
|
|
77
|
-
'jsonSmokeChecks'
|
|
78
|
-
])if (declared && Object.hasOwn(declared, key)) app.deploy.cloudflare[key] = declared[key];
|
|
79
|
-
}
|
|
80
|
-
const releaseCohort = config.packageSource?.strategy === 'install' ? (0, external_ultramodern_release_cohort_cjs_namespaceObject.readWorkspaceReleaseCohort)(context.workspaceRoot) : void 0;
|
|
81
|
-
const source = (0, workspace_scripts_cjs_namespaceObject.createPackagedWorkspaceValidationScript)(config.workspace.packageScope, config.features.tailwind, remotes, releaseCohort, additionalShells, primaryShell, compactConfig, (0, external_config_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(context.workspaceRoot, 'topology/ownership.json')), void 0, context.workspaceRoot);
|
|
82
|
-
return (0, external_context_cjs_namespaceObject.runRenderedModule)(source, context);
|
|
41
|
+
(0, workspace_cjs_namespaceObject.validateWorkspace)(context.workspaceRoot, (0, workspace_validation_contract_cjs_namespaceObject.createWorkspaceValidationContract)(config.workspace.packageScope, config.features.tailwind, raw.topology.sharedPackages, verticals, additionalShells, primaryShell));
|
|
42
|
+
return 0;
|
|
83
43
|
}
|
|
84
44
|
exports.runValidate = __webpack_exports__.runValidate;
|
|
85
45
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -39,6 +39,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
40
|
runUltramodernToolingCli: ()=>runUltramodernToolingCli
|
|
41
41
|
});
|
|
42
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
43
|
+
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
42
44
|
const external_node_path_namespaceObject = require("node:path");
|
|
43
45
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
44
46
|
const tooling_command_catalog_cjs_namespaceObject = require("../ultramodern-workspace/tooling-command-catalog.cjs");
|
|
@@ -52,8 +54,16 @@ const validate_cjs_namespaceObject = require("./commands/validate.cjs");
|
|
|
52
54
|
async function runUltramodernToolingCli(args, workspaceRoot = process.env.ULTRAMODERN_WORKSPACE_ROOT ?? process.cwd()) {
|
|
53
55
|
try {
|
|
54
56
|
const [command, ...rest] = args;
|
|
57
|
+
let discoveredRoot = external_node_path_default().resolve(workspaceRoot);
|
|
58
|
+
for(let candidate = discoveredRoot;; candidate = external_node_path_default().dirname(candidate)){
|
|
59
|
+
if (external_node_fs_default().existsSync(external_node_path_default().join(candidate, 'topology/reference-topology.json'))) {
|
|
60
|
+
discoveredRoot = candidate;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (external_node_path_default().dirname(candidate) === candidate) break;
|
|
64
|
+
}
|
|
55
65
|
const context = {
|
|
56
|
-
workspaceRoot:
|
|
66
|
+
workspaceRoot: discoveredRoot,
|
|
57
67
|
invocationCwd: process.cwd()
|
|
58
68
|
};
|
|
59
69
|
switch(command){
|
|
@@ -67,9 +77,9 @@ async function runUltramodernToolingCli(args, workspaceRoot = process.env.ULTRAM
|
|
|
67
77
|
case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.mfTypes.command:
|
|
68
78
|
return (0, mf_types_cjs_namespaceObject.runMfTypes)(rest, context);
|
|
69
79
|
case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.cloudflareOutputVerify.command:
|
|
70
|
-
return (0, cloudflare_output_verify_cjs_namespaceObject.runCloudflareOutputVerify)(rest, context);
|
|
80
|
+
return await (0, cloudflare_output_verify_cjs_namespaceObject.runCloudflareOutputVerify)(rest, context);
|
|
71
81
|
case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.routesGenerate.command:
|
|
72
|
-
return (0, routes_generate_cjs_namespaceObject.runRoutesGenerate)(rest, context);
|
|
82
|
+
return await (0, routes_generate_cjs_namespaceObject.runRoutesGenerate)(rest, context);
|
|
73
83
|
case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.syncDeliveryUnit:
|
|
74
84
|
return (0, sync_delivery_unit_cjs_namespaceObject.runSyncDeliveryUnit)(rest, context);
|
|
75
85
|
case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.skills:
|
|
@@ -6,6 +6,9 @@ var __webpack_modules__ = {
|
|
|
6
6
|
"./load" (module) {
|
|
7
7
|
module.exports = require("./load.cjs");
|
|
8
8
|
},
|
|
9
|
+
"./metadata" (module) {
|
|
10
|
+
module.exports = require("./metadata.cjs");
|
|
11
|
+
},
|
|
9
12
|
"./normalize" (module) {
|
|
10
13
|
module.exports = require("./normalize.cjs");
|
|
11
14
|
},
|
|
@@ -68,13 +71,17 @@ var __webpack_exports__ = {};
|
|
|
68
71
|
var __rspack_reexport = {};
|
|
69
72
|
for(const __rspack_import_key in _load__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_1[__rspack_import_key];
|
|
70
73
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
71
|
-
var
|
|
74
|
+
var _metadata__rspack_import_2 = __webpack_require__("./metadata");
|
|
75
|
+
var __rspack_reexport = {};
|
|
76
|
+
for(const __rspack_import_key in _metadata__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_metadata__rspack_import_2[__rspack_import_key];
|
|
77
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
78
|
+
var _normalize__rspack_import_3 = __webpack_require__("./normalize");
|
|
72
79
|
var __rspack_reexport = {};
|
|
73
|
-
for(const __rspack_import_key in
|
|
80
|
+
for(const __rspack_import_key in _normalize__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_3[__rspack_import_key];
|
|
74
81
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
75
|
-
var
|
|
82
|
+
var _types__rspack_import_4 = __webpack_require__("./types");
|
|
76
83
|
var __rspack_reexport = {};
|
|
77
|
-
for(const __rspack_import_key in
|
|
84
|
+
for(const __rspack_import_key in _types__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_4[__rspack_import_key];
|
|
78
85
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
79
86
|
})();
|
|
80
87
|
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|