@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21
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 +43 -74
- package/dist/cjs/cli/package-source.cjs +2 -2
- package/dist/cjs/cli/project-setup.cjs +2 -22
- package/dist/cjs/index.cjs +9 -1
- package/dist/cjs/locale/en.cjs +2 -1
- package/dist/cjs/locale/zh.cjs +2 -1
- package/dist/cjs/ultramodern-package-source.cjs +13 -9
- package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
- package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +49 -56
- package/dist/cjs/ultramodern-tooling/commands/context.cjs +11 -29
- package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +67 -0
- package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +24 -53
- package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -11
- package/dist/cjs/ultramodern-tooling/commands.cjs +15 -8
- package/dist/cjs/ultramodern-tooling/config/index.cjs +10 -24
- package/dist/cjs/ultramodern-tooling/config/load.cjs +12 -10
- package/dist/cjs/ultramodern-tooling/config/metadata.cjs +34 -32
- package/dist/cjs/ultramodern-tooling/config/normalize.cjs +165 -164
- package/dist/cjs/ultramodern-workspace/add-shell.cjs +118 -118
- package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +121 -25
- package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
- package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +16 -48
- package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
- package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +4 -1
- package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
- 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 +5 -5
- package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
- package/dist/cjs/ultramodern-workspace/api/rpc.cjs +20 -18
- package/dist/cjs/ultramodern-workspace/api/service.cjs +49 -24
- package/dist/cjs/ultramodern-workspace/api/shared.cjs +28 -18
- package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
- package/dist/cjs/ultramodern-workspace/backend-federation.cjs +27 -27
- package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
- package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +16 -4
- package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
- package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +16 -10
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +66 -433
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +37 -2
- package/dist/cjs/ultramodern-workspace/generation-result.cjs +4 -4
- 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-tooling/commands/migrate-strict-effect/generated-patches.cjs → ultramodern-workspace/mf-validation/exposes.cjs} +13 -17
- package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +26 -7
- package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
- package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
- package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
- package/dist/cjs/ultramodern-workspace/mf-validation.cjs +4 -0
- package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +24 -29
- package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +39 -58
- package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
- package/dist/cjs/ultramodern-workspace/package-json.cjs +63 -37
- package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +104 -0
- package/dist/cjs/ultramodern-workspace/policy.cjs +3 -577
- package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
- 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 +0 -70
- package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +27 -41
- package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +8 -2
- package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
- package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
- package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
- package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +344 -0
- package/dist/cjs/ultramodern-workspace/versions.cjs +81 -45
- package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +183 -0
- package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -25
- package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +11 -200
- package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -373
- package/dist/cjs/ultramodern-workspace/write-app.cjs +19 -11
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +20 -50
- package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
- package/dist/esm/cli/package-source.js +3 -3
- package/dist/esm/cli/project-setup.js +2 -22
- package/dist/esm/index.js +10 -2
- package/dist/esm/locale/en.js +2 -1
- package/dist/esm/locale/zh.js +2 -1
- package/dist/esm/ultramodern-package-source.js +14 -4
- package/dist/esm/ultramodern-release-cohort.js +5 -14
- package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
- package/dist/esm/ultramodern-tooling/commands/context.js +10 -26
- package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +35 -0
- package/dist/esm/ultramodern-tooling/commands/routes-generate.js +25 -54
- package/dist/esm/ultramodern-tooling/commands/validate.js +6 -12
- package/dist/esm/ultramodern-tooling/commands.js +15 -9
- package/dist/esm/ultramodern-tooling/config/index.js +0 -2
- package/dist/esm/ultramodern-tooling/config/load.js +9 -9
- package/dist/esm/ultramodern-tooling/config/metadata.js +33 -28
- package/dist/esm/ultramodern-tooling/config/normalize.js +159 -156
- package/dist/esm/ultramodern-workspace/add-shell.js +124 -123
- package/dist/esm/ultramodern-workspace/add-vertical/execute.js +119 -27
- package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
- package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +15 -47
- package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
- package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
- package/dist/esm/ultramodern-workspace/add-vertical/topology.js +4 -1
- package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
- 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 +5 -5
- package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
- package/dist/esm/ultramodern-workspace/api/rpc.js +20 -18
- package/dist/esm/ultramodern-workspace/api/service.js +49 -24
- package/dist/esm/ultramodern-workspace/api/shared.js +28 -18
- package/dist/esm/ultramodern-workspace/app-files.js +3 -23
- package/dist/esm/ultramodern-workspace/backend-federation.js +5 -5
- package/dist/esm/ultramodern-workspace/contracts.js +14 -180
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
- package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +16 -4
- package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
- package/dist/esm/ultramodern-workspace/delivery-unit.js +12 -6
- package/dist/esm/ultramodern-workspace/demo-components.js +67 -428
- package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
- package/dist/esm/ultramodern-workspace/fs-io.js +37 -2
- package/dist/esm/ultramodern-workspace/generation-result.js +3 -3
- 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/exposes.js +14 -0
- package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +27 -8
- package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
- package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
- package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
- package/dist/esm/ultramodern-workspace/mf-validation.js +1 -0
- package/dist/esm/ultramodern-workspace/module-federation/config.js +25 -30
- package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +39 -58
- package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
- package/dist/esm/ultramodern-workspace/package-json.js +58 -32
- package/dist/esm/ultramodern-workspace/patch-inventory.js +66 -0
- package/dist/esm/ultramodern-workspace/policy.js +2 -564
- package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
- 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 +3 -67
- package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +22 -37
- package/dist/esm/ultramodern-workspace/tsconfigs.js +9 -3
- package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
- package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
- package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
- package/dist/esm/ultramodern-workspace/validation/workspace.js +286 -0
- package/dist/esm/ultramodern-workspace/versions.js +74 -29
- package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +128 -0
- package/dist/esm/ultramodern-workspace/workspace-script-plan.js +35 -27
- package/dist/esm/ultramodern-workspace/workspace-scripts.js +10 -190
- package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +65 -376
- package/dist/esm/ultramodern-workspace/write-app.js +18 -10
- package/dist/esm/ultramodern-workspace/write-workspace.js +25 -52
- package/dist/esm/ultramodern-workspace/zerops.js +2 -0
- package/dist/esm-node/cli/package-source.js +3 -3
- package/dist/esm-node/cli/project-setup.js +2 -22
- package/dist/esm-node/index.js +10 -2
- package/dist/esm-node/locale/en.js +2 -1
- package/dist/esm-node/locale/zh.js +2 -1
- package/dist/esm-node/ultramodern-package-source.js +14 -4
- package/dist/esm-node/ultramodern-release-cohort.js +5 -14
- package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
- package/dist/esm-node/ultramodern-tooling/commands/context.js +10 -26
- package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +36 -0
- package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +25 -54
- package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -12
- package/dist/esm-node/ultramodern-tooling/commands.js +15 -9
- package/dist/esm-node/ultramodern-tooling/config/index.js +0 -2
- package/dist/esm-node/ultramodern-tooling/config/load.js +9 -9
- package/dist/esm-node/ultramodern-tooling/config/metadata.js +33 -28
- package/dist/esm-node/ultramodern-tooling/config/normalize.js +159 -156
- package/dist/esm-node/ultramodern-workspace/add-shell.js +124 -123
- package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +119 -27
- package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
- package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +15 -47
- package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
- package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +4 -1
- package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
- 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 +5 -5
- package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
- package/dist/esm-node/ultramodern-workspace/api/rpc.js +20 -18
- package/dist/esm-node/ultramodern-workspace/api/service.js +49 -24
- package/dist/esm-node/ultramodern-workspace/api/shared.js +28 -18
- package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
- package/dist/esm-node/ultramodern-workspace/backend-federation.js +5 -5
- package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
- package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +16 -4
- package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
- package/dist/esm-node/ultramodern-workspace/delivery-unit.js +12 -6
- package/dist/esm-node/ultramodern-workspace/demo-components.js +67 -428
- package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
- package/dist/esm-node/ultramodern-workspace/fs-io.js +37 -2
- package/dist/esm-node/ultramodern-workspace/generation-result.js +3 -3
- 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/exposes.js +15 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +27 -8
- package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
- package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
- package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
- package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/config.js +25 -30
- package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +39 -58
- package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
- package/dist/esm-node/ultramodern-workspace/package-json.js +58 -32
- package/dist/esm-node/ultramodern-workspace/patch-inventory.js +67 -0
- package/dist/esm-node/ultramodern-workspace/policy.js +2 -564
- package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
- 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 +3 -67
- package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +22 -37
- package/dist/esm-node/ultramodern-workspace/tsconfigs.js +9 -3
- package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
- package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
- package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
- package/dist/esm-node/ultramodern-workspace/validation/workspace.js +287 -0
- package/dist/esm-node/ultramodern-workspace/versions.js +74 -29
- package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +129 -0
- package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +35 -27
- package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +10 -190
- package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +65 -376
- package/dist/esm-node/ultramodern-workspace/write-app.js +18 -10
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +25 -52
- package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
- package/dist/types/cli/project-setup.d.ts +1 -1
- package/dist/types/locale/en.d.ts +1 -0
- package/dist/types/locale/index.d.ts +2 -0
- package/dist/types/locale/zh.d.ts +1 -0
- package/dist/types/ultramodern-package-source.d.ts +2 -4
- package/dist/types/ultramodern-release-cohort.d.ts +1 -3
- package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
- package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -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 +1 -1
- package/dist/types/ultramodern-tooling/config/index.d.ts +0 -2
- package/dist/types/ultramodern-tooling/config/load.d.ts +10 -2
- package/dist/types/ultramodern-tooling/config/metadata.d.ts +2 -2
- package/dist/types/ultramodern-tooling/config/normalize.d.ts +19 -19
- package/dist/types/ultramodern-tooling/config/types.d.ts +2 -9
- package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
- package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
- package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
- package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
- package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
- package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +32 -6
- 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 +3 -1
- package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
- package/dist/types/ultramodern-workspace/api/service.d.ts +3 -1
- package/dist/types/ultramodern-workspace/api/shared.d.ts +2 -0
- package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
- package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
- package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
- package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
- package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
- package/dist/types/ultramodern-workspace/delivery-unit.d.ts +3 -3
- package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
- package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
- package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
- package/dist/types/ultramodern-workspace/index.d.ts +1 -1
- package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
- package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +11 -0
- package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
- package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
- package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -0
- package/dist/types/ultramodern-workspace/mf-validation.d.ts +1 -0
- package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
- package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +2 -2
- package/dist/types/ultramodern-workspace/package-json.d.ts +1 -1
- package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
- package/dist/types/ultramodern-workspace/policy.d.ts +31 -209
- package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
- package/dist/types/ultramodern-workspace/shells.d.ts +2 -15
- package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +8 -7
- package/dist/types/ultramodern-workspace/types.d.ts +9 -9
- 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/types.d.ts +9 -0
- package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
- package/dist/types/ultramodern-workspace/versions.d.ts +73 -28
- package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +18 -0
- package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
- package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +8 -13
- package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
- package/package.json +18 -11
- package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +88 -40
- package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
- package/template-workspace/README.md.handlebars +20 -35
- package/template-workspace/oxfmt.config.ts +3 -0
- package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
- package/template-workspace/scripts/bootstrap-agent-skills.mjs +4 -4
- package/templates/packages/shared-contracts-index.ts +4 -332
- package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
- package/templates/workspace/apps/modern.config.ts.handlebars +13 -27
- 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 +4 -6
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +2 -2
- 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 +68 -77
- package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
- package/templates/workspace-scripts/materialize-zerops-runtime.mjs +12 -19
- package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
- package/templates/workspace-scripts/proof-node-backend-federation.mjs +212 -91
- package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +434 -239
- package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +25 -7
- package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
- package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -102
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -195
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -307
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -323
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -612
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -376
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -135
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -454
- package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
- package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -47
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -146
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -258
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -276
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -559
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -329
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -80
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -405
- package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
- package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -48
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -147
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -277
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -560
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -330
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -81
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -406
- package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
- package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -25
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -26
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
- package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
- package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
- package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
- 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/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -779
- package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4109
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import "node:module";
|
|
2
2
|
import node_fs from "node:fs";
|
|
3
|
-
import {
|
|
3
|
+
import { ULTRAMODERN_WORKSPACE_MODERN_PACKAGES, modernPackageSpecifier } from "../ultramodern-package-source.js";
|
|
4
|
+
import { hasCreateReleaseCohort, isCreatePackageSourceCheckout, readCreateReleaseCohort, releaseCohortSelectors } from "../ultramodern-release-cohort.js";
|
|
4
5
|
import { runFreshWorkspaceTransaction } from "./add-vertical/transaction.js";
|
|
5
6
|
import { createSharedDesignTokensCss } from "./app-files.js";
|
|
6
7
|
import { normalizeUltramodernBridgeConfig } from "./bridge-config.js";
|
|
7
|
-
import { createDevelopmentOverlay, createOwnership, createTopology
|
|
8
|
-
import {
|
|
8
|
+
import { createDevelopmentOverlay, createOwnership, createTopology } from "./contracts.js";
|
|
9
|
+
import { createShellHost, sharedPackages, shellApp } from "./descriptors.js";
|
|
9
10
|
import { copyRootTemplate, formatGeneratedWorkspaceFiles, writeFile, writeFileReplacing, writeJson } from "./fs-io.js";
|
|
10
11
|
import { createFileSnapshot, createGenerationResult, diffFileSnapshots } from "./generation-result.js";
|
|
11
12
|
import { assertUniqueTailwindPrefixes, toPackageScope } from "./naming.js";
|
|
12
13
|
import { runCodeSmithOverlays } from "./overlays.js";
|
|
13
14
|
import { createRootPackageJson, createRootTsConfig, createSharedContractsIndex, createSharedPackage, createSharedPackageTsConfig, createTsConfigBase } from "./package-json.js";
|
|
14
15
|
import { resolvePackageSource, resolveWorkspacePackageLinkingPolicy } from "./package-source.js";
|
|
15
|
-
import {
|
|
16
|
-
import { DRIZZLE_ORM_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, I18NEXT_VERSION, MODULE_FEDERATION_VERSION, MSGPACKR_VERSION, NODE_FETCH_VERSION, NODE_VERSION, PNPM_VERSION, TANSTACK_HISTORY_VERSION, TANSTACK_ROUTER_CORE_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_VERSION, WRANGLER_VERSION, ZOD_VERSION } from "./versions.js";
|
|
16
|
+
import { EFFECT_VERSION, I18NEXT_VERSION, NODE_VERSION, PNPM_VERSION } from "./versions.js";
|
|
17
17
|
import { writeGeneratedWorkspaceScripts } from "./workspace-scripts.js";
|
|
18
18
|
import { writeApp } from "./write-app.js";
|
|
19
19
|
import { createZeropsYaml } from "./zerops.js";
|
|
20
20
|
function hasExplicitInstallRequest(options) {
|
|
21
21
|
return void 0 !== options.packageSource && 'workspace' !== options.packageSource.strategy;
|
|
22
22
|
}
|
|
23
|
-
function writeSharedPackages(targetDir, scope) {
|
|
23
|
+
function writeSharedPackages(targetDir, scope, packageSource) {
|
|
24
24
|
for (const sharedPackage of sharedPackages){
|
|
25
|
-
writeJson(targetDir, `${sharedPackage.directory}/package.json`, createSharedPackage(scope, sharedPackage.id, sharedPackage.description));
|
|
25
|
+
writeJson(targetDir, `${sharedPackage.directory}/package.json`, createSharedPackage(scope, sharedPackage.id, sharedPackage.description, packageSource));
|
|
26
26
|
writeJson(targetDir, `${sharedPackage.directory}/tsconfig.json`, createSharedPackageTsConfig(sharedPackage.directory));
|
|
27
27
|
}
|
|
28
28
|
writeFile(targetDir, 'packages/shared-contracts/src/index.ts', createSharedContractsIndex());
|
|
@@ -36,30 +36,25 @@ function writeSharedPackages(targetDir, scope) {
|
|
|
36
36
|
`);
|
|
37
37
|
writeFile(targetDir, 'packages/shared-design-tokens/src/tokens.css', createSharedDesignTokensCss());
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
function renderCatalogPolicy(packageSource) {
|
|
40
|
+
if ('install' !== packageSource.strategy) return '';
|
|
41
|
+
const catalog = ULTRAMODERN_WORKSPACE_MODERN_PACKAGES.map((name)=>` ${JSON.stringify(name)}: ${JSON.stringify(modernPackageSpecifier(name, packageSource))}`).join('\n');
|
|
42
|
+
const cohort = hasCreateReleaseCohort() ? readCreateReleaseCohort() : void 0;
|
|
43
|
+
const pinsShippedCohort = cohort?.packages.every((item)=>modernPackageSpecifier(item.sourceName, packageSource) === `npm:${item.targetName}@${item.version}`);
|
|
44
|
+
const exclude = cohort && pinsShippedCohort ? `minimumReleaseAgeExclude:\n${releaseCohortSelectors(cohort).map((selector)=>` - ${JSON.stringify(selector)}`).join('\n')}\n\n` : '';
|
|
45
|
+
return `catalogs:\n ultramodern:\n${catalog}\n\n${exclude}`;
|
|
43
46
|
}
|
|
44
|
-
function
|
|
45
|
-
createShellHost()
|
|
46
|
-
], enableTailwind = true, bridge, additionalShells = [], primaryShell) {
|
|
47
|
-
const config = createUltramodernConfig(scope, modernVersion, packageSource, apps, enableTailwind, bridge, additionalShells, primaryShell);
|
|
48
|
-
if (config.packageSource && 'object' == typeof config.packageSource && !Array.isArray(config.packageSource)) delete config.packageSource.metadata;
|
|
49
|
-
return config;
|
|
50
|
-
}
|
|
51
|
-
function writePnpmWorkspacePackages(targetDir, bridge) {
|
|
52
|
-
if (!bridge) return;
|
|
47
|
+
function writePnpmWorkspacePackages(targetDir, bridge, packageSource) {
|
|
53
48
|
const pnpmWorkspacePath = `${targetDir}/pnpm-workspace.yaml`;
|
|
54
49
|
const pnpmWorkspace = node_fs.readFileSync(pnpmWorkspacePath, 'utf-8');
|
|
55
50
|
const packages = [
|
|
56
51
|
'apps/*',
|
|
57
52
|
'verticals/*',
|
|
58
53
|
'packages/*',
|
|
59
|
-
...bridge
|
|
54
|
+
...bridge?.workspacePackages.map((entry)=>entry.pattern) ?? []
|
|
60
55
|
];
|
|
61
56
|
const renderedPackages = packages.map((pattern)=>` - ${pattern}`).join('\n');
|
|
62
|
-
writeFileReplacing(targetDir, 'pnpm-workspace.yaml', pnpmWorkspace.replace(/^packages:\r?\n(?: {2}- .+\r?\n)+/u, `packages:\n${renderedPackages}\n`));
|
|
57
|
+
writeFileReplacing(targetDir, 'pnpm-workspace.yaml', `${renderCatalogPolicy(packageSource)}${pnpmWorkspace.replace(/^packages:\r?\n(?: {2}- .+\r?\n)+/u, `packages:\n${renderedPackages}\n`)}`);
|
|
63
58
|
}
|
|
64
59
|
function generateUltramodernWorkspace(options) {
|
|
65
60
|
const result = runFreshWorkspaceTransaction(options.targetDir, (stagingRoot)=>generateUltramodernWorkspaceInPlace({
|
|
@@ -72,19 +67,15 @@ function generateUltramodernWorkspaceInPlace(options, logicalWorkspaceRoot = opt
|
|
|
72
67
|
const beforeFiles = createFileSnapshot(options.targetDir);
|
|
73
68
|
const scope = toPackageScope(options.packageName);
|
|
74
69
|
let packageSource;
|
|
75
|
-
let releaseCohort;
|
|
76
70
|
if (isCreatePackageSourceCheckout()) {
|
|
77
|
-
if (hasExplicitInstallRequest(options)) throw new Error('A local @modern-js/ultramodern-create source checkout cannot satisfy an explicit install package source. Use workspace mode locally or run the packed published package
|
|
71
|
+
if (hasExplicitInstallRequest(options)) throw new Error('A local @modern-js/ultramodern-create source checkout cannot satisfy an explicit install package source. Use workspace mode locally or run the packed published package.');
|
|
78
72
|
packageSource = resolvePackageSource({
|
|
79
73
|
...options,
|
|
80
74
|
packageSource: {
|
|
81
75
|
strategy: 'workspace'
|
|
82
76
|
}
|
|
83
77
|
});
|
|
84
|
-
} else
|
|
85
|
-
packageSource = resolvePackageSource(options);
|
|
86
|
-
if ('install' === packageSource.strategy) releaseCohort = readCreateReleaseCohort();
|
|
87
|
-
}
|
|
78
|
+
} else packageSource = resolvePackageSource(options);
|
|
88
79
|
const bridge = normalizeUltramodernBridgeConfig(options.bridge);
|
|
89
80
|
const enableTailwind = false !== options.enableTailwind;
|
|
90
81
|
const initialVerticals = [];
|
|
@@ -99,13 +90,9 @@ function generateUltramodernWorkspaceInPlace(options, logicalWorkspaceRoot = opt
|
|
|
99
90
|
node_fs.mkdirSync(options.targetDir, {
|
|
100
91
|
recursive: true
|
|
101
92
|
});
|
|
102
|
-
const minimumReleaseAgeExclude = renderMinimumReleaseAgeExclude({
|
|
103
|
-
packageSource,
|
|
104
|
-
releaseCohort
|
|
105
|
-
});
|
|
106
93
|
const workspacePackageLinkingPolicy = resolveWorkspacePackageLinkingPolicy(packageSource);
|
|
107
94
|
const excludedRootTemplates = new Set([
|
|
108
|
-
|
|
95
|
+
"scripts/setup-agent-reference-repos.mjs"
|
|
109
96
|
]);
|
|
110
97
|
if (false === options.generateAgentFiles) {
|
|
111
98
|
excludedRootTemplates.add('AGENTS.md.handlebars');
|
|
@@ -116,37 +103,23 @@ function generateUltramodernWorkspaceInPlace(options, logicalWorkspaceRoot = opt
|
|
|
116
103
|
packageScope: scope,
|
|
117
104
|
nodeVersion: NODE_VERSION,
|
|
118
105
|
pnpmVersion: PNPM_VERSION,
|
|
119
|
-
nodeFetchVersion: NODE_FETCH_VERSION,
|
|
120
|
-
drizzleOrmVersion: DRIZZLE_ORM_VERSION,
|
|
121
106
|
effectVersion: EFFECT_VERSION,
|
|
122
|
-
effectVitestVersion: EFFECT_VITEST_VERSION,
|
|
123
107
|
i18nextVersion: I18NEXT_VERSION,
|
|
124
|
-
moduleFederationVersion: MODULE_FEDERATION_VERSION,
|
|
125
|
-
msgpackrVersion: MSGPACKR_VERSION,
|
|
126
|
-
zodVersion: ZOD_VERSION,
|
|
127
|
-
tanstackHistoryVersion: TANSTACK_HISTORY_VERSION,
|
|
128
|
-
tanstackRouterCoreVersion: TANSTACK_ROUTER_CORE_VERSION,
|
|
129
|
-
tanstackRouterVersion: TANSTACK_ROUTER_VERSION,
|
|
130
|
-
typescriptVersion: TYPESCRIPT_VERSION,
|
|
131
|
-
wranglerVersion: WRANGLER_VERSION,
|
|
132
|
-
minimumReleaseAgeExcludeYaml: 0 === minimumReleaseAgeExclude.length ? ' []' : `\n${minimumReleaseAgeExclude.map((selector)=>` - '${selector}'`).join('\n')}`,
|
|
133
108
|
workspacePackageLinkingYaml: Object.entries(workspacePackageLinkingPolicy).map(([key, value])=>`${key}: ${String(value)}\n`).join(''),
|
|
134
109
|
tailwindEnabled: String(enableTailwind)
|
|
135
110
|
}, excludedRootTemplates);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
writeJson(options.targetDir, 'package.json', createCompactRootPackageJson(scope, packageSource, initialVerticals, bridge));
|
|
111
|
+
writePnpmWorkspacePackages(options.targetDir, bridge, packageSource);
|
|
112
|
+
writeJson(options.targetDir, 'package.json', createRootPackageJson(scope, packageSource, initialVerticals, bridge));
|
|
139
113
|
if (initialVerticals.length > 0) writeFile(options.targetDir, 'zerops.yaml', `${createZeropsYaml(scope, createdApps)}\n`);
|
|
140
114
|
writeJson(options.targetDir, 'tsconfig.base.json', createTsConfigBase());
|
|
141
115
|
writeJson(options.targetDir, 'tsconfig.json', createRootTsConfig(createdApps));
|
|
142
116
|
writeJson(options.targetDir, 'topology/reference-topology.json', createTopology(scope, initialVerticals));
|
|
143
117
|
writeJson(options.targetDir, 'topology/ownership.json', createOwnership(scope, initialVerticals));
|
|
144
118
|
writeJson(options.targetDir, 'topology/local-overlays/development.json', createDevelopmentOverlay(scope, initialVerticals));
|
|
145
|
-
writeJson(options.targetDir, ULTRAMODERN_CONFIG_PATH, createCompactUltramodernConfig(scope, options.modernVersion, packageSource, createdApps, enableTailwind, bridge));
|
|
146
119
|
writeApp(options.targetDir, scope, shellApp, packageSource, enableTailwind, initialVerticals, bridge);
|
|
147
120
|
for (const remote of initialVerticals)writeApp(options.targetDir, scope, remote, packageSource, enableTailwind, initialVerticals, bridge);
|
|
148
|
-
writeSharedPackages(options.targetDir, scope);
|
|
149
|
-
writeGeneratedWorkspaceScripts(options.targetDir
|
|
121
|
+
writeSharedPackages(options.targetDir, scope, packageSource);
|
|
122
|
+
writeGeneratedWorkspaceScripts(options.targetDir);
|
|
150
123
|
const preliminaryAfterFiles = createFileSnapshot(options.targetDir);
|
|
151
124
|
const preliminaryDiff = diffFileSnapshots(beforeFiles, preliminaryAfterFiles);
|
|
152
125
|
const preliminaryResult = createGenerationResult({
|
|
@@ -176,4 +149,4 @@ function generateUltramodernWorkspaceInPlace(options, logicalWorkspaceRoot = opt
|
|
|
176
149
|
rewrittenPaths
|
|
177
150
|
});
|
|
178
151
|
}
|
|
179
|
-
export {
|
|
152
|
+
export { generateUltramodernWorkspace, writeApp };
|
|
@@ -32,6 +32,8 @@ function createZeropsService(scope, app) {
|
|
|
32
32
|
` - setup: ${quoteYamlString(app.id)}`,
|
|
33
33
|
' build:',
|
|
34
34
|
` base: ${quoteYamlString(zeropsNodeRuntime)}`,
|
|
35
|
+
' envVariables:',
|
|
36
|
+
` ZE_FAIL_BUILD: ${quoteYamlString('true')}`,
|
|
35
37
|
' buildCommands:',
|
|
36
38
|
' - |',
|
|
37
39
|
...commands.map((command)=>` ${command}`),
|
|
@@ -4,5 +4,5 @@ export declare function runSetupCommand(command: string, args: string[], options
|
|
|
4
4
|
timeoutMs?: number;
|
|
5
5
|
}): string;
|
|
6
6
|
export declare function commandExists(command: string): boolean;
|
|
7
|
-
export declare function initializeGeneratedGitRepository(targetDir: string):
|
|
7
|
+
export declare function initializeGeneratedGitRepository(targetDir: string): boolean;
|
|
8
8
|
export declare function isDirectoryEmpty(dirPath: string): boolean;
|
|
@@ -20,6 +20,7 @@ declare const localeKeys: {
|
|
|
20
20
|
step1: string;
|
|
21
21
|
step2: string;
|
|
22
22
|
step3: string;
|
|
23
|
+
initialCommit: string;
|
|
23
24
|
};
|
|
24
25
|
agentsCmd: {
|
|
25
26
|
created: string;
|
|
@@ -106,6 +107,7 @@ declare const localeKeys: {
|
|
|
106
107
|
step1: string;
|
|
107
108
|
step2: string;
|
|
108
109
|
step3: string;
|
|
110
|
+
initialCommit: string;
|
|
109
111
|
};
|
|
110
112
|
agentsCmd: {
|
|
111
113
|
created: string;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export declare const WORKSPACE_PACKAGE_VERSION = "workspace:*";
|
|
2
2
|
export declare const ULTRAMODERN_CREATE_PACKAGE = "@modern-js/ultramodern-create";
|
|
3
3
|
export declare const BLEEDINGDEV_CREATE_PACKAGE = "@bleedingdev/modern-js-ultramodern-create";
|
|
4
|
-
export declare const LEGACY_BLEEDINGDEV_CREATE_PACKAGE = "@bleedingdev/modern-js-create";
|
|
5
4
|
export declare const BLEEDINGDEV_PACKAGE_SCOPE = "bleedingdev";
|
|
6
5
|
export declare const BLEEDINGDEV_PACKAGE_NAME_PREFIX = "modern-js-";
|
|
7
6
|
export declare const ULTRAMODERN_FRAMEWORK_VERSION_ENV = "ULTRAMODERN_CREATE_FRAMEWORK_VERSION";
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES: readonly ["@modern-js/ultramodern-create", '@modern-js/code-tools', '@modern-js/app-tools', '@modern-js/plugin-bff', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/runtime'];
|
|
7
|
+
export declare const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES: readonly ["@modern-js/ultramodern-create", '@modern-js/code-tools', '@modern-js/runtime', '@modern-js/app-tools', '@modern-js/tsconfig', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/plugin-bff', '@modern-js/plugin-bff-build-extensions', '@modern-js/plugin-bff-extensions', '@modern-js/adapter-rstest'];
|
|
8
|
+
export declare const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES: readonly ['@modern-js/bff-effect', '@modern-js/boundary-debugger', "@modern-js/ultramodern-create", '@modern-js/code-tools', '@modern-js/app-tools', '@modern-js/plugin-bff', '@modern-js/plugin-bff-build-extensions', '@modern-js/plugin-bff-extensions', '@modern-js/plugin-i18n', '@modern-js/i18n-integration', '@modern-js/plugin-tanstack', '@modern-js/runtime', '@modern-js/runtime-extensions', '@modern-js/runtime-renderer-extensions', '@modern-js/federation-runtime', '@modern-js/app-tools-extensions', '@modern-js/ultramodern-app-tools'];
|
|
11
9
|
export type UltramodernPackageSourceStrategy = 'workspace' | 'install';
|
|
12
10
|
export type ResolvedUltramodernPackageSource = {
|
|
13
11
|
strategy: UltramodernPackageSourceStrategy;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ResolvedUltramodernPackageSource } from './ultramodern-package-source.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const RELEASE_COHORT_PATH = "release-cohort.json";
|
|
3
3
|
type ReleaseCohortPackage = {
|
|
4
4
|
sourceName: string;
|
|
5
5
|
targetName: string;
|
|
@@ -23,8 +23,6 @@ export declare function parseUltramodernReleaseCohort(value: unknown): Ultramode
|
|
|
23
23
|
export declare function readCreateReleaseCohort(): UltramodernReleaseCohort;
|
|
24
24
|
export declare function hasCreateReleaseCohort(): boolean;
|
|
25
25
|
export declare function isCreatePackageSourceCheckout(): boolean;
|
|
26
|
-
export declare function readWorkspaceReleaseCohort(workspaceRoot: string): UltramodernReleaseCohort;
|
|
27
|
-
export declare function copyCreateReleaseCohort(workspaceRoot: string): UltramodernReleaseCohort;
|
|
28
26
|
export declare function assertReleaseCohortPackageSource(cohort: UltramodernReleaseCohort, packageSource: ResolvedUltramodernPackageSource): UltramodernReleaseCohort | undefined;
|
|
29
27
|
export declare function releaseCohortSelectors(cohort: UltramodernReleaseCohort): string[];
|
|
30
28
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function runCloudflareOutputVerify(args: string[], context: CommandContext):
|
|
1
|
+
import type { CommandContext } from './context.js';
|
|
2
|
+
export declare function runCloudflareOutputVerify(args: string[], context: CommandContext): Promise<0 | 1>;
|
|
@@ -3,9 +3,12 @@ export type CommandContext = {
|
|
|
3
3
|
workspaceRoot: string;
|
|
4
4
|
invocationCwd: string;
|
|
5
5
|
};
|
|
6
|
+
export declare const AD_HOC_TOOLING_COMMANDS: {
|
|
7
|
+
readonly syncDeliveryUnit: 'sync-delivery-unit';
|
|
8
|
+
readonly skills: 'skills';
|
|
9
|
+
};
|
|
6
10
|
export declare function printHelp(): void;
|
|
7
11
|
export declare function spawnNodeScript(relativeScriptPath: string, args: string[], context: CommandContext, options?: {
|
|
8
12
|
cwd?: string;
|
|
9
13
|
}): number;
|
|
10
14
|
export declare function runTemplateBackedToolingCommand(command: string, args: string[], context: CommandContext): number | undefined;
|
|
11
|
-
export declare function runRenderedModule(source: string, context: CommandContext): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type CommandContext } from './context.js';
|
|
2
|
-
export declare function runRoutesGenerate(args: string[], context: CommandContext):
|
|
2
|
+
export declare function runRoutesGenerate(args: string[], context: CommandContext): 0 | 1;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CommandContext } from './context.js';
|
|
2
2
|
export declare function runValidate(context: CommandContext): number;
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function readUltramodernConfig(workspaceRoot?: string): UltramodernToolingConfig;
|
|
1
|
+
import { type UltramodernWorkspaceInputs } from './normalize.js';
|
|
2
|
+
export declare function readUltramodernConfig(workspaceRoot?: string): import("./types.js").UltramodernToolingConfig;
|
|
3
|
+
export declare function readUltramodernWorkspaceInputs(workspaceRoot?: string, inputs?: Partial<UltramodernWorkspaceInputs>): {
|
|
4
|
+
raw: UltramodernWorkspaceInputs;
|
|
5
|
+
config: import("./types.js").UltramodernToolingConfig;
|
|
6
|
+
apps: import("../../ultramodern-workspace/types.js").WorkspaceApp[];
|
|
7
|
+
primaryShell: import("../../ultramodern-workspace/types.js").WorkspaceApp;
|
|
8
|
+
verticals: import("../../ultramodern-workspace/types.js").WorkspaceApp[];
|
|
9
|
+
additionalShells: import("../../ultramodern-workspace/types.js").WorkspaceApp[];
|
|
10
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ResolvedPackageSource } from '../../ultramodern-workspace/types.js';
|
|
2
2
|
export declare function packageScopeFromRoot(workspaceRoot: string): string;
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
3
|
+
/** Native dependency requests own the source; no application config is loaded. */
|
|
4
|
+
export declare function readWorkspacePackageSource(workspaceRoot: string): ResolvedPackageSource;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import type { WorkspaceApp } from '../../ultramodern-workspace/types.js';
|
|
2
2
|
import type { UltramodernToolingConfig } from './types.js';
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
reason: 'missing' | 'non-integer' | 'unsupported';
|
|
7
|
-
} | {
|
|
8
|
-
field: 'topology.apps.kind';
|
|
9
|
-
index: number;
|
|
10
|
-
value: unknown;
|
|
3
|
+
export type UltramodernWorkspaceInputs = {
|
|
4
|
+
topology: Record<string, any>;
|
|
5
|
+
overlay: Record<string, any>;
|
|
11
6
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export declare function
|
|
22
|
-
export
|
|
7
|
+
/** Resolve declarative application membership without executing application code. */
|
|
8
|
+
export declare function normalizeWorkspaceInputs(workspaceRoot: string, inputs: UltramodernWorkspaceInputs): {
|
|
9
|
+
raw: UltramodernWorkspaceInputs;
|
|
10
|
+
config: UltramodernToolingConfig;
|
|
11
|
+
apps: WorkspaceApp[];
|
|
12
|
+
primaryShell: WorkspaceApp;
|
|
13
|
+
verticals: WorkspaceApp[];
|
|
14
|
+
additionalShells: WorkspaceApp[];
|
|
15
|
+
};
|
|
16
|
+
export declare function workspaceAppsFromToolingConfig(config: UltramodernToolingConfig, _workspaceRoot?: string): WorkspaceApp[];
|
|
17
|
+
export declare function allWorkspaceAppsFromToolingConfig(config: UltramodernToolingConfig, workspaceRoot?: string): WorkspaceApp[];
|
|
18
|
+
/** Refresh only exact former generated URLs; authored overlay choices survive. */
|
|
19
|
+
export declare function reconcileGeneratedOverlayUrls(existing: Record<string, any>, previous: Record<string, any>, projected: Record<string, any>): {
|
|
20
|
+
[k: string]: any;
|
|
21
|
+
};
|
|
22
|
+
export declare function preserveUnknownProjectionFields(current: any, projected: any): any;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { UltramodernBridgeConfig } from '../../ultramodern-workspace/bridge-config/index.js';
|
|
2
1
|
import type { ResolvedPackageSource, VerticalPreset, WorkspaceApi, WorkspaceApp, WorkspaceDeliveryUnitKind } from '../../ultramodern-workspace/types.js';
|
|
3
|
-
export type UltramodernToolingConfigSource = 'compact';
|
|
4
2
|
export type UltramodernToolingConfigApp = {
|
|
5
3
|
id: string;
|
|
6
4
|
kind: WorkspaceApp['kind'];
|
|
@@ -11,6 +9,7 @@ export type UltramodernToolingConfigApp = {
|
|
|
11
9
|
domain?: string;
|
|
12
10
|
surfaceProfile?: VerticalPreset;
|
|
13
11
|
deliveryUnitKind?: WorkspaceDeliveryUnitKind;
|
|
12
|
+
deliveryUnit?: WorkspaceApp['deliveryUnit'];
|
|
14
13
|
port?: number;
|
|
15
14
|
portEnv?: string;
|
|
16
15
|
moduleFederation?: {
|
|
@@ -25,10 +24,6 @@ export type UltramodernToolingConfigApp = {
|
|
|
25
24
|
api?: WorkspaceApi;
|
|
26
25
|
};
|
|
27
26
|
export type UltramodernToolingConfig = {
|
|
28
|
-
schemaVersion: number;
|
|
29
|
-
profile?: string;
|
|
30
|
-
source: UltramodernToolingConfigSource;
|
|
31
|
-
sourcePath: string;
|
|
32
27
|
workspace: {
|
|
33
28
|
packageScope: string;
|
|
34
29
|
};
|
|
@@ -36,10 +31,8 @@ export type UltramodernToolingConfig = {
|
|
|
36
31
|
features: {
|
|
37
32
|
tailwind: boolean;
|
|
38
33
|
};
|
|
39
|
-
|
|
34
|
+
inheritedWorkspaceDependencies: Record<string, string>;
|
|
40
35
|
topology: {
|
|
41
36
|
apps: UltramodernToolingConfigApp[];
|
|
42
37
|
};
|
|
43
|
-
/** Additional shells live in the additive compact-config collection. */
|
|
44
|
-
shells?: Array<Record<string, unknown>>;
|
|
45
38
|
};
|
|
@@ -7,7 +7,7 @@ import type { AddUltramodernShellOptions, UltramodernGenerationResult, Ultramode
|
|
|
7
7
|
export declare function addUltramodernShell(options: AddUltramodernShellOptions): UltramodernGenerationResult;
|
|
8
8
|
/**
|
|
9
9
|
* Dry-run parity for {@link addUltramodernShell} (G28). Applies the operation
|
|
10
|
-
*
|
|
10
|
+
* through the shared transaction preparation path and returns the planned result
|
|
11
11
|
* (created/rewritten paths, delivery-unit identity) without touching the real
|
|
12
12
|
* workspace.
|
|
13
13
|
*/
|
|
@@ -7,3 +7,4 @@ import type { AddUltramodernVerticalOptions, UltramodernGenerationResult } from
|
|
|
7
7
|
* pre-call state and the error is rethrown.
|
|
8
8
|
*/
|
|
9
9
|
export declare function addUltramodernVertical(options: AddUltramodernVerticalOptions): UltramodernGenerationResult;
|
|
10
|
+
export declare function executeAddUltramodernVertical(options: AddUltramodernVerticalOptions, logicalWorkspaceRoot?: string): UltramodernGenerationResult;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normalizeWorkspaceInputs } from '../../ultramodern-tooling/config/index.js';
|
|
1
2
|
import type { UltramodernBridgeConfig } from '../bridge-config/index.js';
|
|
2
3
|
import type { AddUltramodernVerticalOptions, ResolvedPackageSource, WorkspaceApp } from '../types.js';
|
|
3
4
|
export type AddUltramodernVerticalPreflight = {
|
|
@@ -13,7 +14,7 @@ export type AddUltramodernVerticalPreflight = {
|
|
|
13
14
|
packageSource: ResolvedPackageSource;
|
|
14
15
|
enableTailwind: boolean;
|
|
15
16
|
bridge?: UltramodernBridgeConfig;
|
|
16
|
-
config:
|
|
17
|
+
config: ReturnType<typeof normalizeWorkspaceInputs>['config'];
|
|
17
18
|
primaryShell: WorkspaceApp;
|
|
18
19
|
additionalShells: WorkspaceApp[];
|
|
19
20
|
targetShell: WorkspaceApp;
|
|
@@ -29,7 +30,7 @@ export type UnknownUltramodernShellIssue = {
|
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
31
32
|
* Typed preflight rejection for an add-vertical request whose shell target is
|
|
32
|
-
* not present in the workspace's
|
|
33
|
+
* not present in the workspace topology's shells collection.
|
|
33
34
|
*/
|
|
34
35
|
export declare class UnknownUltramodernShellError extends Error {
|
|
35
36
|
readonly sourcePath: string;
|
|
@@ -38,5 +39,5 @@ export declare class UnknownUltramodernShellError extends Error {
|
|
|
38
39
|
constructor(sourcePath: string, requestedShellId: string, available: string[]);
|
|
39
40
|
}
|
|
40
41
|
export declare function prepareAddUltramodernVertical(options: AddUltramodernVerticalOptions): AddUltramodernVerticalPreflight;
|
|
41
|
-
export declare function
|
|
42
|
+
export declare function readRequiredJsonObject(filePath: string): Record<string, any>;
|
|
42
43
|
export declare function assertNonEmptyString(value: unknown, label: string): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { UltramodernJsonMutation } from '../types.js';
|
|
2
|
+
import type { WorkspaceChange } from './transaction.js';
|
|
3
|
+
/** Describe the prepared bytes, so preview cannot invent writes that apply omits. */
|
|
4
|
+
export declare function describeJsonChanges(changes: readonly WorkspaceChange[]): UltramodernJsonMutation[];
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { UltramodernBridgeConfig } from '../bridge-config/index.js';
|
|
2
2
|
import type { ResolvedPackageSource, WorkspaceApp } from '../types.js';
|
|
3
|
-
export declare function updateRootWorkspaceScripts(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, additionalShells?: WorkspaceApp[]): void;
|
|
4
|
-
export declare function rewriteShellAppFiles(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, shell?: WorkspaceApp, devPorts?: number[]
|
|
3
|
+
export declare function updateRootWorkspaceScripts(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, additionalShells?: WorkspaceApp[], previousRemotes?: WorkspaceApp[], _primaryShell?: WorkspaceApp, previousAdditionalShells?: WorkspaceApp[]): void;
|
|
4
|
+
export declare function rewriteShellAppFiles(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, shell?: WorkspaceApp, devPorts?: number[], previous?: {
|
|
5
|
+
shell: WorkspaceApp;
|
|
6
|
+
remotes: WorkspaceApp[];
|
|
7
|
+
devPorts?: number[];
|
|
8
|
+
enableTailwind?: boolean;
|
|
9
|
+
}): void;
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
type WorkspaceFile = {
|
|
2
|
+
content: Buffer;
|
|
3
|
+
mode: number;
|
|
4
|
+
symlink?: true;
|
|
5
|
+
};
|
|
6
|
+
export type WorkspaceChange = {
|
|
7
|
+
relativePath: string;
|
|
8
|
+
before?: WorkspaceFile;
|
|
9
|
+
after?: WorkspaceFile;
|
|
10
|
+
};
|
|
1
11
|
export declare class WorkspaceTransactionConflictError extends Error {
|
|
2
12
|
readonly code: 'workspace-transaction-conflict';
|
|
3
13
|
constructor(message: string, options?: {
|
|
@@ -20,6 +30,11 @@ export declare const __transactionTestHooks: {
|
|
|
20
30
|
workspaceRoot: string;
|
|
21
31
|
relativePath: string;
|
|
22
32
|
}) => void;
|
|
33
|
+
afterPublishPath?: (details: {
|
|
34
|
+
workspaceRoot: string;
|
|
35
|
+
relativePath: string;
|
|
36
|
+
index: number;
|
|
37
|
+
}) => void;
|
|
23
38
|
beforeFreshPublish?: (details: {
|
|
24
39
|
workspaceRoot: string;
|
|
25
40
|
}) => void;
|
|
@@ -31,19 +46,30 @@ export declare const __transactionTestHooks: {
|
|
|
31
46
|
* observably wrong after a successful transaction.
|
|
32
47
|
*/
|
|
33
48
|
export declare function relocateStagedWorkspaceReferences(stagingRoot: string, workspaceRoot: string): void;
|
|
49
|
+
/** Creation only recovers receipts from an interrupted empty-target creation. */
|
|
50
|
+
export declare function recoverFreshWorkspaceTransactions(root: string): void;
|
|
51
|
+
/** Recover only our validated durable publication receipts, never unknown stages. */
|
|
52
|
+
export declare function recoverWorkspaceTransactions(root: string, purpose?: 'update' | 'fresh-empty'): void;
|
|
34
53
|
/**
|
|
35
54
|
* Run an existing-workspace mutation against a private sibling. Only the
|
|
36
55
|
* semantic file changes produced there are published, and every owned target
|
|
37
56
|
* must still match its exact preimage. Unrelated workspace files are never
|
|
38
57
|
* copied back, so concurrent consumer work is conserved without a lock.
|
|
58
|
+
* Preview prepares and inspects the same change set, then discards its stage;
|
|
59
|
+
* it never publishes or recovers an earlier transaction into the live tree.
|
|
39
60
|
*/
|
|
40
|
-
export declare function runWorkspaceTransaction<T>(root: string, mutate: (stagingRoot: string) => T
|
|
61
|
+
export declare function runWorkspaceTransaction<T>(root: string, mutate: (stagingRoot: string) => T, options?: {
|
|
62
|
+
mode?: 'publish' | 'preview';
|
|
63
|
+
commitWhen?: (result: Awaited<T>) => boolean;
|
|
64
|
+
inspectChanges?: (changes: readonly WorkspaceChange[]) => void;
|
|
65
|
+
}): T;
|
|
41
66
|
/**
|
|
42
67
|
* Fully stage a fresh workspace beside its resolved target and publish the
|
|
43
|
-
* complete tree with one directory rename
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* process can still win the
|
|
68
|
+
* complete tree with one directory rename, except for an empty Windows cwd,
|
|
69
|
+
* whose held directory is retained by the recoverable per-file publisher.
|
|
70
|
+
* Other already-empty targets use a narrow empty-directory swap (the canonical
|
|
71
|
+
* path is briefly absent). Node has no portable no-replace directory rename,
|
|
72
|
+
* so an external process can still win the final preflight-to-rename race.
|
|
48
73
|
*/
|
|
49
74
|
export declare function runFreshWorkspaceTransaction<T>(targetDir: string, generate: (stagingRoot: string) => T): T;
|
|
75
|
+
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
5
|
-
|
|
1
|
+
import type { UltramodernToolingConfig } from '../../ultramodern-tooling/config/index.js';
|
|
2
|
+
import type { AddUltramodernShellOptions, WorkspaceApp } from '../types.js';
|
|
3
|
+
/** Resolve command overrides against the already normalized input snapshot. */
|
|
4
|
+
export declare function workspaceOperationSettings(options: AddUltramodernShellOptions, config: UltramodernToolingConfig): {
|
|
5
|
+
packageSource: import("../../ultramodern-package-source.js").ResolvedUltramodernPackageSource;
|
|
6
|
+
enableTailwind: boolean;
|
|
7
|
+
bridge: undefined;
|
|
8
|
+
};
|
|
6
9
|
export declare function assertValidVerticalName(name: string): string;
|
|
7
|
-
export declare function configuredDevelopmentPorts(ports: Record<string, unknown>,
|
|
8
|
-
export declare function assertGlobalPortUniqueness(ports: Record<string, unknown>,
|
|
10
|
+
export declare function configuredDevelopmentPorts(ports: Record<string, unknown>, _additionalShells?: WorkspaceApp[]): number[];
|
|
11
|
+
export declare function assertGlobalPortUniqueness(ports: Record<string, unknown>, _additionalShells?: WorkspaceApp[]): void;
|
|
9
12
|
/**
|
|
10
13
|
* Allocate from the one workspace-wide port set. The caller supplies the
|
|
11
14
|
* lower bound for its app class (verticals start at 4101; additional shells at
|
|
@@ -4,4 +4,4 @@ export type { AddUltramodernVerticalPreflight } from './add-vertical/preflight.j
|
|
|
4
4
|
export { prepareAddUltramodernVertical } from './add-vertical/preflight.js';
|
|
5
5
|
export { rewriteShellAppFiles, updateRootWorkspaceScripts, } from './add-vertical/shell-files.js';
|
|
6
6
|
export { ownershipEntry, verticalsFromTopology, verticalTopologyEntry, } from './add-vertical/topology.js';
|
|
7
|
-
export { assertCanCreate, assertValidVerticalName,
|
|
7
|
+
export { assertCanCreate, assertValidVerticalName, nextAvailablePort, } from './add-vertical/workspace-state.js';
|
|
@@ -2,5 +2,7 @@ import type { WorkspaceApi, WorkspaceApp } from '../types.js';
|
|
|
2
2
|
export declare function createApiClient(service: {
|
|
3
3
|
id: string;
|
|
4
4
|
api?: WorkspaceApi;
|
|
5
|
-
}, contractImportPath: string
|
|
5
|
+
}, contractImportPath: string, options?: {
|
|
6
|
+
readonly scope: string;
|
|
7
|
+
}): string;
|
|
6
8
|
export declare function createShellApiClient(scope: string, remotes?: WorkspaceApp[]): string;
|
|
@@ -37,5 +37,5 @@ export declare function createRpcApiServiceEntry(service: ApiService): string;
|
|
|
37
37
|
* Generate the RPC client file (`src/api/${stem}-rpc-client.ts`) built from the
|
|
38
38
|
* shared `RpcGroup` through Effect BFF's public HTTP RPC client primitive.
|
|
39
39
|
*/
|
|
40
|
-
export declare function createRpcClientFile(service: ApiService): string;
|
|
40
|
+
export declare function createRpcClientFile(service: ApiService, contractImportPath?: string): string;
|
|
41
41
|
export {};
|
|
@@ -2,5 +2,7 @@ import type { WorkspaceApi, WorkspaceApp } from '../types.js';
|
|
|
2
2
|
export declare function createApiServiceEntry(service: {
|
|
3
3
|
id: string;
|
|
4
4
|
api?: WorkspaceApi;
|
|
5
|
-
}, contractImportPath: string
|
|
5
|
+
}, contractImportPath: string, options?: {
|
|
6
|
+
readonly scope: string;
|
|
7
|
+
}): string;
|
|
6
8
|
export declare function createBackendEffectApiExpose(scope: string, service: WorkspaceApp): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_NODE_ADAPTER_VERSION } from '@modern-js/
|
|
1
|
+
import { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_NODE_ADAPTER_VERSION } from '@modern-js/backend-federation-contracts';
|
|
2
2
|
import type { JsonValue, WorkspaceApp } from './types.js';
|
|
3
3
|
export { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_NODE_ADAPTER_VERSION, };
|
|
4
4
|
export declare function createWorkerBindingName(app: WorkspaceApp): string;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { JsonValue, ResolvedPackageSource, WorkspaceApp } from './types.js';
|
|
1
|
+
import type { JsonValue, WorkspaceApp } from './types.js';
|
|
3
2
|
export declare function createTopology(scope: string, remotes?: WorkspaceApp[], primaryShell?: WorkspaceApp): JsonValue;
|
|
4
3
|
export declare function createOwnership(scope: string, remotes?: WorkspaceApp[]): JsonValue;
|
|
5
4
|
export declare function createDevelopmentOverlay(scope: string, remotes?: WorkspaceApp[]): JsonValue;
|
|
6
|
-
export declare function createUltramodernConfig(scope: string, modernVersion: string, packageSource: ResolvedPackageSource, apps?: WorkspaceApp[], enableTailwind?: boolean, bridge?: UltramodernBridgeConfig, additionalShells?: WorkspaceApp[], primaryShell?: WorkspaceApp): JsonValue;
|