@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
package/README.md
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
<a href="https://modernjs.dev" target="blank"><img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png" width="300" alt="Modern.js Logo" /></a>
|
|
3
|
-
</p>
|
|
1
|
+
# UltraModern.js Create
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
Create an UltraModern.js workspace with React, Solid 2, or Octane. React is the
|
|
4
|
+
default SuperApp profile; Solid and Octane provide standalone Node SSR and CSR
|
|
5
|
+
preview profiles with their native authoring and router APIs.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
A Progressive React Framework for modern web development.
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
## UltraModern.js Create
|
|
12
|
-
|
|
13
|
-
The BleedingDev create package has one supported generated product: an UltraModern SuperApp workspace. New scaffolds use TanStack Router.
|
|
7
|
+
Replace `<V>` with the exact published UltraModern package cohort version:
|
|
14
8
|
|
|
15
9
|
```bash
|
|
16
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace
|
|
10
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> my-workspace
|
|
11
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> my-solid-workspace --renderer solid
|
|
12
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> my-octane-workspace --renderer octane
|
|
17
13
|
```
|
|
18
14
|
|
|
19
15
|
The supported pnpm command contract is the scoped package specifier above:
|
|
20
|
-
`pnpm dlx @bleedingdev/modern-js-ultramodern-create <target>`. Do not shorten it
|
|
16
|
+
`pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> <target>`. Do not shorten it
|
|
21
17
|
to `pnpm dlx modern-js-ultramodern-create`; there is no unscoped
|
|
22
18
|
`modern-js-ultramodern-create` npm package. Release proof runs this scoped form
|
|
23
19
|
from a temporary pnpm store/cache so it cannot pass because of a local link
|
|
@@ -26,18 +22,51 @@ cache.
|
|
|
26
22
|
To initialize the empty directory you are already in, pass `.` explicitly:
|
|
27
23
|
|
|
28
24
|
```bash
|
|
29
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create .
|
|
25
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> .
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Renderer Selection
|
|
29
|
+
|
|
30
|
+
`--renderer react|solid|octane` selects the initial scaffold only. Existing
|
|
31
|
+
workspace additions read the renderer from the owning `modern.config.ts` and
|
|
32
|
+
reject `--renderer`. That config is the single selector for the compiler,
|
|
33
|
+
runtime, router, and generated entries:
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
import { defineConfig } from '@modern-js/ultramodern-app-tools';
|
|
37
|
+
|
|
38
|
+
export default defineConfig({
|
|
39
|
+
renderer: 'solid',
|
|
40
|
+
server: { ssr: true },
|
|
41
|
+
});
|
|
30
42
|
```
|
|
31
43
|
|
|
44
|
+
Restart the dev server after changing `renderer`, and author app sources for
|
|
45
|
+
the selected renderer. `defineConfig` selects the native compiler; do not add
|
|
46
|
+
a second compiler or base app-tools plugin.
|
|
47
|
+
|
|
48
|
+
| Renderer | Application authoring | Router imports |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| Solid 2 RC | `solid-js`, `@solidjs/web` | `@modern-js/renderer-solid/router` |
|
|
51
|
+
| Octane | `octane` | `@modern-js/renderer-octane/router` |
|
|
52
|
+
|
|
53
|
+
Solid and Octane previews support plain Node SSR with hydration and CSR. They
|
|
54
|
+
require the admitted package cohort and reject unsupported capabilities:
|
|
55
|
+
Module Federation, Worker deployment, RSC, SSG, framework i18n, SVG component
|
|
56
|
+
imports, and CSS declaration emission beside authored source. There is no CLI
|
|
57
|
+
preview override. The SuperApp federation and
|
|
58
|
+
Cloudflare guidance below applies to the React profile.
|
|
59
|
+
|
|
32
60
|
The workspace starts shell-only so the first commit has no fake business
|
|
33
61
|
domains to delete. It generates:
|
|
34
62
|
|
|
35
|
-
- `apps/shell-super-app` as the
|
|
63
|
+
- `apps/shell-super-app` as the initial app and topology owner; React also
|
|
64
|
+
makes it the Module Federation host.
|
|
36
65
|
- `verticals/*` empty until a real domain is added with `--vertical`.
|
|
37
66
|
- `packages/shared-*` placeholders for shared contracts, tokens, and Effect
|
|
38
67
|
API support.
|
|
39
|
-
-
|
|
40
|
-
|
|
68
|
+
- `catalogs.ultramodern` in `pnpm-workspace.yaml` for published framework
|
|
69
|
+
dependency versions, referenced by application manifests.
|
|
41
70
|
- `topology/*` as app-owned topology, ownership, and local development overlay
|
|
42
71
|
JSON.
|
|
43
72
|
|
|
@@ -51,15 +80,26 @@ pnpm check
|
|
|
51
80
|
pnpm build
|
|
52
81
|
```
|
|
53
82
|
|
|
54
|
-
|
|
55
|
-
|
|
83
|
+
Start the shell during development, or serve its production build:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pnpm dev:shell
|
|
87
|
+
pnpm --filter "./apps/shell-super-app" serve
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Run these as separate commands. Use the matching app directory in the filter
|
|
91
|
+
to serve an added app.
|
|
92
|
+
|
|
93
|
+
The generated toolchain pins Node `26.10.0`, pnpm `12.8.1`, and
|
|
94
|
+
`@types/node@26.6.4`; the generator requires Node `>=26.10.0`, and generated
|
|
95
|
+
workspaces declare an engine baseline of Node `>=26` with pnpm `12+`.
|
|
56
96
|
`packageManager`, `.mise.toml`, generated validation, and CI should all agree
|
|
57
97
|
on those values; do not reintroduce Corepack or older pnpm aliases.
|
|
58
98
|
|
|
59
|
-
The current
|
|
60
|
-
`@tanstack/react-router@1.170.
|
|
61
|
-
`@tanstack/history@1.162.
|
|
62
|
-
cohort, `@module-federation/node@2.7.
|
|
99
|
+
The current React dependency cohort also pins `@effect/tsgo@0.45.0`,
|
|
100
|
+
`@tanstack/react-router@1.170.41`, `@tanstack/router-core@1.171.34`,
|
|
101
|
+
`@tanstack/history@1.162.4`, and the Module Federation integration `2.9.2`
|
|
102
|
+
cohort, `@module-federation/node@2.7.52`. Move these only through the
|
|
63
103
|
generator-owned version policy so templates, validation, and the published
|
|
64
104
|
workspace contract stay aligned.
|
|
65
105
|
|
|
@@ -86,12 +126,14 @@ stays active during `rslib build --watch`. Run
|
|
|
86
126
|
includes a boundary test that scans generator sources, templates, and generated
|
|
87
127
|
workspace output for compiler API imports.
|
|
88
128
|
|
|
89
|
-
|
|
90
|
-
|
|
129
|
+
All renderer profiles use exact stable `typescript@7.0.2`. React and Solid apps
|
|
130
|
+
use the generated TS-Go check; Octane apps use `octane-tsc` with their native
|
|
131
|
+
TS7 checker. Modern/Rspack and `@effect/tsgo` also use TS-Go by default.
|
|
132
|
+
Generated app/package source must not
|
|
91
133
|
depend on compiler API internals. If a future AST utility is needed, keep it
|
|
92
134
|
behind a dedicated TypeScript adapter and test it against stable `typescript`.
|
|
93
135
|
|
|
94
|
-
Generated CI does not call the local aggregate. It runs format, lint,
|
|
136
|
+
Generated React CI does not call the local aggregate. It runs format, lint,
|
|
95
137
|
typecheck, skills, i18n boundary validation, contract validation, and build as
|
|
96
138
|
separate matrix jobs so failures are isolated and parallelizable. Generated
|
|
97
139
|
lefthook config runs separate format and lint-fix commands on pre-commit, then
|
|
@@ -100,7 +142,7 @@ runs the read-only primitive gates in parallel on pre-push.
|
|
|
100
142
|
For local monorepo dependency testing, add `--workspace`:
|
|
101
143
|
|
|
102
144
|
```bash
|
|
103
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --workspace
|
|
145
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> my-workspace --workspace
|
|
104
146
|
```
|
|
105
147
|
|
|
106
148
|
For package-source validation outside the monorepo, pass explicit
|
|
@@ -119,26 +161,26 @@ import {
|
|
|
119
161
|
planUltramodernVertical,
|
|
120
162
|
} from '@modern-js/ultramodern-create/ultramodern-workspace';
|
|
121
163
|
|
|
122
|
-
const workspace = generateUltramodernWorkspace({
|
|
164
|
+
const workspace = await generateUltramodernWorkspace({
|
|
123
165
|
targetDir: '/tmp/my-workspace',
|
|
124
166
|
packageName: 'my-workspace',
|
|
125
|
-
modernVersion: '
|
|
167
|
+
modernVersion: '<V>',
|
|
126
168
|
packageSource: {
|
|
127
169
|
strategy: 'install',
|
|
128
|
-
modernPackageVersion: '
|
|
170
|
+
modernPackageVersion: '<V>',
|
|
129
171
|
},
|
|
130
172
|
});
|
|
131
173
|
|
|
132
|
-
const plan = planUltramodernVertical({
|
|
174
|
+
const plan = await planUltramodernVertical({
|
|
133
175
|
workspaceRoot: workspace.workspaceRoot,
|
|
134
176
|
name: 'new-vertical',
|
|
135
|
-
modernVersion: '
|
|
177
|
+
modernVersion: '<V>',
|
|
136
178
|
});
|
|
137
179
|
|
|
138
|
-
const vertical = addUltramodernVertical({
|
|
180
|
+
const vertical = await addUltramodernVertical({
|
|
139
181
|
workspaceRoot: workspace.workspaceRoot,
|
|
140
182
|
name: 'new-vertical',
|
|
141
|
-
modernVersion: '
|
|
183
|
+
modernVersion: '<V>',
|
|
142
184
|
});
|
|
143
185
|
```
|
|
144
186
|
|
|
@@ -148,13 +190,13 @@ Workspace generation returns `operation`, `workspaceRoot`, `packageScope`,
|
|
|
148
190
|
`generatedContractPath`, and `warnings`. MicroVertical addition returns the
|
|
149
191
|
same shape for the new vertical and all rewritten integration surfaces.
|
|
150
192
|
|
|
151
|
-
|
|
193
|
+
MicroVertical addition supports dry-run. The CLI prints the plan as
|
|
152
194
|
JSON and writes no files:
|
|
153
195
|
|
|
154
196
|
```bash
|
|
155
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create new-vertical --vertical --dry-run
|
|
156
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=new-vertical --dry-run
|
|
157
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical-name new-vertical --dry-run
|
|
197
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> new-vertical --vertical --dry-run
|
|
198
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> --vertical=new-vertical --dry-run
|
|
199
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> --vertical-name new-vertical --dry-run
|
|
158
200
|
```
|
|
159
201
|
|
|
160
202
|
The dry-run object adds `dryRun: true`, `selectedPort`,
|
|
@@ -162,45 +204,49 @@ The dry-run object adds `dryRun: true`, `selectedPort`,
|
|
|
162
204
|
`shellDependencyChanges`, and `generatedContractChanges`. It still validates
|
|
163
205
|
the workspace before returning a plan.
|
|
164
206
|
|
|
165
|
-
Validation runs before
|
|
207
|
+
Validation runs before publishing generated output to the target workspace.
|
|
208
|
+
Failures name the owning
|
|
166
209
|
contract so automation can stop safely:
|
|
167
210
|
|
|
168
211
|
| Failure area | Typical cause | Fix |
|
|
169
212
|
| --- | --- | --- |
|
|
170
213
|
| Fresh input | Invalid or missing vertical name | Use `<name> --vertical`, `--vertical=<name>`, or `--vertical-name <name>` |
|
|
171
214
|
| Existing topology | Duplicate app ID, package suffix, path, Module Federation name, port, API prefix, or manifest key | Choose a new vertical name or repair the existing topology/local overlay first |
|
|
172
|
-
| Workspace files | Missing or
|
|
215
|
+
| Workspace files | Missing or invalid topology, ownership, local overlay or app manifest | Repair the named authoritative file |
|
|
173
216
|
| Tailwind prefix | Existing app already owns the generated CSS prefix | Rename the vertical before generation |
|
|
174
217
|
| Output path | A generated path already exists | Treat it as an existing vertical and do not overwrite it |
|
|
175
218
|
|
|
176
|
-
Package source is
|
|
219
|
+
Package source is selected by the installed generator dependency and native pnpm catalog.
|
|
220
|
+
Application manifests own package identity; the development overlay owns local ports.
|
|
177
221
|
|
|
178
222
|
| Strategy | Use when | CLI |
|
|
179
223
|
| --- | --- | --- |
|
|
180
224
|
| `install` | Published BleedingDev package cohort or release proof | Default for the BleedingDev create package; optional `--ultramodern-package-version`, `--ultramodern-package-registry` (serves the cohort scope only; release-age metadata for every other dependency is validated against npmjs), `--ultramodern-package-scope`, and `--ultramodern-package-name-prefix` |
|
|
181
225
|
| `workspace` | Local monorepo testing against unreleased packages | `--workspace` or `--ultramodern-package-source=workspace` |
|
|
182
226
|
|
|
183
|
-
## Framework
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
`pnpm-workspace.yaml
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
`
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
227
|
+
## Framework dependencies
|
|
228
|
+
|
|
229
|
+
Published framework versions live in `catalogs.ultramodern` in
|
|
230
|
+
`pnpm-workspace.yaml`. Application manifests reference `catalog:ultramodern`;
|
|
231
|
+
the lockfile records resolved packages. Corrected third-party dependencies ship
|
|
232
|
+
as published packages. Applications do not install framework patches or carry
|
|
233
|
+
a copied release manifest.
|
|
234
|
+
|
|
235
|
+
Use `--ultramodern-package-source=install` for published package acceptance and
|
|
236
|
+
`--ultramodern-package-version` to select an exact release. Use `--workspace`
|
|
237
|
+
for local monorepo development. After installation, run `pnpm contract:check`,
|
|
238
|
+
which invokes the installed CLI directly. The installed generator owns its
|
|
239
|
+
release-integrity metadata.
|
|
240
|
+
|
|
241
|
+
Normal installs retain the generated strict 24-hour release-age and trust
|
|
242
|
+
policy. The one exception is `minimumReleaseAgeExclude`: it lists the exact
|
|
243
|
+
`package@version` of every package in the cohort the create package ships, so a
|
|
244
|
+
workspace created on the day that cohort is published can install it. Every
|
|
245
|
+
other dependency still waits 24 hours, including a cohort selected with
|
|
246
|
+
`--ultramodern-package-version` that differs from the create package's own; to
|
|
247
|
+
install a fresh cohort on publish day, run that release's create package.
|
|
248
|
+
Release acceptance adds exact, temporary exceptions for the sidecars under test
|
|
249
|
+
on the command line.
|
|
204
250
|
|
|
205
251
|
## CodeSmith Adapter And Overlays
|
|
206
252
|
|
|
@@ -218,9 +264,9 @@ await ultramodernCodeSmith({
|
|
|
218
264
|
mode: 'workspace',
|
|
219
265
|
name: 'my-workspace',
|
|
220
266
|
targetDir: '/tmp/my-workspace',
|
|
221
|
-
modernVersion: '
|
|
267
|
+
modernVersion: '<V>',
|
|
222
268
|
packageSourceStrategy: 'install',
|
|
223
|
-
modernPackageVersion: '
|
|
269
|
+
modernPackageVersion: '<V>',
|
|
224
270
|
},
|
|
225
271
|
});
|
|
226
272
|
|
|
@@ -243,15 +289,15 @@ Overlays are explicit CodeSmith generators that run after base workspace or
|
|
|
243
289
|
MicroVertical generation:
|
|
244
290
|
|
|
245
291
|
```bash
|
|
246
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create new-vertical --vertical \
|
|
292
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> new-vertical --vertical \
|
|
247
293
|
--codesmith-overlay ./generators/vertical-overlay
|
|
248
294
|
```
|
|
249
295
|
|
|
250
296
|
```ts
|
|
251
|
-
addUltramodernVertical({
|
|
297
|
+
await addUltramodernVertical({
|
|
252
298
|
workspaceRoot: '/tmp/my-workspace',
|
|
253
299
|
name: 'new-vertical',
|
|
254
|
-
modernVersion: '
|
|
300
|
+
modernVersion: '<V>',
|
|
255
301
|
overlays: [
|
|
256
302
|
{
|
|
257
303
|
generator: './generators/vertical-overlay',
|
|
@@ -278,9 +324,9 @@ overlay, ownership entry, strict Effect HttpApi surface, and root `dev:*` script
|
|
|
278
324
|
requested vertical name.
|
|
279
325
|
|
|
280
326
|
```bash
|
|
281
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical
|
|
282
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=catalog
|
|
283
|
-
pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical-name catalog
|
|
327
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> catalog --vertical
|
|
328
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> --vertical=catalog
|
|
329
|
+
pnpm dlx @bleedingdev/modern-js-ultramodern-create@<V> --vertical-name catalog
|
|
284
330
|
```
|
|
285
331
|
|
|
286
332
|
Use this decision table before adding a vertical:
|
|
@@ -295,7 +341,24 @@ Use this decision table before adding a vertical:
|
|
|
295
341
|
|
|
296
342
|
## SuperApp Architecture Contracts
|
|
297
343
|
|
|
298
|
-
|
|
344
|
+
Generated React `modern.config.ts` files declare their app identity through
|
|
345
|
+
`presetUltramodernWorkspace(config, { appId, from: import.meta.url })` inside
|
|
346
|
+
the renderer-selecting `defineConfig` from `@modern-js/ultramodern-app-tools`,
|
|
347
|
+
and keep ordinary Modern.js plugins and authored configuration. The preset
|
|
348
|
+
resolves `topology/reference-topology.json` and the development overlay when
|
|
349
|
+
the config loads. Fork-owned packages apply deployment targets, ports, asset
|
|
350
|
+
origins, CORS, Cloudflare bindings, build/cache directories, release identity,
|
|
351
|
+
and Zephyr deployment policy. Authored values override preset defaults; native
|
|
352
|
+
builder hooks and plugins compose normally. Solid and Octane apps select their
|
|
353
|
+
renderer directly with `defineConfig({ renderer })`.
|
|
354
|
+
|
|
355
|
+
Adding a shell or vertical updates topology, overlays, and generated workspace
|
|
356
|
+
metadata without rewriting any existing `modern.config.ts`. Application
|
|
357
|
+
configs belong to their authors from the moment they are created. New apps
|
|
358
|
+
receive a config scaffold with their own stable `appId`; changing a port or
|
|
359
|
+
shell composition takes effect through the canonical workspace inputs.
|
|
360
|
+
|
|
361
|
+
The React SuperApp shell owns route assembly and policy. Each React vertical added with
|
|
299
362
|
`--vertical` owns its route subtree, Module Federation exposes, Effect BFF
|
|
300
363
|
contract, generated client, `localisedUrls`, locale JSON, CSS layer, and
|
|
301
364
|
Cloudflare Worker output. The shell consumes vertical UI through Module
|
|
@@ -303,10 +366,11 @@ Federation manifests and vertical APIs through generated Effect clients
|
|
|
303
366
|
exported by the vertical packages.
|
|
304
367
|
|
|
305
368
|
Route metadata is route-owned and colocated in
|
|
306
|
-
`src/routes/**/route.meta.ts
|
|
307
|
-
`
|
|
308
|
-
|
|
309
|
-
|
|
369
|
+
`src/routes/**/route.meta.ts`; each file exports `routeMeta`.
|
|
370
|
+
`ultramodern-create ultramodern routes-generate` (run before every app `dev`
|
|
371
|
+
and `build`) regenerates `src/routes/ultramodern-route-metadata.ts` as a
|
|
372
|
+
formatted route manifest for Modern.js config, i18n, public head, and public
|
|
373
|
+
surface contracts; authors should not hand-maintain it. Locale JSON is served from
|
|
310
374
|
`/locales/{{lng}}/{{ns}}.json`; Czech and English routes are generated from the
|
|
311
375
|
route owner, not from shell rewrites.
|
|
312
376
|
|
|
@@ -375,17 +439,18 @@ where assets load from.
|
|
|
375
439
|
|
|
376
440
|
## Cloudflare And Zephyr Proof
|
|
377
441
|
|
|
378
|
-
Each generated workspace app has:
|
|
442
|
+
Each generated React workspace app has:
|
|
379
443
|
|
|
380
444
|
- `cloudflare:build`, `cloudflare:deploy`, `cloudflare:preview`, and
|
|
381
445
|
`cloudflare:proof` scripts.
|
|
382
|
-
- Cloudflare Worker deploy config from Modern config
|
|
383
|
-
`.modernjs/ultramodern.json`.
|
|
446
|
+
- Cloudflare Worker deploy config emitted from native Modern config.
|
|
384
447
|
- `zephyr:dependencies` for any consumed verticals.
|
|
385
|
-
- `zephyr-rspack-plugin`
|
|
448
|
+
- `zephyr-rspack-plugin` composed by the fork-owned workspace preset for UI
|
|
449
|
+
apps. It activates only when `ZE_CI_TOKEN` is present; the deploy environment
|
|
450
|
+
must also set `ZE_FAIL_BUILD=true`. Ordinary builds require no Zephyr token.
|
|
386
451
|
|
|
387
452
|
Deploy first, then pass each deployed app's generated public URL env key into
|
|
388
|
-
the proof step. The proof
|
|
453
|
+
the proof step. The installed proof command reads topology and deployment contracts and checks the
|
|
389
454
|
Cloudflare Worker surface, including public-route sitemap/robots consistency,
|
|
390
455
|
preview noindex behavior, unknown-route status, asset headers, byte budgets,
|
|
391
456
|
and public sourcemap exposure. Shell-only workspaces only need the shell URL;
|
|
@@ -407,10 +472,10 @@ proven.
|
|
|
407
472
|
|
|
408
473
|
| Symptom | Current check | Owner |
|
|
409
474
|
| --- | --- | --- |
|
|
410
|
-
| Package
|
|
475
|
+
| Package version mismatch | Align the native framework catalog and regenerate the lockfile with `pnpm install`. | Workspace dependency manifests |
|
|
411
476
|
| Install failure | Check the active Node/pnpm from `mise install`; rerun `pnpm install` after the shell sees the pinned versions. | Toolchain setup |
|
|
412
477
|
| Build failure | Run the matching primitive gate (`pnpm lint`, `pnpm typecheck`, `pnpm i18n:boundaries`, `pnpm contract:check`) before `pnpm build`; fix the owning failure first. | Owning package or generated contract |
|
|
413
|
-
| Missing public URL | Set the app public URL env key
|
|
478
|
+
| Missing public URL | Set the app public URL env key declared in topology, for example `ULTRAMODERN_PUBLIC_URL_SHELL_SUPER_APP`. | Deployment operator |
|
|
414
479
|
| Cloudflare credentials | Confirm Wrangler credentials before `pnpm cloudflare:deploy`; local checks do not prove live Worker access. | Deployment operator |
|
|
415
480
|
| Asset or CSS 404 | Rebuild with `pnpm build` or `pnpm cloudflare:deploy` and inspect emitted Modern/Rspack asset paths instead of hardcoding CSS URLs. | Framework/runtime asset pipeline |
|
|
416
481
|
| Federation manifest failure | Run the shell and vertical build scripts, then check each deployed `/mf-manifest.json` URL used by the shell. | Module Federation owner |
|
package/dist/cjs/cli/flags.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
33
33
|
DRY_RUN_FLAG: ()=>DRY_RUN_FLAG,
|
|
34
34
|
HORIZONTAL_REMOTE_FLAG: ()=>HORIZONTAL_REMOTE_FLAG,
|
|
35
35
|
PRESET_FLAG: ()=>PRESET_FLAG,
|
|
36
|
+
RENDERER_FLAG: ()=>RENDERER_FLAG,
|
|
36
37
|
VERTICAL_FLAG: ()=>VERTICAL_FLAG,
|
|
37
38
|
WORKSPACE_PROTOCOL_FLAG: ()=>WORKSPACE_PROTOCOL_FLAG,
|
|
38
39
|
collectPositionalArgs: ()=>collectPositionalArgs,
|
|
@@ -44,6 +45,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
44
45
|
detectHorizontalRemoteFlag: ()=>detectHorizontalRemoteFlag,
|
|
45
46
|
detectLanguage: ()=>detectLanguage,
|
|
46
47
|
detectPresetFlag: ()=>detectPresetFlag,
|
|
48
|
+
detectRendererFlag: ()=>detectRendererFlag,
|
|
47
49
|
detectTailwindFlag: ()=>detectTailwindFlag,
|
|
48
50
|
getOptionValue: ()=>getOptionValue,
|
|
49
51
|
readBridgeCliOptions: ()=>readBridgeCliOptions,
|
|
@@ -51,6 +53,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
51
53
|
});
|
|
52
54
|
const index_cjs_namespaceObject = require("../locale/index.cjs");
|
|
53
55
|
const bridge_config_cjs_namespaceObject = require("../ultramodern-workspace/bridge-config.cjs");
|
|
56
|
+
const renderer_profile_cjs_namespaceObject = require("../ultramodern-workspace/renderer-profile.cjs");
|
|
54
57
|
const WORKSPACE_PROTOCOL_FLAG = '--workspace';
|
|
55
58
|
const DRY_RUN_FLAG = '--dry-run';
|
|
56
59
|
const VERTICAL_FLAG = '--vertical';
|
|
@@ -59,6 +62,7 @@ const CODESMITH_OVERLAY_FLAG = '--codesmith-overlay';
|
|
|
59
62
|
const PRESET_FLAG = '--preset';
|
|
60
63
|
const API_PROTOCOL_FLAG = '--api-protocol';
|
|
61
64
|
const HORIZONTAL_REMOTE_FLAG = '--horizontal-remote';
|
|
65
|
+
const RENDERER_FLAG = '--renderer';
|
|
62
66
|
const SUPPORTED_PRESETS = [
|
|
63
67
|
'full-stack',
|
|
64
68
|
'api-only',
|
|
@@ -123,6 +127,7 @@ function collectPositionalArgs(args) {
|
|
|
123
127
|
const optionWithValue = new Set([
|
|
124
128
|
'--lang',
|
|
125
129
|
'-l',
|
|
130
|
+
RENDERER_FLAG,
|
|
126
131
|
BFF_RUNTIME_OPTION,
|
|
127
132
|
'--ultramodern-package-source',
|
|
128
133
|
'--ultramodern-package-version',
|
|
@@ -158,7 +163,7 @@ function collectPositionalArgs(args) {
|
|
|
158
163
|
i += 1;
|
|
159
164
|
continue;
|
|
160
165
|
}
|
|
161
|
-
if (!(arg.startsWith('--lang=') || arg.startsWith(`${BFF_RUNTIME_OPTION}=`) || arg.startsWith('--ultramodern-package-source=') || arg.startsWith('--ultramodern-package-version=') || arg.startsWith('--ultramodern-package-registry=') || arg.startsWith('--ultramodern-package-scope=') || arg.startsWith('--ultramodern-package-name-prefix=') || arg.startsWith(`${VERTICAL_FLAG}=`) || arg.startsWith(`${VERTICAL_NAME_FLAG}=`) || arg.startsWith(`${CODESMITH_OVERLAY_FLAG}=`) || arg.startsWith(`${PRESET_FLAG}=`) || arg.startsWith(`${API_PROTOCOL_FLAG}=`) || bridge_config_cjs_namespaceObject.ultramodernBridgeCliBooleanFlags.some((flag)=>arg.startsWith(`${flag}=`)) || bridge_config_cjs_namespaceObject.ultramodernBridgeCliValueFlags.some((flag)=>arg.startsWith(`${flag}=`)))) positionalArgs.push(arg);
|
|
166
|
+
if (!(arg.startsWith('--lang=') || arg.startsWith(`${RENDERER_FLAG}=`) || arg.startsWith(`${BFF_RUNTIME_OPTION}=`) || arg.startsWith('--ultramodern-package-source=') || arg.startsWith('--ultramodern-package-version=') || arg.startsWith('--ultramodern-package-registry=') || arg.startsWith('--ultramodern-package-scope=') || arg.startsWith('--ultramodern-package-name-prefix=') || arg.startsWith(`${VERTICAL_FLAG}=`) || arg.startsWith(`${VERTICAL_NAME_FLAG}=`) || arg.startsWith(`${CODESMITH_OVERLAY_FLAG}=`) || arg.startsWith(`${PRESET_FLAG}=`) || arg.startsWith(`${API_PROTOCOL_FLAG}=`) || bridge_config_cjs_namespaceObject.ultramodernBridgeCliBooleanFlags.some((flag)=>arg.startsWith(`${flag}=`)) || bridge_config_cjs_namespaceObject.ultramodernBridgeCliValueFlags.some((flag)=>arg.startsWith(`${flag}=`)))) positionalArgs.push(arg);
|
|
162
167
|
}
|
|
163
168
|
}
|
|
164
169
|
return positionalArgs;
|
|
@@ -245,6 +250,21 @@ function detectDryRunFlag(args) {
|
|
|
245
250
|
}
|
|
246
251
|
return args.includes(DRY_RUN_FLAG);
|
|
247
252
|
}
|
|
253
|
+
function detectRendererFlag(args) {
|
|
254
|
+
const requested = args.some((arg)=>arg === RENDERER_FLAG || arg.startsWith(`${RENDERER_FLAG}=`));
|
|
255
|
+
if (!requested) return;
|
|
256
|
+
const renderer = getOptionValue(args, [
|
|
257
|
+
RENDERER_FLAG
|
|
258
|
+
]);
|
|
259
|
+
if (!(0, renderer_profile_cjs_namespaceObject.isApplicationRenderer)(renderer)) throw new Error(`${RENDERER_FLAG} requires react, solid or octane.`);
|
|
260
|
+
const values = args.flatMap((arg, index)=>arg === RENDERER_FLAG ? [
|
|
261
|
+
args[index + 1]
|
|
262
|
+
] : arg.startsWith(`${RENDERER_FLAG}=`) ? [
|
|
263
|
+
arg.slice(`${RENDERER_FLAG}=`.length)
|
|
264
|
+
] : []);
|
|
265
|
+
if (values.some((value)=>value !== renderer)) throw new Error('Conflicting renderer selections. Choose one renderer when creating the workspace.');
|
|
266
|
+
return renderer;
|
|
267
|
+
}
|
|
248
268
|
function detectCodeSmithOverlays(args) {
|
|
249
269
|
const overlays = [];
|
|
250
270
|
for(let i = 0; i < args.length; i++){
|
|
@@ -316,6 +336,7 @@ exports.CODESMITH_OVERLAY_FLAG = __webpack_exports__.CODESMITH_OVERLAY_FLAG;
|
|
|
316
336
|
exports.DRY_RUN_FLAG = __webpack_exports__.DRY_RUN_FLAG;
|
|
317
337
|
exports.HORIZONTAL_REMOTE_FLAG = __webpack_exports__.HORIZONTAL_REMOTE_FLAG;
|
|
318
338
|
exports.PRESET_FLAG = __webpack_exports__.PRESET_FLAG;
|
|
339
|
+
exports.RENDERER_FLAG = __webpack_exports__.RENDERER_FLAG;
|
|
319
340
|
exports.VERTICAL_FLAG = __webpack_exports__.VERTICAL_FLAG;
|
|
320
341
|
exports.WORKSPACE_PROTOCOL_FLAG = __webpack_exports__.WORKSPACE_PROTOCOL_FLAG;
|
|
321
342
|
exports.collectPositionalArgs = __webpack_exports__.collectPositionalArgs;
|
|
@@ -327,6 +348,7 @@ exports.detectExplicitTailwindFlag = __webpack_exports__.detectExplicitTailwindF
|
|
|
327
348
|
exports.detectHorizontalRemoteFlag = __webpack_exports__.detectHorizontalRemoteFlag;
|
|
328
349
|
exports.detectLanguage = __webpack_exports__.detectLanguage;
|
|
329
350
|
exports.detectPresetFlag = __webpack_exports__.detectPresetFlag;
|
|
351
|
+
exports.detectRendererFlag = __webpack_exports__.detectRendererFlag;
|
|
330
352
|
exports.detectTailwindFlag = __webpack_exports__.detectTailwindFlag;
|
|
331
353
|
exports.getOptionValue = __webpack_exports__.getOptionValue;
|
|
332
354
|
exports.readBridgeCliOptions = __webpack_exports__.readBridgeCliOptions;
|
|
@@ -337,6 +359,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
337
359
|
"DRY_RUN_FLAG",
|
|
338
360
|
"HORIZONTAL_REMOTE_FLAG",
|
|
339
361
|
"PRESET_FLAG",
|
|
362
|
+
"RENDERER_FLAG",
|
|
340
363
|
"VERTICAL_FLAG",
|
|
341
364
|
"WORKSPACE_PROTOCOL_FLAG",
|
|
342
365
|
"collectPositionalArgs",
|
|
@@ -348,6 +371,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
348
371
|
"detectHorizontalRemoteFlag",
|
|
349
372
|
"detectLanguage",
|
|
350
373
|
"detectPresetFlag",
|
|
374
|
+
"detectRendererFlag",
|
|
351
375
|
"detectTailwindFlag",
|
|
352
376
|
"getOptionValue",
|
|
353
377
|
"readBridgeCliOptions",
|
package/dist/cjs/cli/help.cjs
CHANGED
|
@@ -54,6 +54,7 @@ function showHelp() {
|
|
|
54
54
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionHelp));
|
|
55
55
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionVersion));
|
|
56
56
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionLang));
|
|
57
|
+
console.log(' --renderer <react|solid|octane> Select the native application renderer.');
|
|
57
58
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionTailwind));
|
|
58
59
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionBff));
|
|
59
60
|
console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.help.optionBffRuntime));
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -78,6 +78,8 @@ async function main() {
|
|
|
78
78
|
(0, flags_cjs_namespaceObject.detectBffRuntime)(args);
|
|
79
79
|
const dryRun = (0, flags_cjs_namespaceObject.detectDryRunFlag)(args);
|
|
80
80
|
const verticalInput = (0, flags_cjs_namespaceObject.resolveVerticalCliInput)(args);
|
|
81
|
+
const renderer = (0, flags_cjs_namespaceObject.detectRendererFlag)(args);
|
|
82
|
+
if (verticalInput.addVertical && renderer) throw new Error('Add commands resolve the renderer from modern.config. --renderer is only supported for initial generation.');
|
|
81
83
|
const overlays = (0, flags_cjs_namespaceObject.detectCodeSmithOverlays)(args);
|
|
82
84
|
const bridgeRequested = (0, bridge_config_cjs_namespaceObject.hasUltramodernBridgeCliOptions)(args);
|
|
83
85
|
if (dryRun && !verticalInput.addVertical) {
|
|
@@ -115,8 +117,8 @@ async function main() {
|
|
|
115
117
|
horizontalRemote: true
|
|
116
118
|
} : {}
|
|
117
119
|
};
|
|
118
|
-
if (dryRun) return void console.log(JSON.stringify((0, external_ultramodern_workspace_index_cjs_namespaceObject.planUltramodernVertical)(verticalOptions), null, 2));
|
|
119
|
-
(0, external_ultramodern_workspace_index_cjs_namespaceObject.addUltramodernVertical)(verticalOptions);
|
|
120
|
+
if (dryRun) return void console.log(JSON.stringify(await (0, external_ultramodern_workspace_index_cjs_namespaceObject.planUltramodernVertical)(verticalOptions), null, 2));
|
|
121
|
+
await (0, external_ultramodern_workspace_index_cjs_namespaceObject.addUltramodernVertical)(verticalOptions);
|
|
120
122
|
const dim = '\x1b[2m\x1b[3m';
|
|
121
123
|
const reset = '\x1b[0m';
|
|
122
124
|
console.log(`${index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.message.success)}\n`);
|
|
@@ -139,7 +141,7 @@ async function main() {
|
|
|
139
141
|
}
|
|
140
142
|
const packageSource = (0, package_source_cjs_namespaceObject.resolveWorkspacePackageSource)(args, createPackage, (0, package_source_cjs_namespaceObject.detectUltramodernPackageSource)(args, ultramodernPackageVersion, createPackage));
|
|
141
143
|
const generateAgentFiles = !args.includes('--no-agents-md');
|
|
142
|
-
(0, external_ultramodern_workspace_index_cjs_namespaceObject.generateUltramodernWorkspace)({
|
|
144
|
+
await (0, external_ultramodern_workspace_index_cjs_namespaceObject.generateUltramodernWorkspace)({
|
|
143
145
|
targetDir,
|
|
144
146
|
packageName: generatedPackageName,
|
|
145
147
|
modernVersion: version,
|
|
@@ -147,7 +149,10 @@ async function main() {
|
|
|
147
149
|
bridge,
|
|
148
150
|
overlays,
|
|
149
151
|
packageSource,
|
|
150
|
-
generateAgentFiles
|
|
152
|
+
generateAgentFiles,
|
|
153
|
+
...renderer ? {
|
|
154
|
+
renderer
|
|
155
|
+
} : {}
|
|
151
156
|
});
|
|
152
157
|
const initializedGitRepository = (0, project_setup_cjs_namespaceObject.initializeGeneratedGitRepository)(targetDir);
|
|
153
158
|
const dim = '\x1b[2m\x1b[3m';
|