@bleedingdev/modern-js-ultramodern-create 3.8.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/LICENSE +21 -0
- package/README.md +459 -0
- package/bin/run.js +74 -0
- package/dist/cjs/agent-files.cjs +96 -0
- package/dist/cjs/agents-md.cjs +98 -0
- package/dist/cjs/cli/flags.cjs +358 -0
- package/dist/cjs/cli/help.cjs +111 -0
- package/dist/cjs/cli/package-source.cjs +188 -0
- package/dist/cjs/cli/project-setup.cjs +159 -0
- package/dist/cjs/cli/prompts.cjs +100 -0
- package/dist/cjs/create-package-root.cjs +63 -0
- package/dist/cjs/docs-location.cjs +143 -0
- package/dist/cjs/index.cjs +169 -0
- package/dist/cjs/locale/en.cjs +126 -0
- package/dist/cjs/locale/index.cjs +50 -0
- package/dist/cjs/locale/zh.cjs +126 -0
- package/dist/cjs/ultramodern-package-source.cjs +115 -0
- package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
- package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
- package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
- package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +212 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +47 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +112 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +55 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +102 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +187 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +146 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +110 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +279 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +58 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +71 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +151 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +67 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +447 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +309 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +87 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +588 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +376 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +73 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +215 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +454 -0
- package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
- package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
- package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
- package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
- package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
- package/dist/cjs/ultramodern-tooling/commands.cjs +99 -0
- package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
- package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
- package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
- package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
- package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
- package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
- package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
- package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
- package/dist/cjs/ultramodern-tooling/config.cjs +62 -0
- package/dist/cjs/ultramodern-workspace/add-shell.cjs +277 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +186 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +99 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +590 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
- package/dist/cjs/ultramodern-workspace/add-vertical.cjs +84 -0
- package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
- package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
- package/dist/cjs/ultramodern-workspace/api/contracts.cjs +187 -0
- package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
- package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
- package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
- package/dist/cjs/ultramodern-workspace/api/shared.cjs +264 -0
- package/dist/cjs/ultramodern-workspace/api.cjs +108 -0
- package/dist/cjs/ultramodern-workspace/app-files.cjs +206 -0
- package/dist/cjs/ultramodern-workspace/backend-federation.cjs +355 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +44 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
- package/dist/cjs/ultramodern-workspace/bridge-config.cjs +62 -0
- package/dist/cjs/ultramodern-workspace/codesmith.cjs +144 -0
- package/dist/cjs/ultramodern-workspace/contracts.cjs +366 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +292 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +59 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +150 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +685 -0
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +307 -0
- package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +324 -0
- package/dist/cjs/ultramodern-workspace/generation-result.cjs +191 -0
- package/dist/cjs/ultramodern-workspace/index.cjs +79 -0
- package/dist/cjs/ultramodern-workspace/locales.cjs +159 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +211 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
- package/dist/cjs/ultramodern-workspace/mf-validation.cjs +48 -0
- package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +343 -0
- package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
- package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
- package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
- package/dist/cjs/ultramodern-workspace/module-federation.cjs +77 -0
- package/dist/cjs/ultramodern-workspace/naming.cjs +155 -0
- package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
- package/dist/cjs/ultramodern-workspace/overlays.cjs +155 -0
- package/dist/cjs/ultramodern-workspace/package-json.cjs +269 -0
- package/dist/cjs/ultramodern-workspace/package-source.cjs +68 -0
- package/dist/cjs/ultramodern-workspace/policy.cjs +1020 -0
- package/dist/cjs/ultramodern-workspace/public-api.cjs +58 -0
- package/dist/cjs/ultramodern-workspace/public-surface.cjs +247 -0
- package/dist/cjs/ultramodern-workspace/routes.cjs +226 -0
- package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
- package/dist/cjs/ultramodern-workspace/shells.cjs +152 -0
- package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
- package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +201 -0
- package/dist/cjs/ultramodern-workspace/types.cjs +88 -0
- package/dist/cjs/ultramodern-workspace/versions.cjs +184 -0
- package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
- package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +261 -0
- package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +424 -0
- package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +232 -0
- package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
- package/dist/esm/agent-files.js +47 -0
- package/dist/esm/agents-md.js +50 -0
- package/dist/esm/cli/flags.js +263 -0
- package/dist/esm/cli/help.js +70 -0
- package/dist/esm/cli/package-source.js +124 -0
- package/dist/esm/cli/project-setup.js +102 -0
- package/dist/esm/cli/prompts.js +51 -0
- package/dist/esm/create-package-root.js +14 -0
- package/dist/esm/docs-location.js +79 -0
- package/dist/esm/index.js +133 -0
- package/dist/esm/locale/en.js +88 -0
- package/dist/esm/locale/index.js +9 -0
- package/dist/esm/locale/zh.js +88 -0
- package/dist/esm/ultramodern-package-source.js +43 -0
- package/dist/esm/ultramodern-release-cohort.js +133 -0
- package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
- package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
- package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +9 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +63 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +7 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +47 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +138 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +97 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +61 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +230 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +10 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +100 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +29 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +385 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +262 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +49 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +535 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +329 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +19 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +148 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +405 -0
- package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
- package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
- package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
- package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
- package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
- package/dist/esm/ultramodern-tooling/commands.js +51 -0
- package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
- package/dist/esm/ultramodern-tooling/config/index.js +7 -0
- package/dist/esm/ultramodern-tooling/config/json.js +10 -0
- package/dist/esm/ultramodern-tooling/config/load.js +13 -0
- package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
- package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
- package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
- package/dist/esm/ultramodern-tooling/config/types.js +0 -0
- package/dist/esm/ultramodern-tooling/config.js +1 -0
- package/dist/esm/ultramodern-workspace/add-shell.js +224 -0
- package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
- package/dist/esm/ultramodern-workspace/add-vertical/execute.js +138 -0
- package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
- package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
- package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +48 -0
- package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
- package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +529 -0
- package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
- package/dist/esm/ultramodern-workspace/add-vertical.js +6 -0
- package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
- package/dist/esm/ultramodern-workspace/api/client.js +183 -0
- package/dist/esm/ultramodern-workspace/api/contracts.js +149 -0
- package/dist/esm/ultramodern-workspace/api/names.js +33 -0
- package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
- package/dist/esm/ultramodern-workspace/api/service.js +211 -0
- package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
- package/dist/esm/ultramodern-workspace/api.js +6 -0
- package/dist/esm/ultramodern-workspace/app-files.js +150 -0
- package/dist/esm/ultramodern-workspace/backend-federation.js +290 -0
- package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
- package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +6 -0
- package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
- package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
- package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
- package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
- package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
- package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
- package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
- package/dist/esm/ultramodern-workspace/bridge-config.js +1 -0
- package/dist/esm/ultramodern-workspace/codesmith.js +96 -0
- package/dist/esm/ultramodern-workspace/contracts.js +319 -0
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
- package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
- package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +101 -0
- package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
- package/dist/esm/ultramodern-workspace/demo-components.js +617 -0
- package/dist/esm/ultramodern-workspace/descriptors.js +191 -0
- package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
- package/dist/esm/ultramodern-workspace/fs-io.js +235 -0
- package/dist/esm/ultramodern-workspace/generation-result.js +132 -0
- package/dist/esm/ultramodern-workspace/index.js +7 -0
- package/dist/esm/ultramodern-workspace/locales.js +121 -0
- package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
- package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
- package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
- package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
- package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
- package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +161 -0
- package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
- package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
- package/dist/esm/ultramodern-workspace/mf-validation.js +3 -0
- package/dist/esm/ultramodern-workspace/module-federation/config.js +296 -0
- package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
- package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
- package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
- package/dist/esm/ultramodern-workspace/module-federation.js +5 -0
- package/dist/esm/ultramodern-workspace/naming.js +71 -0
- package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
- package/dist/esm/ultramodern-workspace/overlays.js +103 -0
- package/dist/esm/ultramodern-workspace/package-json.js +201 -0
- package/dist/esm/ultramodern-workspace/package-source.js +27 -0
- package/dist/esm/ultramodern-workspace/policy.js +955 -0
- package/dist/esm/ultramodern-workspace/public-api.js +4 -0
- package/dist/esm/ultramodern-workspace/public-surface.js +183 -0
- package/dist/esm/ultramodern-workspace/routes.js +146 -0
- package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
- package/dist/esm/ultramodern-workspace/shells.js +96 -0
- package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
- package/dist/esm/ultramodern-workspace/tsconfigs.js +138 -0
- package/dist/esm/ultramodern-workspace/types.js +31 -0
- package/dist/esm/ultramodern-workspace/versions.js +38 -0
- package/dist/esm/ultramodern-workspace/workspace-script-plan.js +125 -0
- package/dist/esm/ultramodern-workspace/workspace-scripts.js +200 -0
- package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +386 -0
- package/dist/esm/ultramodern-workspace/write-app.js +105 -0
- package/dist/esm/ultramodern-workspace/write-workspace.js +178 -0
- package/dist/esm/ultramodern-workspace/zerops.js +70 -0
- package/dist/esm-node/agent-files.js +48 -0
- package/dist/esm-node/agents-md.js +51 -0
- package/dist/esm-node/cli/flags.js +264 -0
- package/dist/esm-node/cli/help.js +71 -0
- package/dist/esm-node/cli/package-source.js +125 -0
- package/dist/esm-node/cli/project-setup.js +103 -0
- package/dist/esm-node/cli/prompts.js +52 -0
- package/dist/esm-node/create-package-root.js +15 -0
- package/dist/esm-node/docs-location.js +80 -0
- package/dist/esm-node/index.js +134 -0
- package/dist/esm-node/locale/en.js +89 -0
- package/dist/esm-node/locale/index.js +10 -0
- package/dist/esm-node/locale/zh.js +89 -0
- package/dist/esm-node/ultramodern-package-source.js +44 -0
- package/dist/esm-node/ultramodern-release-cohort.js +134 -0
- package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
- package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
- package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +10 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +64 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +8 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +48 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +139 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +98 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +62 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +231 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +11 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +9 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +101 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +30 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +386 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +263 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +50 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +536 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +330 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +20 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +149 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +406 -0
- package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
- package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
- package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
- package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
- package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
- package/dist/esm-node/ultramodern-tooling/commands.js +52 -0
- package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
- package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
- package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
- package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
- package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
- package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
- package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
- package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
- package/dist/esm-node/ultramodern-tooling/config.js +2 -0
- package/dist/esm-node/ultramodern-workspace/add-shell.js +225 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +139 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +49 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +530 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical.js +7 -0
- package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
- package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
- package/dist/esm-node/ultramodern-workspace/api/contracts.js +150 -0
- package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
- package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
- package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
- package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
- package/dist/esm-node/ultramodern-workspace/api.js +7 -0
- package/dist/esm-node/ultramodern-workspace/app-files.js +151 -0
- package/dist/esm-node/ultramodern-workspace/backend-federation.js +291 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +7 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config.js +2 -0
- package/dist/esm-node/ultramodern-workspace/codesmith.js +97 -0
- package/dist/esm-node/ultramodern-workspace/contracts.js +320 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +237 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +102 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
- package/dist/esm-node/ultramodern-workspace/demo-components.js +618 -0
- package/dist/esm-node/ultramodern-workspace/descriptors.js +192 -0
- package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
- package/dist/esm-node/ultramodern-workspace/fs-io.js +236 -0
- package/dist/esm-node/ultramodern-workspace/generation-result.js +133 -0
- package/dist/esm-node/ultramodern-workspace/index.js +8 -0
- package/dist/esm-node/ultramodern-workspace/locales.js +122 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +162 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
- package/dist/esm-node/ultramodern-workspace/mf-validation.js +4 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/config.js +297 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
- package/dist/esm-node/ultramodern-workspace/module-federation.js +6 -0
- package/dist/esm-node/ultramodern-workspace/naming.js +72 -0
- package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
- package/dist/esm-node/ultramodern-workspace/overlays.js +104 -0
- package/dist/esm-node/ultramodern-workspace/package-json.js +202 -0
- package/dist/esm-node/ultramodern-workspace/package-source.js +28 -0
- package/dist/esm-node/ultramodern-workspace/policy.js +956 -0
- package/dist/esm-node/ultramodern-workspace/public-api.js +5 -0
- package/dist/esm-node/ultramodern-workspace/public-surface.js +184 -0
- package/dist/esm-node/ultramodern-workspace/routes.js +147 -0
- package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
- package/dist/esm-node/ultramodern-workspace/shells.js +97 -0
- package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
- package/dist/esm-node/ultramodern-workspace/tsconfigs.js +139 -0
- package/dist/esm-node/ultramodern-workspace/types.js +32 -0
- package/dist/esm-node/ultramodern-workspace/versions.js +39 -0
- package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +126 -0
- package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +201 -0
- package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +387 -0
- package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +179 -0
- package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
- package/dist/types/agent-files.d.ts +11 -0
- package/dist/types/agents-md.d.ts +1 -0
- package/dist/types/cli/flags.d.ts +35 -0
- package/dist/types/cli/help.d.ts +2 -0
- package/dist/types/cli/package-source.d.ts +15 -0
- package/dist/types/cli/project-setup.d.ts +8 -0
- package/dist/types/cli/prompts.d.ts +4 -0
- package/dist/types/create-package-root.d.ts +1 -0
- package/dist/types/docs-location.d.ts +23 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/locale/en.d.ts +87 -0
- package/dist/types/locale/index.d.ts +176 -0
- package/dist/types/locale/zh.d.ts +87 -0
- package/dist/types/ultramodern-package-source.d.ts +20 -0
- package/dist/types/ultramodern-release-cohort.d.ts +30 -0
- package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
- package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +5 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +8 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +26 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +25 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +26 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +6 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +37 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
- package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
- package/dist/types/ultramodern-tooling/commands.d.ts +1 -0
- package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
- package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
- package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
- package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
- package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
- package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
- package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
- package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
- package/dist/types/ultramodern-tooling/config.d.ts +1 -0
- package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
- package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
- package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
- package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
- package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
- package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +4 -0
- package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
- package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +49 -0
- package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
- package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -0
- package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
- package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
- package/dist/types/ultramodern-workspace/api/contracts.d.ts +2 -0
- package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
- package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
- package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
- package/dist/types/ultramodern-workspace/api/shared.d.ts +5 -0
- package/dist/types/ultramodern-workspace/api.d.ts +6 -0
- package/dist/types/ultramodern-workspace/app-files.d.ts +8 -0
- package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
- package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
- package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
- package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
- package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
- package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
- package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
- package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
- package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
- package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
- package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -0
- package/dist/types/ultramodern-workspace/codesmith.d.ts +60 -0
- package/dist/types/ultramodern-workspace/contracts.d.ts +6 -0
- package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +290 -0
- package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
- package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +4 -0
- package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
- package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
- package/dist/types/ultramodern-workspace/demo-components.d.ts +19 -0
- package/dist/types/ultramodern-workspace/descriptors.d.ts +63 -0
- package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
- package/dist/types/ultramodern-workspace/fs-io.d.ts +14 -0
- package/dist/types/ultramodern-workspace/generation-result.d.ts +16 -0
- package/dist/types/ultramodern-workspace/index.d.ts +10 -0
- package/dist/types/ultramodern-workspace/locales.d.ts +51 -0
- package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
- package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
- package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
- package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
- package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
- package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +6 -0
- package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +38 -0
- package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
- package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -0
- package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
- package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
- package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
- package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
- package/dist/types/ultramodern-workspace/module-federation.d.ts +5 -0
- package/dist/types/ultramodern-workspace/naming.d.ts +14 -0
- package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
- package/dist/types/ultramodern-workspace/overlays.d.ts +6 -0
- package/dist/types/ultramodern-workspace/package-json.d.ts +8 -0
- package/dist/types/ultramodern-workspace/package-source.d.ts +3 -0
- package/dist/types/ultramodern-workspace/policy.d.ts +281 -0
- package/dist/types/ultramodern-workspace/public-api.d.ts +6 -0
- package/dist/types/ultramodern-workspace/public-surface.d.ts +27 -0
- package/dist/types/ultramodern-workspace/routes.d.ts +16 -0
- package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
- package/dist/types/ultramodern-workspace/shells.d.ts +48 -0
- package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
- package/dist/types/ultramodern-workspace/tsconfigs.d.ts +14 -0
- package/dist/types/ultramodern-workspace/types.d.ts +334 -0
- package/dist/types/ultramodern-workspace/versions.d.ts +42 -0
- package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
- package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +16 -0
- package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +217 -0
- package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +6 -0
- package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
- package/package.json +115 -0
- package/template/AGENTS.md +20 -0
- package/template-workspace/.agents/agent-reference-repos.json +24 -0
- package/template-workspace/.codex/hooks.json +16 -0
- package/template-workspace/.codex/rstackjs-agent-skills-LICENSE +21 -0
- package/template-workspace/.codex/skills/rsbuild-best-practices/SKILL.md +57 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/SKILL.md +96 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/command-map.md +113 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/common-analysis-patterns.md +190 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-common.md +88 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-rspack.md +138 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-webpack.md +71 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor.md +39 -0
- package/template-workspace/.codex/skills/rsdoctor-analysis/references/rsdoctor-data-types.md +103 -0
- package/template-workspace/.codex/skills/rslib-best-practices/SKILL.md +58 -0
- package/template-workspace/.codex/skills/rslib-modern-package/SKILL.md +173 -0
- package/template-workspace/.codex/skills/rspack-best-practices/SKILL.md +70 -0
- package/template-workspace/.codex/skills/rspack-tracing/SKILL.md +75 -0
- package/template-workspace/.codex/skills/rspack-tracing/references/bottlenecks.md +47 -0
- package/template-workspace/.codex/skills/rspack-tracing/references/tracing-guide.md +38 -0
- package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +184 -0
- package/template-workspace/.codex/skills/rstest-best-practices/SKILL.md +133 -0
- package/template-workspace/.codex/skills-lock.json +114 -0
- package/template-workspace/.github/renovate.json +29 -0
- package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +71 -0
- package/template-workspace/.gitignore.handlebars +16 -0
- package/template-workspace/.mise.toml.handlebars +3 -0
- package/template-workspace/.modernjs/release-cohort.json +244 -0
- package/template-workspace/AGENTS.md.handlebars +30 -0
- package/template-workspace/CLAUDE.md.handlebars +1 -0
- package/template-workspace/README.md.handlebars +229 -0
- package/template-workspace/lefthook.yml +24 -0
- package/template-workspace/oxfmt.config.ts +20 -0
- package/template-workspace/oxlint.config.ts +38 -0
- package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +47 -0
- package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +26 -0
- package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +268 -0
- package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +13 -0
- package/template-workspace/patches/@tanstack__router-core@1.171.27.patch +28 -0
- package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +471 -0
- package/template-workspace/patches/msgpackr@2.0.6.patch +29 -0
- package/template-workspace/patches/zod@4.4.3.patch +54 -0
- package/template-workspace/pnpm-workspace.yaml.handlebars +54 -0
- package/template-workspace/scripts/bootstrap-agent-skills.mjs +308 -0
- package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
- package/templates/app/shell-frame.tsx +49 -0
- package/templates/app/ultramodern-route-head.tsx.handlebars +153 -0
- package/templates/packages/shared-contracts-index.ts +400 -0
- package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +42 -0
- package/templates/workspace/apps/modern.config.ts.handlebars +187 -0
- package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
- package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
- package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
- package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
- package/templates/workspace/tailwind.config.ts.handlebars +3 -0
- package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
- package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
- package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
- package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
- package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
- package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
- package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
- package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +779 -0
- package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +9 -0
- package/templates/workspace-scripts/generate-node-backend-federation.mjs +383 -0
- package/templates/workspace-scripts/generate-public-surface-assets.mjs +766 -0
- package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
- package/templates/workspace-scripts/proof-cloudflare-version.mjs +682 -0
- package/templates/workspace-scripts/proof-node-backend-federation.mjs +1281 -0
- package/templates/workspace-scripts/proof-workerd-ssr.mts +847 -0
- package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +1116 -0
- package/templates/workspace-scripts/ultramodern-performance-readiness.config.mjs +7 -0
- package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +412 -0
- package/templates/workspace-scripts/ultramodern-typecheck.mjs +159 -0
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +4094 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { WorkspaceApi } from '../types';
|
|
2
|
+
type ApiService = {
|
|
3
|
+
id: string;
|
|
4
|
+
api?: WorkspaceApi;
|
|
5
|
+
};
|
|
6
|
+
/** Export name of the generated `RpcGroup` for a service. */
|
|
7
|
+
export declare function verticalRpcGroupExport(service: ApiService): string;
|
|
8
|
+
/** Export name of the generated RPC contract metadata for a service. */
|
|
9
|
+
export declare function verticalRpcContractExport(service: ApiService): string;
|
|
10
|
+
/** Canonical RPC mount path for a service (under its API prefix). */
|
|
11
|
+
export declare function rpcPath(service: ApiService): string;
|
|
12
|
+
/** Path after the BFF prefix has been stripped by the Effect adapter. */
|
|
13
|
+
export declare const RPC_ROUTE_PATH: '/rpc';
|
|
14
|
+
/**
|
|
15
|
+
* Generate the `shared/rpc.ts` RPC contract: an `RpcGroup` of `list` / `get`
|
|
16
|
+
* RPCs plus contract metadata. Mirrors `EffectRpcBffDefinition.group`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createRpcContractFile(service: ApiService): string;
|
|
19
|
+
/**
|
|
20
|
+
* Service-entry wiring for an RPC service. Returns snippets the RPC-only
|
|
21
|
+
* service entry splices into `defineEffectBff(...)`. Empty strings for REST
|
|
22
|
+
* services.
|
|
23
|
+
*/
|
|
24
|
+
export declare function rpcServiceEntryWiring(service: ApiService): {
|
|
25
|
+
imports: string;
|
|
26
|
+
layer: string;
|
|
27
|
+
field: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Generate the RPC-only BFF entry. `defineEffectBff` is retained as the outer
|
|
31
|
+
* public entry shape so the strict Effect adapter applies its validator and
|
|
32
|
+
* lifecycle handling. The transport HttpApi has no endpoints; all callable
|
|
33
|
+
* surface is mounted by the `rpc` definition.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createRpcApiServiceEntry(service: ApiService): string;
|
|
36
|
+
/**
|
|
37
|
+
* Generate the RPC client file (`src/api/${stem}-rpc-client.ts`) built from the
|
|
38
|
+
* shared `RpcGroup` through Effect BFF's public HTTP RPC client primitive.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createRpcClientFile(service: ApiService): string;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WorkspaceApi, WorkspaceApp } from '../types';
|
|
2
|
+
export declare function createApiServiceEntry(service: {
|
|
3
|
+
id: string;
|
|
4
|
+
api?: WorkspaceApi;
|
|
5
|
+
}, contractImportPath: string): string;
|
|
6
|
+
export declare function createBackendEffectApiExpose(scope: string, service: WorkspaceApp): string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createApiClient, createShellApiClient } from './api/client';
|
|
2
|
+
export { apiTopologyMetadata } from './api/contracts';
|
|
3
|
+
export { verticalApiCreatePayloadSchemaExport, verticalApiErrorStem, verticalApiExport, verticalApiGroupName, verticalApiMarkerSchemaExport, verticalApiName, verticalApiNotFoundErrorExport, verticalApiNotFoundSchemaExport, verticalApiReadinessSchemaExport, verticalApiSchemaExport, } from './api/names';
|
|
4
|
+
export { createRpcApiServiceEntry, createRpcClientFile, createRpcContractFile, rpcPath, verticalRpcContractExport, verticalRpcGroupExport, } from './api/rpc';
|
|
5
|
+
export { createApiServiceEntry, createBackendEffectApiExpose, } from './api/service';
|
|
6
|
+
export { createSharedApi } from './api/shared';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WorkspaceApp } from './types';
|
|
2
|
+
export declare function createAppEnvDts(app: WorkspaceApp, remotes: WorkspaceApp[], scope: string): string;
|
|
3
|
+
export declare function createAppRuntimeConfig(app: WorkspaceApp, scope: string, remotes?: WorkspaceApp[], emitsUi?: boolean): string;
|
|
4
|
+
export declare function createAppStyles(enableTailwind: boolean, scope: string, app: WorkspaceApp): string;
|
|
5
|
+
export declare function createTailwindConfig(): string;
|
|
6
|
+
export declare function createSharedDesignTokensCss(): string;
|
|
7
|
+
export declare function createRouteHeadModule(app: WorkspaceApp): string;
|
|
8
|
+
export declare function createShellFrameComponent(shell?: WorkspaceApp): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_NODE_ADAPTER_VERSION } from '@modern-js/utils/universal';
|
|
2
|
+
import type { JsonValue, WorkspaceApp } from './types';
|
|
3
|
+
export { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_NODE_ADAPTER_VERSION, };
|
|
4
|
+
export declare function createWorkerBindingName(app: WorkspaceApp): string;
|
|
5
|
+
export declare function createWorkerBindingEnv(app: WorkspaceApp): string;
|
|
6
|
+
export declare function createDispatchWorkerNameEnv(app: WorkspaceApp): string;
|
|
7
|
+
export declare function createServerExecutionOverlay(scope: string, app: WorkspaceApp): JsonValue | undefined;
|
|
8
|
+
export declare function createBackendFederationContract(scope: string, app: WorkspaceApp): JsonValue | undefined;
|
|
9
|
+
export declare function createBackendFederationMetadata(scope: string, app: WorkspaceApp): JsonValue | undefined;
|
|
10
|
+
export declare function createBackendFederationContractFile(app: WorkspaceApp): string;
|
|
11
|
+
export declare function createBackendFederationSummary(scope: string, app: WorkspaceApp): JsonValue | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultReactSingletons: readonly ['react', 'react-dom', 'react-dom/client'];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type UltramodernBridgeGate, type UltramodernBridgeGateInput } from './schema';
|
|
2
|
+
export declare function readBridgeGates(args: string[]): UltramodernBridgeGate[];
|
|
3
|
+
export declare function normalizeBridgeGates(gates: readonly UltramodernBridgeGateInput[]): UltramodernBridgeGate[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { hasUltramodernBridgeCliOptions, parseUltramodernBridgeCliOptions, } from './cli';
|
|
2
|
+
export { normalizeUltramodernBridgeConfig } from './normalize';
|
|
3
|
+
export type { UltramodernBridgeConfig, UltramodernBridgeConfigInput, UltramodernBridgeGate, UltramodernBridgeGateInput, UltramodernBridgeLockfilePolicy, UltramodernBridgeTestAlias, UltramodernBridgeWorkspacePackage, UltramodernBridgeWorkspacePackageInput, UltramodernEnabledBridgeConfigInput, } from './schema';
|
|
4
|
+
export { ultramodernBridgeCliBooleanFlags, ultramodernBridgeCliFlags, ultramodernBridgeCliValueFlags, ultramodernBridgeLockfilePolicies, } from './schema';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const ultramodernBridgeCliFlags: {
|
|
2
|
+
readonly enabled: '--bridge';
|
|
3
|
+
readonly parentRoot: '--bridge-parent-root';
|
|
4
|
+
readonly workspacePackage: '--bridge-workspace-package';
|
|
5
|
+
readonly workspacePackageName: '--bridge-workspace-package-name';
|
|
6
|
+
readonly testAlias: '--bridge-test-alias';
|
|
7
|
+
readonly dependency: '--bridge-dependency';
|
|
8
|
+
readonly lockfilePolicy: '--bridge-lockfile-policy';
|
|
9
|
+
readonly gate: '--bridge-gate';
|
|
10
|
+
readonly gateCwd: '--bridge-gate-cwd';
|
|
11
|
+
readonly reactSingleton: '--bridge-react-singleton';
|
|
12
|
+
};
|
|
13
|
+
export declare const ultramodernBridgeCliValueFlags: readonly ["--bridge-parent-root", "--bridge-workspace-package", "--bridge-workspace-package-name", "--bridge-test-alias", "--bridge-dependency", "--bridge-lockfile-policy", "--bridge-gate", "--bridge-gate-cwd", "--bridge-react-singleton"];
|
|
14
|
+
export declare const ultramodernBridgeCliBooleanFlags: readonly ["--bridge"];
|
|
15
|
+
export declare const ultramodernBridgeLockfilePolicies: readonly ['nested', 'parent'];
|
|
16
|
+
export type UltramodernBridgeLockfilePolicy = (typeof ultramodernBridgeLockfilePolicies)[number];
|
|
17
|
+
export type UltramodernBridgeTestAlias = {
|
|
18
|
+
alias: string;
|
|
19
|
+
target: string;
|
|
20
|
+
};
|
|
21
|
+
export type UltramodernBridgeWorkspacePackage = {
|
|
22
|
+
pattern: string;
|
|
23
|
+
packageNames?: string[];
|
|
24
|
+
testAliases?: UltramodernBridgeTestAlias[];
|
|
25
|
+
};
|
|
26
|
+
export type UltramodernBridgeGate = {
|
|
27
|
+
name: string;
|
|
28
|
+
command: string;
|
|
29
|
+
cwd?: string;
|
|
30
|
+
};
|
|
31
|
+
export type UltramodernBridgeConfig = {
|
|
32
|
+
enabled: true;
|
|
33
|
+
parentRoot: string;
|
|
34
|
+
workspacePackages: UltramodernBridgeWorkspacePackage[];
|
|
35
|
+
dependencies: string[];
|
|
36
|
+
lockfilePolicy: UltramodernBridgeLockfilePolicy;
|
|
37
|
+
gates: UltramodernBridgeGate[];
|
|
38
|
+
reactSingletons: string[];
|
|
39
|
+
};
|
|
40
|
+
export type UltramodernBridgeWorkspacePackageInput = {
|
|
41
|
+
pattern: string;
|
|
42
|
+
packageNames?: readonly string[];
|
|
43
|
+
testAliases?: readonly UltramodernBridgeTestAlias[];
|
|
44
|
+
};
|
|
45
|
+
export type UltramodernBridgeGateInput = {
|
|
46
|
+
name: string;
|
|
47
|
+
command: string;
|
|
48
|
+
cwd?: string;
|
|
49
|
+
};
|
|
50
|
+
export type UltramodernEnabledBridgeConfigInput = {
|
|
51
|
+
enabled?: true;
|
|
52
|
+
parentRoot: string;
|
|
53
|
+
workspacePackages: readonly UltramodernBridgeWorkspacePackageInput[];
|
|
54
|
+
dependencies: readonly string[];
|
|
55
|
+
lockfilePolicy?: UltramodernBridgeLockfilePolicy;
|
|
56
|
+
gates: readonly UltramodernBridgeGateInput[];
|
|
57
|
+
reactSingletons?: readonly string[];
|
|
58
|
+
};
|
|
59
|
+
export type UltramodernBridgeConfigInput = UltramodernEnabledBridgeConfigInput | {
|
|
60
|
+
enabled: false;
|
|
61
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { UltramodernBridgeLockfilePolicy } from './schema';
|
|
2
|
+
export declare function rejectBooleanFlagValues(args: string[]): void;
|
|
3
|
+
export declare function readRepeatedOptionValues(args: string[], flag: string): string[];
|
|
4
|
+
export declare function readSingleValue(args: string[], flag: string): string | undefined;
|
|
5
|
+
export declare function readCsvOptionValues(args: string[], flag: string): string[];
|
|
6
|
+
export declare function requireNonEmptyValue(value: unknown, label: string): string;
|
|
7
|
+
export declare function parseLockfilePolicy(value: string): UltramodernBridgeLockfilePolicy;
|
|
8
|
+
export declare function splitAssignment(value: string, flag: string, usage: string): {
|
|
9
|
+
left: string;
|
|
10
|
+
right: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function uniqueNonEmptyValues(values: readonly string[], label: string): string[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UltramodernBridgeWorkspacePackage } from './schema';
|
|
2
|
+
export declare function validateParentPackageCoverage(workspacePackages: readonly UltramodernBridgeWorkspacePackage[], dependencies: readonly string[]): void;
|
|
3
|
+
export declare function validateReactSingletons(reactSingletons: readonly string[]): void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type UltramodernBridgeWorkspacePackage, type UltramodernBridgeWorkspacePackageInput } from './schema';
|
|
2
|
+
export declare function readWorkspacePackages(args: string[]): UltramodernBridgeWorkspacePackage[];
|
|
3
|
+
export declare function normalizeWorkspacePackages(workspacePackages: readonly UltramodernBridgeWorkspacePackageInput[]): UltramodernBridgeWorkspacePackage[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './bridge-config/index';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { UltramodernGenerationResult, UltramodernVerticalPlan, UltramodernWorkspaceOptions, VerticalApiProtocol, VerticalPreset } from './public-api';
|
|
2
|
+
type UltramodernCodeSmithMode = 'workspace' | 'vertical';
|
|
3
|
+
type UltramodernCodeSmithConfig = {
|
|
4
|
+
mode?: UltramodernCodeSmithMode;
|
|
5
|
+
name?: string;
|
|
6
|
+
targetName?: string;
|
|
7
|
+
packageName?: string;
|
|
8
|
+
targetDir?: string;
|
|
9
|
+
workspaceRoot?: string;
|
|
10
|
+
modernVersion?: string;
|
|
11
|
+
enableTailwind?: boolean;
|
|
12
|
+
tailwind?: boolean;
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
logResult?: boolean;
|
|
15
|
+
bridge?: UltramodernWorkspaceOptions['bridge'];
|
|
16
|
+
overlays?: UltramodernWorkspaceOptions['overlays'];
|
|
17
|
+
packageSource?: UltramodernWorkspaceOptions['packageSource'];
|
|
18
|
+
/** Vertical generation preset (G2a). Vertical mode only. */
|
|
19
|
+
preset?: VerticalPreset;
|
|
20
|
+
/** API protocol (G7a). Vertical mode only. */
|
|
21
|
+
apiProtocol?: VerticalApiProtocol;
|
|
22
|
+
/** Generate a components-only Horizontal Remote unit (G2H). Vertical mode. */
|
|
23
|
+
horizontalRemote?: boolean;
|
|
24
|
+
packageSourceStrategy?: NonNullable<UltramodernWorkspaceOptions['packageSource']>['strategy'];
|
|
25
|
+
modernPackageVersion?: string;
|
|
26
|
+
registry?: string;
|
|
27
|
+
aliasScope?: string;
|
|
28
|
+
aliasPackageNamePrefix?: string;
|
|
29
|
+
};
|
|
30
|
+
type UltramodernCodeSmithResult = UltramodernGenerationResult | UltramodernVerticalPlan;
|
|
31
|
+
type CodeSmithPromptQuestion = {
|
|
32
|
+
type: 'input' | 'list';
|
|
33
|
+
name: string;
|
|
34
|
+
message: string;
|
|
35
|
+
choices?: string[];
|
|
36
|
+
};
|
|
37
|
+
type CodeSmithPrompt = (questions: CodeSmithPromptQuestion[]) => Promise<Record<string, unknown>>;
|
|
38
|
+
type CodeSmithLogger = {
|
|
39
|
+
info?: (...messages: unknown[]) => void;
|
|
40
|
+
};
|
|
41
|
+
type UltramodernCodeSmithContext = {
|
|
42
|
+
config?: UltramodernCodeSmithConfig;
|
|
43
|
+
data?: Record<string, unknown>;
|
|
44
|
+
materials?: {
|
|
45
|
+
default?: {
|
|
46
|
+
basePath?: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
prompt?: CodeSmithPrompt;
|
|
50
|
+
inquirer?: {
|
|
51
|
+
prompt?: CodeSmithPrompt;
|
|
52
|
+
};
|
|
53
|
+
logger?: CodeSmithLogger;
|
|
54
|
+
};
|
|
55
|
+
type UltramodernCodeSmithRuntime = {
|
|
56
|
+
outputPath?: string;
|
|
57
|
+
logger?: CodeSmithLogger;
|
|
58
|
+
};
|
|
59
|
+
export default function ultramodernCodeSmithAdapter(context: UltramodernCodeSmithContext, runtime?: UltramodernCodeSmithRuntime): Promise<UltramodernCodeSmithResult>;
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { UltramodernBridgeConfig } from './bridge-config';
|
|
2
|
+
import type { JsonValue, ResolvedPackageSource, WorkspaceApp } from './types';
|
|
3
|
+
export declare function createTopology(scope: string, remotes?: WorkspaceApp[], primaryShell?: WorkspaceApp): JsonValue;
|
|
4
|
+
export declare function createOwnership(scope: string, remotes?: WorkspaceApp[]): JsonValue;
|
|
5
|
+
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;
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical MicroVertical delivery contracts (W4).
|
|
3
|
+
*
|
|
4
|
+
* This module DEFINES the canonical shapes only. It is intentionally UNWIRED:
|
|
5
|
+
* no generator, normalizer, or runtime path imports it, and it does not change
|
|
6
|
+
* any emitted output. The v1 down-projection here is a pure, tested function;
|
|
7
|
+
* it is not invoked by any generation path.
|
|
8
|
+
*
|
|
9
|
+
* Binding vocabulary: root `CONTEXT.md`, ADR-0019 (Federated Loading, Unified
|
|
10
|
+
* Delivery), ADR-0020 (Zoned Surface Versioning). See `packages/toolkit/ultramodern-create/delivery-unit-schema-SPEC.md` for the
|
|
11
|
+
* SurfaceRef grammar, invariants, and the v1 mapping table.
|
|
12
|
+
*
|
|
13
|
+
* TS constraint: plain types + pure functions only. This file is scanned by
|
|
14
|
+
* `tsgo-boundary.test.ts`; it must never import TypeScript compiler APIs.
|
|
15
|
+
*/
|
|
16
|
+
import { type DeliveryUnitRecord } from '@modern-js/utils/universal';
|
|
17
|
+
import { type JsonObject, type Ownership, type WorkspaceApp } from '../types';
|
|
18
|
+
/**
|
|
19
|
+
* The single accountable owner of a delivery unit. Exactly one owner per unit
|
|
20
|
+
* (CONTEXT.md: "MicroVertical never [has more than] one owner").
|
|
21
|
+
*/
|
|
22
|
+
export type DeliveryUnitOwner = {
|
|
23
|
+
kind: 'team' | 'agent' | 'agent-team';
|
|
24
|
+
id: string;
|
|
25
|
+
contact?: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Exact platform-baseline pins resolved for this unit. Composition-time
|
|
29
|
+
* singletons only (CONTEXT.md: Platform Baseline). Verticals never pick their
|
|
30
|
+
* own version; the cohort is advanced platform-wide.
|
|
31
|
+
*/
|
|
32
|
+
export type BaselineCohortResolved = {
|
|
33
|
+
react: string;
|
|
34
|
+
tanstackRouter: string;
|
|
35
|
+
effect: string;
|
|
36
|
+
tailwind: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* A baseline cohort is an opaque, stable id plus the exact record it resolves
|
|
40
|
+
* to. The id is the unit of comparison; the resolved record is the evidence.
|
|
41
|
+
*/
|
|
42
|
+
export type BaselineCohort = {
|
|
43
|
+
cohortId: string;
|
|
44
|
+
resolved: BaselineCohortResolved;
|
|
45
|
+
};
|
|
46
|
+
export type ExternalRetirement = {
|
|
47
|
+
/** SurfaceRef (canonical string) of the successor major, when known. */
|
|
48
|
+
supersededBy?: string;
|
|
49
|
+
/** Opaque retirement marker (window id / date string), owner-defined. */
|
|
50
|
+
sunsetAfter?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* External-publication terms. A breaking change ships as a new major exposed
|
|
54
|
+
* side by side with the previous major until known consumers migrate.
|
|
55
|
+
*/
|
|
56
|
+
export type ExternalPublication = {
|
|
57
|
+
surfaceMajor: number;
|
|
58
|
+
/** Opaque compatible-baseline descriptor (e.g. a cohort range id). */
|
|
59
|
+
baselineCompatibility: string;
|
|
60
|
+
retirement?: ExternalRetirement;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Zone discriminated union. `external` carries its terms atomically: it is a
|
|
64
|
+
* type error to be in the external zone without an {@link ExternalPublication}
|
|
65
|
+
* record. Default is `coordinated` (see {@link resolvePublicationZone}).
|
|
66
|
+
*/
|
|
67
|
+
export type PublicationZone = {
|
|
68
|
+
zone: 'coordinated';
|
|
69
|
+
} | {
|
|
70
|
+
zone: 'external';
|
|
71
|
+
external: ExternalPublication;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* A concrete per-platform location for a surface. Discriminated on `platform`
|
|
75
|
+
* so each platform carries only the address shape it can actually resolve.
|
|
76
|
+
* (ADR-0019 §3: UI/API/backend addresses are derived, platform-appropriate.)
|
|
77
|
+
*/
|
|
78
|
+
export type SurfaceLocation = {
|
|
79
|
+
platform: 'browser-mf';
|
|
80
|
+
manifestUrl: string;
|
|
81
|
+
} | {
|
|
82
|
+
platform: 'node-mf';
|
|
83
|
+
manifestUrl: string;
|
|
84
|
+
} | {
|
|
85
|
+
platform: 'http';
|
|
86
|
+
address: string;
|
|
87
|
+
} | {
|
|
88
|
+
platform: 'cloudflare-binding';
|
|
89
|
+
serviceBinding: string;
|
|
90
|
+
};
|
|
91
|
+
export type SurfaceKind = 'component' | 'route' | 'api' | 'backend';
|
|
92
|
+
export type ApiProtocol = 'rest' | 'rpc' | 'graphql';
|
|
93
|
+
type SurfaceCommon = {
|
|
94
|
+
surfaceId: string;
|
|
95
|
+
/** Per-platform locations. Never mixed across delivery-unit build markers. */
|
|
96
|
+
locations: SurfaceLocation[];
|
|
97
|
+
/**
|
|
98
|
+
* Marks a surface as externally consumable. It inherits the unit's zone:
|
|
99
|
+
* only meaningful when the unit's {@link PublicationZone} is `external`.
|
|
100
|
+
*/
|
|
101
|
+
externallyPublished?: boolean;
|
|
102
|
+
/** Unknown/forward-compatible fields preserved verbatim on round-trip. */
|
|
103
|
+
unknownFields?: JsonObject;
|
|
104
|
+
};
|
|
105
|
+
export type ComponentSurfaceDescriptor = SurfaceCommon & {
|
|
106
|
+
kind: 'component';
|
|
107
|
+
};
|
|
108
|
+
export type RouteSurfaceDescriptor = SurfaceCommon & {
|
|
109
|
+
kind: 'route';
|
|
110
|
+
};
|
|
111
|
+
export type ApiSurfaceDescriptor = SurfaceCommon & {
|
|
112
|
+
kind: 'api';
|
|
113
|
+
protocol: ApiProtocol;
|
|
114
|
+
};
|
|
115
|
+
export type BackendSurfaceDescriptor = SurfaceCommon & {
|
|
116
|
+
kind: 'backend';
|
|
117
|
+
};
|
|
118
|
+
export type SurfaceDescriptor = ComponentSurfaceDescriptor | RouteSurfaceDescriptor | ApiSurfaceDescriptor | BackendSurfaceDescriptor;
|
|
119
|
+
export type DeliveryUnitKind = 'microvertical' | 'shell' | 'horizontal-remote';
|
|
120
|
+
/**
|
|
121
|
+
* The canonical authoring shape for one indivisible delivery unit. All surfaces
|
|
122
|
+
* derive from the single `sourceRevision` / `buildMarker` identity root
|
|
123
|
+
* (ADR-0019 invariants 1-2). This is a superset of today's v1 `WorkspaceApp`;
|
|
124
|
+
* see {@link projectDeliveryUnitToV1} for the lossy down-projection.
|
|
125
|
+
*/
|
|
126
|
+
export type DeliveryUnitDescriptor = {
|
|
127
|
+
unitId: string;
|
|
128
|
+
kind: DeliveryUnitKind;
|
|
129
|
+
owner: DeliveryUnitOwner;
|
|
130
|
+
sourceRevision: string;
|
|
131
|
+
buildMarker: string;
|
|
132
|
+
baselineCohort: BaselineCohort;
|
|
133
|
+
/** Defaults to `{ zone: 'coordinated' }` when omitted. */
|
|
134
|
+
publicationZone?: PublicationZone;
|
|
135
|
+
surfaces: SurfaceDescriptor[];
|
|
136
|
+
/** Unknown/forward-compatible fields preserved verbatim on round-trip. */
|
|
137
|
+
unknownFields?: JsonObject;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* A resolved surface. It carries NO build marker of its own: the marker lives
|
|
141
|
+
* once on the {@link ResolvedDeliveryUnit}, so a resolver structurally cannot
|
|
142
|
+
* mix locations from different markers (ADR-0019 §3, invariant 3).
|
|
143
|
+
*/
|
|
144
|
+
export type ResolvedSurface = {
|
|
145
|
+
surfaceId: string;
|
|
146
|
+
kind: SurfaceKind;
|
|
147
|
+
locations: SurfaceLocation[];
|
|
148
|
+
};
|
|
149
|
+
export type CompatibilityStatus = 'compatible' | 'incompatible' | 'degraded';
|
|
150
|
+
export type CompatibilityVerdict = {
|
|
151
|
+
status: CompatibilityStatus;
|
|
152
|
+
/** Baseline cohort id the verdict was computed against. */
|
|
153
|
+
baselineCohortId: string;
|
|
154
|
+
reason?: string;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Atomic resolution result. Every platform location for the unit is resolved
|
|
158
|
+
* together against ONE `buildMarker` / `sourceRevision`. There is no partial
|
|
159
|
+
* shape: a resolver returns a whole {@link ResolvedDeliveryUnit} or a typed
|
|
160
|
+
* failure — never a per-surface mix of markers. This shape is the W5/W7
|
|
161
|
+
* contract checkpoint.
|
|
162
|
+
*/
|
|
163
|
+
export type ResolvedDeliveryUnit = {
|
|
164
|
+
unitId: string;
|
|
165
|
+
buildMarker: string;
|
|
166
|
+
sourceRevision: string;
|
|
167
|
+
baselineCohortId: string;
|
|
168
|
+
surfaces: ResolvedSurface[];
|
|
169
|
+
compatibility: CompatibilityVerdict;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Parsed form of a SurfaceRef. Canonical string form is `unitId#surfaceId`
|
|
173
|
+
* with an optional `@vN` major suffix. See `packages/toolkit/ultramodern-create/delivery-unit-schema-SPEC.md` for the EBNF.
|
|
174
|
+
*/
|
|
175
|
+
export type ParsedSurfaceRef = {
|
|
176
|
+
unitId: string;
|
|
177
|
+
surfaceId: string;
|
|
178
|
+
/** External-major selector. Absent means "the coordinated-zone surface". */
|
|
179
|
+
major?: number;
|
|
180
|
+
};
|
|
181
|
+
export type SurfaceRefParseError = {
|
|
182
|
+
code: 'empty';
|
|
183
|
+
} | {
|
|
184
|
+
code: 'missing-surface-separator';
|
|
185
|
+
} | {
|
|
186
|
+
code: 'multiple-surface-separators';
|
|
187
|
+
} | {
|
|
188
|
+
code: 'empty-unit-id';
|
|
189
|
+
} | {
|
|
190
|
+
code: 'invalid-unit-id';
|
|
191
|
+
segment: string;
|
|
192
|
+
} | {
|
|
193
|
+
code: 'empty-surface-id';
|
|
194
|
+
} | {
|
|
195
|
+
code: 'invalid-surface-id';
|
|
196
|
+
} | {
|
|
197
|
+
code: 'empty-major';
|
|
198
|
+
} | {
|
|
199
|
+
code: 'invalid-major';
|
|
200
|
+
value: string;
|
|
201
|
+
};
|
|
202
|
+
export type SurfaceRefParseResult = {
|
|
203
|
+
ok: true;
|
|
204
|
+
ref: ParsedSurfaceRef;
|
|
205
|
+
} | {
|
|
206
|
+
ok: false;
|
|
207
|
+
error: SurfaceRefParseError;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Parse a canonical SurfaceRef string. Total function: every rejection is a
|
|
211
|
+
* typed {@link SurfaceRefParseError}; never throws.
|
|
212
|
+
*/
|
|
213
|
+
export declare function parseSurfaceRef(input: string): SurfaceRefParseResult;
|
|
214
|
+
/**
|
|
215
|
+
* Render a {@link ParsedSurfaceRef} back to its canonical string form.
|
|
216
|
+
*
|
|
217
|
+
* Direct inputs are checked against the same invariant as parsed references,
|
|
218
|
+
* so this formatter cannot emit a string that {@link parseSurfaceRef} rejects.
|
|
219
|
+
*/
|
|
220
|
+
export declare function formatSurfaceRef(ref: ParsedSurfaceRef): string;
|
|
221
|
+
/** Apply the zone default (coordinated) invariant. */
|
|
222
|
+
export declare function resolvePublicationZone(zone: PublicationZone | undefined): PublicationZone;
|
|
223
|
+
/**
|
|
224
|
+
* Parse a JSON object into a {@link DeliveryUnitDescriptor}, capturing any
|
|
225
|
+
* unrecognised top-level and per-surface keys into `unknownFields` so a later
|
|
226
|
+
* {@link serializeDeliveryUnitDescriptor} can round-trip them verbatim.
|
|
227
|
+
*
|
|
228
|
+
* This is contract-shape capture, not strict validation (that is W3's job);
|
|
229
|
+
* known fields are trusted to already have their declared shapes.
|
|
230
|
+
*/
|
|
231
|
+
export declare function parseDeliveryUnitDescriptor(source: JsonObject): DeliveryUnitDescriptor;
|
|
232
|
+
/**
|
|
233
|
+
* Serialize a {@link DeliveryUnitDescriptor} back to a JSON object. Preserved
|
|
234
|
+
* `unknownFields` are spread back at their original level; known keys always
|
|
235
|
+
* win over a colliding unknown key.
|
|
236
|
+
*/
|
|
237
|
+
export declare function serializeDeliveryUnitDescriptor(descriptor: DeliveryUnitDescriptor): JsonObject;
|
|
238
|
+
/**
|
|
239
|
+
* Generator-only fields that have no source in the canonical descriptor (port
|
|
240
|
+
* assignment, directory layout, package identity, ownership metadata). The
|
|
241
|
+
* descriptor deliberately does not own these; the v1 projection needs them to
|
|
242
|
+
* reconstruct today's `WorkspaceApp` / `DeliveryUnitRecord`.
|
|
243
|
+
*/
|
|
244
|
+
export type V1ProjectionContext = {
|
|
245
|
+
/**
|
|
246
|
+
* Which v1 wire vocabulary is being projected onto. Strict legacy v1 only
|
|
247
|
+
* carries the historical WorkspaceApp fields; extended-v1 also carries the
|
|
248
|
+
* additive delivery-unit discriminators introduced by the workspace
|
|
249
|
+
* topology format.
|
|
250
|
+
*/
|
|
251
|
+
mode?: V1ProjectionMode;
|
|
252
|
+
directory: string;
|
|
253
|
+
packageSuffix: string;
|
|
254
|
+
displayName: string;
|
|
255
|
+
portEnv: string;
|
|
256
|
+
port: number;
|
|
257
|
+
mfName: string;
|
|
258
|
+
ownership: Ownership;
|
|
259
|
+
packageName: string;
|
|
260
|
+
version: string;
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* The two v1 wire vocabularies understood by the projection pair.
|
|
264
|
+
*
|
|
265
|
+
* `strict-legacy` is the original v1 shape and intentionally rejects values
|
|
266
|
+
* that would be silently collapsed by it. `extended-v1` is still schema
|
|
267
|
+
* version 1, but permits the additive `deliveryUnitKind` and `api.protocol`
|
|
268
|
+
* fields used by the UltraModern topology/config readers.
|
|
269
|
+
*/
|
|
270
|
+
export type V1ProjectionMode = 'strict-legacy' | 'extended-v1';
|
|
271
|
+
export type DeliveryUnitV1Projection = {
|
|
272
|
+
app: WorkspaceApp;
|
|
273
|
+
deliveryUnitRecord: DeliveryUnitRecord;
|
|
274
|
+
/** Unknown descriptor-level fields, preserved for lossless re-serialization. */
|
|
275
|
+
preservedUnknownFields: JsonObject;
|
|
276
|
+
};
|
|
277
|
+
/**
|
|
278
|
+
* Down-project a canonical {@link DeliveryUnitDescriptor} onto today's v1
|
|
279
|
+
* `WorkspaceApp` + `DeliveryUnitRecord` shapes. Pure and total.
|
|
280
|
+
*
|
|
281
|
+
* Invariant (schema-only migration preserves markers): `buildMarker`,
|
|
282
|
+
* `sourceRevision`, and `unitId` flow straight through from the descriptor and
|
|
283
|
+
* are never regenerated here. See `packages/toolkit/ultramodern-create/delivery-unit-schema-SPEC.md` for the field-by-field table.
|
|
284
|
+
*
|
|
285
|
+
* NOT wired into any generator path.
|
|
286
|
+
*/
|
|
287
|
+
export declare function projectDeliveryUnitToV1(descriptor: DeliveryUnitDescriptor, context: V1ProjectionContext): DeliveryUnitV1Projection;
|
|
288
|
+
/** Compile-time exhaustiveness guard for discriminated-union switches. */
|
|
289
|
+
export declare function assertNever(value: never): never;
|
|
290
|
+
export {};
|