@bleedingdev/modern-js-create 3.5.0-ultramodern.9 → 3.5.0-ultramodern.90
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 +25 -25
- package/bin/run.js +0 -0
- package/dist/cjs/cli/flags.cjs +357 -0
- package/dist/cjs/cli/help.cjs +108 -0
- package/dist/cjs/cli/package-source.cjs +188 -0
- package/dist/cjs/cli/project-setup.cjs +162 -0
- package/dist/cjs/cli/prompts.cjs +100 -0
- package/dist/cjs/index.cjs +35 -585
- package/dist/cjs/locale/en.cjs +5 -6
- package/dist/cjs/locale/zh.cjs +5 -6
- package/dist/cjs/ultramodern-package-source.cjs +0 -32
- package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
- package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +136 -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 +50 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +100 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +100 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -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 +206 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -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 +148 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -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 +350 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +200 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +89 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +476 -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 +99 -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 +425 -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 +27 -491
- 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 +23 -133
- package/dist/cjs/ultramodern-workspace/add-shell.cjs +274 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +183 -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 +122 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +327 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
- package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
- 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 +251 -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 +270 -0
- package/dist/cjs/ultramodern-workspace/api.cjs +49 -1005
- package/dist/cjs/ultramodern-workspace/app-files.cjs +51 -69
- package/dist/cjs/ultramodern-workspace/backend-federation.cjs +346 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
- package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -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 +32 -297
- package/dist/cjs/ultramodern-workspace/codesmith.cjs +10 -1
- package/dist/cjs/ultramodern-workspace/contracts.cjs +80 -26
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +291 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +56 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +153 -0
- package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +474 -205
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +101 -16
- package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +26 -36
- package/dist/cjs/ultramodern-workspace/generation-result.cjs +36 -3
- package/dist/cjs/ultramodern-workspace/index.cjs +28 -0
- package/dist/cjs/ultramodern-workspace/locales.cjs +3 -17
- 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 +201 -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 +6 -529
- package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +336 -0
- package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -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 +18 -477
- package/dist/cjs/ultramodern-workspace/naming.cjs +1 -7
- package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
- package/dist/cjs/ultramodern-workspace/overlays.cjs +39 -5
- package/dist/cjs/ultramodern-workspace/package-json.cjs +54 -301
- package/dist/cjs/ultramodern-workspace/package-source.cjs +11 -2
- package/dist/cjs/ultramodern-workspace/policy.cjs +801 -24
- package/dist/cjs/ultramodern-workspace/public-surface.cjs +1 -22
- package/dist/cjs/ultramodern-workspace/routes.cjs +8 -157
- package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
- package/dist/cjs/ultramodern-workspace/shells.cjs +151 -0
- package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
- package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +200 -0
- package/dist/cjs/ultramodern-workspace/types.cjs +27 -0
- package/dist/cjs/ultramodern-workspace/versions.cjs +52 -37
- package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +174 -0
- package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +118 -88
- package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +642 -0
- package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +45 -67
- package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
- package/dist/esm/cli/flags.js +262 -0
- package/dist/esm/cli/help.js +67 -0
- package/dist/esm/cli/package-source.js +124 -0
- package/dist/esm/cli/project-setup.js +105 -0
- package/dist/esm/cli/prompts.js +51 -0
- package/dist/esm/index.js +19 -565
- package/dist/esm/locale/en.js +5 -6
- package/dist/esm/locale/zh.js +5 -6
- package/dist/esm/ultramodern-package-source.js +1 -24
- package/dist/esm/ultramodern-release-cohort.js +133 -0
- package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +88 -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 +12 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +45 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +51 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -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 +157 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -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 +97 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -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 +285 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +156 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +51 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +417 -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 +24 -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 +376 -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 +23 -482
- 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 -120
- package/dist/esm/ultramodern-workspace/add-shell.js +221 -0
- package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
- package/dist/esm/ultramodern-workspace/add-vertical/execute.js +135 -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 +65 -0
- package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
- package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +254 -0
- package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
- package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
- 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 +201 -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 -984
- package/dist/esm/ultramodern-workspace/app-files.js +51 -51
- package/dist/esm/ultramodern-workspace/backend-federation.js +281 -0
- package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
- package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -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 -270
- package/dist/esm/ultramodern-workspace/codesmith.js +10 -1
- package/dist/esm/ultramodern-workspace/contracts.js +81 -27
- package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +235 -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 +104 -0
- package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
- package/dist/esm/ultramodern-workspace/demo-components.js +461 -204
- package/dist/esm/ultramodern-workspace/descriptors.js +75 -17
- package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
- package/dist/esm/ultramodern-workspace/fs-io.js +27 -18
- package/dist/esm/ultramodern-workspace/generation-result.js +33 -3
- package/dist/esm/ultramodern-workspace/index.js +4 -0
- package/dist/esm/ultramodern-workspace/locales.js +3 -4
- 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 +154 -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 -516
- package/dist/esm/ultramodern-workspace/module-federation/config.js +289 -0
- package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -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 +2 -458
- package/dist/esm/ultramodern-workspace/naming.js +2 -2
- package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
- package/dist/esm/ultramodern-workspace/overlays.js +28 -5
- package/dist/esm/ultramodern-workspace/package-json.js +48 -283
- package/dist/esm/ultramodern-workspace/package-source.js +7 -1
- package/dist/esm/ultramodern-workspace/policy.js +784 -10
- package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
- package/dist/esm/ultramodern-workspace/routes.js +9 -143
- package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
- package/dist/esm/ultramodern-workspace/shells.js +92 -0
- package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
- package/dist/esm/ultramodern-workspace/tsconfigs.js +137 -0
- package/dist/esm/ultramodern-workspace/types.js +16 -1
- package/dist/esm/ultramodern-workspace/versions.js +35 -26
- package/dist/esm/ultramodern-workspace/workspace-script-plan.js +124 -0
- package/dist/esm/ultramodern-workspace/workspace-scripts.js +115 -85
- package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +604 -0
- package/dist/esm/ultramodern-workspace/write-app.js +105 -0
- package/dist/esm/ultramodern-workspace/write-workspace.js +47 -66
- package/dist/esm/ultramodern-workspace/zerops.js +70 -0
- package/dist/esm-node/cli/flags.js +263 -0
- package/dist/esm-node/cli/help.js +68 -0
- package/dist/esm-node/cli/package-source.js +125 -0
- package/dist/esm-node/cli/project-setup.js +106 -0
- package/dist/esm-node/cli/prompts.js +52 -0
- package/dist/esm-node/index.js +19 -565
- package/dist/esm-node/locale/en.js +5 -6
- package/dist/esm-node/locale/zh.js +5 -6
- package/dist/esm-node/ultramodern-package-source.js +1 -24
- package/dist/esm-node/ultramodern-release-cohort.js +134 -0
- package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +89 -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 +13 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +46 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +52 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -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 +158 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -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 +98 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -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 +286 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +157 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +52 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +418 -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 +25 -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 +377 -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 +23 -482
- 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 +1 -120
- package/dist/esm-node/ultramodern-workspace/add-shell.js +222 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +136 -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 +66 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +255 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
- 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 +202 -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 +6 -984
- package/dist/esm-node/ultramodern-workspace/app-files.js +51 -51
- package/dist/esm-node/ultramodern-workspace/backend-federation.js +282 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
- package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -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 +1 -270
- package/dist/esm-node/ultramodern-workspace/codesmith.js +10 -1
- package/dist/esm-node/ultramodern-workspace/contracts.js +81 -27
- package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +236 -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 +105 -0
- package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
- package/dist/esm-node/ultramodern-workspace/demo-components.js +461 -204
- package/dist/esm-node/ultramodern-workspace/descriptors.js +75 -17
- package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
- package/dist/esm-node/ultramodern-workspace/fs-io.js +27 -18
- package/dist/esm-node/ultramodern-workspace/generation-result.js +33 -3
- package/dist/esm-node/ultramodern-workspace/index.js +4 -0
- package/dist/esm-node/ultramodern-workspace/locales.js +3 -4
- 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 +155 -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 +3 -516
- package/dist/esm-node/ultramodern-workspace/module-federation/config.js +290 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -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 +2 -458
- package/dist/esm-node/ultramodern-workspace/naming.js +2 -2
- package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
- package/dist/esm-node/ultramodern-workspace/overlays.js +28 -5
- package/dist/esm-node/ultramodern-workspace/package-json.js +48 -283
- package/dist/esm-node/ultramodern-workspace/package-source.js +7 -1
- package/dist/esm-node/ultramodern-workspace/policy.js +784 -10
- package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
- package/dist/esm-node/ultramodern-workspace/routes.js +9 -143
- package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
- package/dist/esm-node/ultramodern-workspace/shells.js +93 -0
- package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
- package/dist/esm-node/ultramodern-workspace/tsconfigs.js +138 -0
- package/dist/esm-node/ultramodern-workspace/types.js +16 -1
- package/dist/esm-node/ultramodern-workspace/versions.js +35 -26
- package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +125 -0
- package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +115 -85
- package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +605 -0
- package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +47 -66
- package/dist/esm-node/ultramodern-workspace/zerops.js +71 -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/locale/en.d.ts +3 -4
- package/dist/types/locale/index.d.ts +6 -8
- package/dist/types/locale/zh.d.ts +3 -4
- package/dist/types/ultramodern-package-source.d.ts +0 -11
- 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-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 +7 -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 +20 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -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 +27 -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 +10 -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 -1
- 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 -43
- 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 +6 -0
- package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
- package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +80 -0
- package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
- package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
- 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 +15 -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 +10 -0
- package/dist/types/ultramodern-workspace/api.d.ts +6 -73
- package/dist/types/ultramodern-workspace/app-files.d.ts +4 -10
- 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 -64
- package/dist/types/ultramodern-workspace/codesmith.d.ts +12 -6
- package/dist/types/ultramodern-workspace/contracts.d.ts +3 -3
- package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +291 -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 +3 -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 +14 -3
- package/dist/types/ultramodern-workspace/descriptors.d.ts +27 -3
- package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
- package/dist/types/ultramodern-workspace/fs-io.d.ts +2 -8
- package/dist/types/ultramodern-workspace/generation-result.d.ts +3 -1
- package/dist/types/ultramodern-workspace/index.d.ts +6 -1
- package/dist/types/ultramodern-workspace/locales.d.ts +1 -133
- 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 +5 -0
- package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
- package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
- package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
- package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
- package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -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 +2 -17
- package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
- package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
- package/dist/types/ultramodern-workspace/package-json.d.ts +2 -17
- package/dist/types/ultramodern-workspace/package-source.d.ts +1 -0
- package/dist/types/ultramodern-workspace/policy.d.ts +254 -47
- package/dist/types/ultramodern-workspace/public-api.d.ts +1 -1
- package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
- package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
- package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
- package/dist/types/ultramodern-workspace/shells.d.ts +51 -0
- package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
- package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
- package/dist/types/ultramodern-workspace/types.d.ts +134 -3
- package/dist/types/ultramodern-workspace/versions.d.ts +35 -26
- package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
- package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +15 -5
- package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +243 -0
- package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +3 -3
- package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
- package/package.json +15 -13
- package/template-workspace/.gitignore.handlebars +8 -0
- package/template-workspace/.modernjs/release-cohort.json +208 -0
- package/template-workspace/AGENTS.md.handlebars +16 -89
- package/template-workspace/README.md.handlebars +17 -16
- package/template-workspace/patches/@module-federation__bridge-react@2.8.0.patch +185 -0
- package/template-workspace/patches/@module-federation__modern-js-v3@2.8.0.patch +259 -0
- package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
- package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
- package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
- package/template-workspace/pnpm-workspace.yaml.handlebars +8 -25
- package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
- package/templates/app/shell-frame.tsx +5 -4
- package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
- package/templates/workspace/apps/modern.config.ts.handlebars +191 -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/assert-mf-types.mjs.handlebars +4 -4
- package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
- package/templates/workspace-scripts/generate-node-backend-federation.mjs +379 -0
- package/templates/workspace-scripts/generate-public-surface-assets.mjs +5 -5
- package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
- package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
- package/templates/workspace-scripts/proof-node-backend-federation.mjs +1223 -0
- package/templates/workspace-scripts/proof-workerd-ssr.mts +815 -0
- package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
- package/templates/workspace-scripts/ultramodern-typecheck.mjs +6 -46
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +2436 -258
- package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=20"
|
|
23
23
|
},
|
|
24
|
-
"version": "3.5.0-ultramodern.
|
|
24
|
+
"version": "3.5.0-ultramodern.90",
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
26
|
"main": "./dist/esm-node/index.js",
|
|
27
27
|
"bin": {
|
|
@@ -75,20 +75,21 @@
|
|
|
75
75
|
],
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@modern-js/codesmith": "2.6.9",
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
78
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.90",
|
|
79
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.90",
|
|
80
|
+
"esbuild": "^0.28.1",
|
|
81
|
+
"oxfmt": "0.58.0",
|
|
82
|
+
"ultracite": "7.9.3"
|
|
81
83
|
},
|
|
82
84
|
"devDependencies": {
|
|
83
|
-
"@rslib/core": "0.23.
|
|
84
|
-
"@
|
|
85
|
-
"@
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
85
|
+
"@rslib/core": "0.23.2",
|
|
86
|
+
"@scripts/rstest-config": "2.66.0",
|
|
87
|
+
"@types/node": "^26.1.1",
|
|
88
|
+
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
89
|
+
"tsx": "^4.23.0",
|
|
90
|
+
"typescript": "^7.0.2"
|
|
89
91
|
},
|
|
90
92
|
"publishConfig": {
|
|
91
|
-
"registry": "https://registry.npmjs.org/",
|
|
92
93
|
"access": "public"
|
|
93
94
|
},
|
|
94
95
|
"modern:source": "./src/index.ts",
|
|
@@ -96,9 +97,10 @@
|
|
|
96
97
|
"build": "rm -rf dist && rslib build -c rslibconfig.mts && pnpm -w tsgo:dts \"$PWD\"",
|
|
97
98
|
"dev": "rslib build -c rslibconfig.mts -w",
|
|
98
99
|
"start": "node ./dist/esm-node/index.js",
|
|
99
|
-
"test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
|
|
100
|
+
"test": "rm -rf dist && rslib build -c rslibconfig.mts && pnpm -w tsgo:dts \"$PWD\" && rstest --passWithNoTests",
|
|
101
|
+
"type-check": "tsgo --noEmit -p tsconfig.json"
|
|
100
102
|
},
|
|
101
103
|
"ultramodern": {
|
|
102
|
-
"frameworkVersion": "3.5.0-ultramodern.
|
|
104
|
+
"frameworkVersion": "3.5.0-ultramodern.90"
|
|
103
105
|
}
|
|
104
106
|
}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
node_modules/
|
|
2
2
|
dist/
|
|
3
|
+
dist-cloudflare/
|
|
4
|
+
.output/
|
|
5
|
+
**/.output/
|
|
3
6
|
build/
|
|
4
7
|
.modernjs/cache/
|
|
5
8
|
.modern-js/
|
|
6
9
|
**/.modern-js/
|
|
10
|
+
**/src/modern-tanstack/
|
|
11
|
+
**/.tsgo.*.resolved.json
|
|
12
|
+
.mf/
|
|
13
|
+
**/.mf/
|
|
7
14
|
.modernjs/agent-reference-repos-tmp/
|
|
8
15
|
.codex/reports/
|
|
16
|
+
.zerops/runtime/
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aliases": {
|
|
3
|
+
"@modern-js/adapter-rstest": "@bleedingdev/modern-js-adapter-rstest",
|
|
4
|
+
"@modern-js/app-tools": "@bleedingdev/modern-js-app-tools",
|
|
5
|
+
"@modern-js/bff-core": "@bleedingdev/modern-js-bff-core",
|
|
6
|
+
"@modern-js/bff-runtime": "@bleedingdev/modern-js-bff-runtime",
|
|
7
|
+
"@modern-js/builder": "@bleedingdev/modern-js-builder",
|
|
8
|
+
"@modern-js/code-tools": "@bleedingdev/modern-js-code-tools",
|
|
9
|
+
"@modern-js/create": "@bleedingdev/modern-js-create",
|
|
10
|
+
"@modern-js/create-request": "@bleedingdev/modern-js-create-request",
|
|
11
|
+
"@modern-js/i18n-utils": "@bleedingdev/modern-js-i18n-utils",
|
|
12
|
+
"@modern-js/image": "@bleedingdev/modern-js-image",
|
|
13
|
+
"@modern-js/main-doc": "@bleedingdev/modern-js-main-doc",
|
|
14
|
+
"@modern-js/plugin": "@bleedingdev/modern-js-plugin",
|
|
15
|
+
"@modern-js/plugin-bff": "@bleedingdev/modern-js-plugin-bff",
|
|
16
|
+
"@modern-js/plugin-data-loader": "@bleedingdev/modern-js-plugin-data-loader",
|
|
17
|
+
"@modern-js/plugin-i18n": "@bleedingdev/modern-js-plugin-i18n",
|
|
18
|
+
"@modern-js/plugin-polyfill": "@bleedingdev/modern-js-plugin-polyfill",
|
|
19
|
+
"@modern-js/plugin-ssg": "@bleedingdev/modern-js-plugin-ssg",
|
|
20
|
+
"@modern-js/plugin-styled-components": "@bleedingdev/modern-js-plugin-styled-components",
|
|
21
|
+
"@modern-js/plugin-tanstack": "@bleedingdev/modern-js-plugin-tanstack",
|
|
22
|
+
"@modern-js/prod-server": "@bleedingdev/modern-js-prod-server",
|
|
23
|
+
"@modern-js/render": "@bleedingdev/modern-js-render",
|
|
24
|
+
"@modern-js/runtime": "@bleedingdev/modern-js-runtime",
|
|
25
|
+
"@modern-js/runtime-utils": "@bleedingdev/modern-js-runtime-utils",
|
|
26
|
+
"@modern-js/sandpack-react": "@bleedingdev/modern-js-sandpack-react",
|
|
27
|
+
"@modern-js/server": "@bleedingdev/modern-js-server",
|
|
28
|
+
"@modern-js/server-core": "@bleedingdev/modern-js-server-core",
|
|
29
|
+
"@modern-js/server-runtime": "@bleedingdev/modern-js-server-runtime",
|
|
30
|
+
"@modern-js/server-runtime-extensions": "@bleedingdev/modern-js-server-runtime-extensions",
|
|
31
|
+
"@modern-js/server-utils": "@bleedingdev/modern-js-server-utils",
|
|
32
|
+
"@modern-js/tsconfig": "@bleedingdev/modern-js-tsconfig",
|
|
33
|
+
"@modern-js/types": "@bleedingdev/modern-js-types",
|
|
34
|
+
"@modern-js/utils": "@bleedingdev/modern-js-utils"
|
|
35
|
+
},
|
|
36
|
+
"packages": [
|
|
37
|
+
{
|
|
38
|
+
"sourceName": "@modern-js/adapter-rstest",
|
|
39
|
+
"targetName": "@bleedingdev/modern-js-adapter-rstest",
|
|
40
|
+
"version": "3.5.0-ultramodern.90"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"sourceName": "@modern-js/app-tools",
|
|
44
|
+
"targetName": "@bleedingdev/modern-js-app-tools",
|
|
45
|
+
"version": "3.5.0-ultramodern.90"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"sourceName": "@modern-js/bff-core",
|
|
49
|
+
"targetName": "@bleedingdev/modern-js-bff-core",
|
|
50
|
+
"version": "3.5.0-ultramodern.90"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"sourceName": "@modern-js/bff-runtime",
|
|
54
|
+
"targetName": "@bleedingdev/modern-js-bff-runtime",
|
|
55
|
+
"version": "3.5.0-ultramodern.90"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"sourceName": "@modern-js/builder",
|
|
59
|
+
"targetName": "@bleedingdev/modern-js-builder",
|
|
60
|
+
"version": "3.5.0-ultramodern.90"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"sourceName": "@modern-js/code-tools",
|
|
64
|
+
"targetName": "@bleedingdev/modern-js-code-tools",
|
|
65
|
+
"version": "3.5.0-ultramodern.90"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"sourceName": "@modern-js/create",
|
|
69
|
+
"targetName": "@bleedingdev/modern-js-create",
|
|
70
|
+
"version": "3.5.0-ultramodern.90"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"sourceName": "@modern-js/create-request",
|
|
74
|
+
"targetName": "@bleedingdev/modern-js-create-request",
|
|
75
|
+
"version": "3.5.0-ultramodern.90"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"sourceName": "@modern-js/i18n-utils",
|
|
79
|
+
"targetName": "@bleedingdev/modern-js-i18n-utils",
|
|
80
|
+
"version": "3.5.0-ultramodern.90"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"sourceName": "@modern-js/image",
|
|
84
|
+
"targetName": "@bleedingdev/modern-js-image",
|
|
85
|
+
"version": "3.5.0-ultramodern.90"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"sourceName": "@modern-js/main-doc",
|
|
89
|
+
"targetName": "@bleedingdev/modern-js-main-doc",
|
|
90
|
+
"version": "3.5.0-ultramodern.90"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"sourceName": "@modern-js/plugin",
|
|
94
|
+
"targetName": "@bleedingdev/modern-js-plugin",
|
|
95
|
+
"version": "3.5.0-ultramodern.90"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"sourceName": "@modern-js/plugin-bff",
|
|
99
|
+
"targetName": "@bleedingdev/modern-js-plugin-bff",
|
|
100
|
+
"version": "3.5.0-ultramodern.90"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"sourceName": "@modern-js/plugin-data-loader",
|
|
104
|
+
"targetName": "@bleedingdev/modern-js-plugin-data-loader",
|
|
105
|
+
"version": "3.5.0-ultramodern.90"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"sourceName": "@modern-js/plugin-i18n",
|
|
109
|
+
"targetName": "@bleedingdev/modern-js-plugin-i18n",
|
|
110
|
+
"version": "3.5.0-ultramodern.90"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"sourceName": "@modern-js/plugin-polyfill",
|
|
114
|
+
"targetName": "@bleedingdev/modern-js-plugin-polyfill",
|
|
115
|
+
"version": "3.5.0-ultramodern.90"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"sourceName": "@modern-js/plugin-ssg",
|
|
119
|
+
"targetName": "@bleedingdev/modern-js-plugin-ssg",
|
|
120
|
+
"version": "3.5.0-ultramodern.90"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"sourceName": "@modern-js/plugin-styled-components",
|
|
124
|
+
"targetName": "@bleedingdev/modern-js-plugin-styled-components",
|
|
125
|
+
"version": "3.5.0-ultramodern.90"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"sourceName": "@modern-js/plugin-tanstack",
|
|
129
|
+
"targetName": "@bleedingdev/modern-js-plugin-tanstack",
|
|
130
|
+
"version": "3.5.0-ultramodern.90"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"sourceName": "@modern-js/prod-server",
|
|
134
|
+
"targetName": "@bleedingdev/modern-js-prod-server",
|
|
135
|
+
"version": "3.5.0-ultramodern.90"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"sourceName": "@modern-js/render",
|
|
139
|
+
"targetName": "@bleedingdev/modern-js-render",
|
|
140
|
+
"version": "3.5.0-ultramodern.90"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"sourceName": "@modern-js/runtime",
|
|
144
|
+
"targetName": "@bleedingdev/modern-js-runtime",
|
|
145
|
+
"version": "3.5.0-ultramodern.90"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"sourceName": "@modern-js/runtime-utils",
|
|
149
|
+
"targetName": "@bleedingdev/modern-js-runtime-utils",
|
|
150
|
+
"version": "3.5.0-ultramodern.90"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"sourceName": "@modern-js/sandpack-react",
|
|
154
|
+
"targetName": "@bleedingdev/modern-js-sandpack-react",
|
|
155
|
+
"version": "3.5.0-ultramodern.90"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"sourceName": "@modern-js/server",
|
|
159
|
+
"targetName": "@bleedingdev/modern-js-server",
|
|
160
|
+
"version": "3.5.0-ultramodern.90"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"sourceName": "@modern-js/server-core",
|
|
164
|
+
"targetName": "@bleedingdev/modern-js-server-core",
|
|
165
|
+
"version": "3.5.0-ultramodern.90"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"sourceName": "@modern-js/server-runtime",
|
|
169
|
+
"targetName": "@bleedingdev/modern-js-server-runtime",
|
|
170
|
+
"version": "3.5.0-ultramodern.90"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"sourceName": "@modern-js/server-runtime-extensions",
|
|
174
|
+
"targetName": "@bleedingdev/modern-js-server-runtime-extensions",
|
|
175
|
+
"version": "3.5.0-ultramodern.90"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"sourceName": "@modern-js/server-utils",
|
|
179
|
+
"targetName": "@bleedingdev/modern-js-server-utils",
|
|
180
|
+
"version": "3.5.0-ultramodern.90"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"sourceName": "@modern-js/tsconfig",
|
|
184
|
+
"targetName": "@bleedingdev/modern-js-tsconfig",
|
|
185
|
+
"version": "3.5.0-ultramodern.90"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"sourceName": "@modern-js/types",
|
|
189
|
+
"targetName": "@bleedingdev/modern-js-types",
|
|
190
|
+
"version": "3.5.0-ultramodern.90"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"sourceName": "@modern-js/utils",
|
|
194
|
+
"targetName": "@bleedingdev/modern-js-utils",
|
|
195
|
+
"version": "3.5.0-ultramodern.90"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"release": {
|
|
199
|
+
"tag": "latest",
|
|
200
|
+
"version": "3.5.0-ultramodern.90"
|
|
201
|
+
},
|
|
202
|
+
"schema": "bleedingdev.ultramodern.release-cohort",
|
|
203
|
+
"schemaVersion": 1,
|
|
204
|
+
"source": {
|
|
205
|
+
"commit": "2c97f471e61e0d312120bb4efb98bf043661ec0e",
|
|
206
|
+
"repository": "BleedingDev/ultramodern.js"
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -1,94 +1,21 @@
|
|
|
1
|
-
# UltraModern
|
|
1
|
+
# UltraModern.js Workspace
|
|
2
2
|
|
|
3
|
-
This
|
|
4
|
-
|
|
5
|
-
instructions, not optional reading.
|
|
3
|
+
This is an UltraModern.js SuperApp: a composition shell plus independently
|
|
4
|
+
owned business MicroVerticals.
|
|
6
5
|
|
|
7
|
-
##
|
|
6
|
+
## Work Here
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
`
|
|
11
|
-
|
|
8
|
+
- Use Node `>=26` and pnpm `{{pnpmVersion}}`. Run `mise install` before
|
|
9
|
+
`pnpm install` when the active toolchain differs.
|
|
10
|
+
- Keep business features out of the shell. Follow [README.md](./README.md) to
|
|
11
|
+
add a MicroVertical.
|
|
12
|
+
- Run checks relevant to the change. Before finishing code changes, run
|
|
13
|
+
`pnpm check`; also run `pnpm build` for runtime, build, routing, or deployment
|
|
14
|
+
changes.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
- `pnpm format` runs oxfmt.
|
|
15
|
-
- `pnpm typecheck` runs TS7 native-preview through effect-tsgo in project-reference build mode with parallel `--checkers` and `--builders`.
|
|
16
|
-
- `pnpm i18n:boundaries` verifies workspace source boundaries through `@modern-js/code-tools`.
|
|
17
|
-
- `pnpm contract:check` verifies the generated workspace contract.
|
|
18
|
-
- `pnpm mf:types` verifies Module Federation type outputs after builds.
|
|
19
|
-
- `pnpm check` is a local convenience aggregate for the primitive gates.
|
|
20
|
-
- Generated CI runs primitive gates as separate matrix jobs instead of calling `pnpm check`.
|
|
21
|
-
- Generated Codex stop hooks and subagent-stop hooks run `pnpm format && pnpm lint:fix && pnpm check`.
|
|
22
|
-
- `postinstall` formats the generated tree, installs/updates pinned Codex skills, and installs `lefthook`. It never installs system packages. Clone-backed public skills are attempted by default; offline clone failures are advisory. Reference repos remain an explicit `pnpm agents:refs:install` step. Generated `lefthook.yml` runs separate format and lint-fix commands on pre-commit; pre-push runs read-only primitive gates in parallel.
|
|
16
|
+
## Reusable Guidance
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
starts shell-only; `create <domain> --vertical` adds route-owned metadata,
|
|
29
|
-
localized resources, and Effect BFF surfaces for that domain. Runtime i18n is
|
|
30
|
-
not enabled in the starter because the current React 19 + Module Federation
|
|
31
|
-
streaming SSR stack must render predictably first. Canonical and hreflang URLs
|
|
32
|
-
use `MODERN_PUBLIC_SITE_URL` only. JS/CSS/static assets use
|
|
33
|
-
`MODERN_ASSET_PREFIX`, then `ULTRAMODERN_ASSET_PREFIX`, then `/`; do not use
|
|
34
|
-
`MODERN_PUBLIC_SITE_URL` or stale public URL aliases as asset-prefix fallbacks.
|
|
35
|
-
Without an asset prefix, builds emit origin-relative asset paths so pages work
|
|
36
|
-
behind tunnels and reverse proxies.
|
|
37
|
-
|
|
38
|
-
## Required Skill Baseline
|
|
39
|
-
|
|
40
|
-
Use these skills when the task touches the matching subsystem:
|
|
41
|
-
|
|
42
|
-
- `rsbuild-best-practices`: Modern.js app build configuration, Rsbuild options, assets, type checking, and build debugging.
|
|
43
|
-
- `rspack-best-practices`: Rspack-level bundling, CSS, assets, profiling, and production build behavior.
|
|
44
|
-
- `rspack-tracing`: Rspack build failures, slow builds, crash localization, and trace analysis.
|
|
45
|
-
- `rsdoctor-analysis`: Evidence-based bundle analysis from `rsdoctor-data.json`, including duplicate packages, large chunks, and retained modules.
|
|
46
|
-
- `rslib-best-practices`: Shared packages, generated libraries, declaration output, and Rslib configuration.
|
|
47
|
-
- `rslib-modern-package`: Package contracts for shared libraries, exports, side effects, dependency placement, README, and release readiness.
|
|
48
|
-
- `rstest-best-practices`: Rstest configuration, test writing, mocking, snapshots, coverage, and CI test behavior.
|
|
49
|
-
- `mf`: Module Federation docs, Modern.js integration, DTS/type checks, shared dependency checks, runtime errors, and observability troubleshooting.
|
|
50
|
-
|
|
51
|
-
Skill bodies are lockfile-pinned in `.codex/skills-lock.json` and installed
|
|
52
|
-
into the repo-owned `.codex/skills` directory by default. The installer updates
|
|
53
|
-
only pinned skill directories and preserves unrelated user skills already
|
|
54
|
-
present under `.codex/skills`. Set `ULTRAMODERN_SKIP_CODEX_SKILLS=1` or
|
|
55
|
-
`ULTRAMODERN_CODEX_SKILLS=0` to opt out during install. `pnpm skills:check` is
|
|
56
|
-
advisory when local skill bodies are missing so offline CI can still run the
|
|
57
|
-
normal gate.
|
|
58
|
-
|
|
59
|
-
## Private Skills
|
|
60
|
-
|
|
61
|
-
ScriptedAlchemy/TechsioCZ skills are private and are cloned only when the current developer is authorized for `TechsioCZ/skills`.
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
pnpm skills:install
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
The installer copies only the pinned private skills from `.codex/skills-lock.json`: `plan-graph`, `dag`, `subagent-graph`, `helm`, and `debugger-mode`.
|
|
68
|
-
|
|
69
|
-
## Agent Reference Repositories
|
|
70
|
-
|
|
71
|
-
The workspace can install read-only source references under `repos/` with the explicit `pnpm agents:refs:install` command using `git subtree add --squash`. These repositories are reference material for coding agents, not application source:
|
|
72
|
-
|
|
73
|
-
- `repos/effect` from `Effect-TS/effect`.
|
|
74
|
-
- `repos/ultramodern.js` from `BleedingDev/ultramodern.js`.
|
|
75
|
-
|
|
76
|
-
Agents may read files under `repos/` to understand upstream patterns, APIs, and project conventions. Do not edit files under `repos/`, import from them, or make production code depend on them. `ULTRAMODERN_SKIP_AGENT_REPOS=1` disables the installer even when invoked explicitly.
|
|
77
|
-
|
|
78
|
-
## Project Priorities
|
|
79
|
-
|
|
80
|
-
- Keep `presetUltramodern` as the single preset.
|
|
81
|
-
- Maximize TS7 latest dev usage through `@typescript/native-preview` and TS-Go. Keep classic `typescript` on latest TS6 only for compatibility peers and tooling that cannot consume native-preview yet.
|
|
82
|
-
- Keep the initial workspace shell-only unless a user explicitly asks for a
|
|
83
|
-
starter vertical.
|
|
84
|
-
- Use `create <domain> --vertical` as the growth path for real business
|
|
85
|
-
MicroVerticals.
|
|
86
|
-
- Prefer Effect for BFF code.
|
|
87
|
-
- Prefer TanStack Router for app routing.
|
|
88
|
-
- Keep UI-kit or design-system code as ordinary vertical or shared package code, not a special core path.
|
|
89
|
-
- Keep generated packages explicit and publishable: stable `exports`, correct declarations, small public APIs, and clear ownership metadata.
|
|
90
|
-
- Do not add migration tooling or codemods unless the project owner explicitly asks for migration work.
|
|
91
|
-
|
|
92
|
-
## Skill Provenance
|
|
93
|
-
|
|
94
|
-
The Rstack skills, public Module Federation skill, and private TechsioCZ skill set are pinned in `.codex/skills-lock.json`. Do not update, remove, or replace them casually. If a skill needs updating, update the lock file and run the affected primitive gate plus `pnpm check`.
|
|
18
|
+
- Read only the relevant sections of [README.md](./README.md) for architecture,
|
|
19
|
+
routes and i18n, environment variables, deployment, and troubleshooting.
|
|
20
|
+
- Use a skill under [`.codex/skills`](./.codex/skills) only when its description
|
|
21
|
+
matches the task; read that skill's `SKILL.md` and referenced files on demand.
|
|
@@ -70,10 +70,9 @@ separate matrix jobs so failures are isolated and parallelizable.
|
|
|
70
70
|
|
|
71
71
|
Type checking is TS7-first. `pnpm typecheck` runs
|
|
72
72
|
`scripts/ultramodern-typecheck.mts` in TS-Go build mode over
|
|
73
|
-
`tsconfig.json` project references, with
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
only where compatibility peers or tooling still require it.
|
|
73
|
+
`tsconfig.json` project references, with `--checkers` and `--builders`
|
|
74
|
+
enabled by default. The stable `typescript` package is pinned to TS7 so
|
|
75
|
+
Modern/Rspack type checking uses TS-Go by default.
|
|
77
76
|
|
|
78
77
|
Read-only agent reference repositories under `repos/` (Effect and
|
|
79
78
|
UltraModern.js source lookup using squashed git subtrees) are an explicit
|
|
@@ -117,19 +116,21 @@ regenerating or updating the workspace.
|
|
|
117
116
|
| `ULTRAMODERN_ASSET_PREFIX` | UltraModern compatibility asset prefix | Modern/Rspack-emitted asset URLs when `MODERN_ASSET_PREFIX` is unset |
|
|
118
117
|
| `ULTRAMODERN_PUBLIC_URL_<APP_ID>` | Per-app deployment/proof URL | Cloudflare proof inputs and Module Federation remote URLs |
|
|
119
118
|
|
|
120
|
-
|
|
121
|
-
`ULTRAMODERN_ASSET_PREFIX` → origin-relative `/`.
|
|
122
|
-
|
|
119
|
+
Shell asset URLs use this precedence: `MODERN_ASSET_PREFIX` →
|
|
120
|
+
`ULTRAMODERN_ASSET_PREFIX` → origin-relative `/`. Module Federation remotes use
|
|
121
|
+
the same env precedence, then fall back to their per-app public origin:
|
|
122
|
+
configured public URL, inferred workers.dev URL, or local dev port.
|
|
123
|
+
`MODERN_PUBLIC_SITE_URL` is canonical/SEO-only and must not be used as an
|
|
124
|
+
asset-prefix fallback.
|
|
123
125
|
SEO output uses `MODERN_PUBLIC_SITE_URL`; if it is unset, generated local and
|
|
124
126
|
preview outputs remain non-public until deployment proof provides explicit
|
|
125
127
|
public URLs.
|
|
126
128
|
|
|
127
|
-
Without public URLs configured, asset paths are origin-relative (`/`)
|
|
128
|
-
dev
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
from.
|
|
129
|
+
Without public URLs configured, shell asset paths are origin-relative (`/`).
|
|
130
|
+
Remote dev manifests publish their own local origin so host shells load
|
|
131
|
+
`remoteEntry.js` and exposed chunks from the remote dev server. Shell-only
|
|
132
|
+
workspaces can set `MODERN_PUBLIC_SITE_URL` for SEO output without changing
|
|
133
|
+
where assets load from.
|
|
133
134
|
|
|
134
135
|
## Cloudflare Proof
|
|
135
136
|
|
|
@@ -144,7 +145,7 @@ pattern with hyphens converted to underscores and uppercased.
|
|
|
144
145
|
```bash
|
|
145
146
|
pnpm cloudflare:deploy
|
|
146
147
|
ULTRAMODERN_PUBLIC_URL_SHELL_SUPER_APP=https://shell-super-app.example.workers.dev \
|
|
147
|
-
pnpm cloudflare:proof --
|
|
148
|
+
pnpm cloudflare:proof --require-public-urls
|
|
148
149
|
```
|
|
149
150
|
|
|
150
151
|
## Strict Effect API
|
|
@@ -177,8 +178,8 @@ from trusted-publisher metadata to provenance attestations.
|
|
|
177
178
|
For older generated workspaces, run the framework migration command first:
|
|
178
179
|
|
|
179
180
|
```bash
|
|
180
|
-
pnpm dlx @bleedingdev/modern-js-create@3.5.0-ultramodern.
|
|
181
|
-
migrate-strict-effect --version 3.5.0-ultramodern.
|
|
181
|
+
pnpm dlx @bleedingdev/modern-js-create@3.5.0-ultramodern.10 ultramodern \
|
|
182
|
+
migrate-strict-effect --version 3.5.0-ultramodern.10
|
|
182
183
|
pnpm api:check
|
|
183
184
|
pnpm contract:check
|
|
184
185
|
```
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
diff --git a/dist/lazy-load-component-plugin-FKp6nQa-.js b/dist/lazy-load-component-plugin-FKp6nQa-.js
|
|
2
|
+
--- a/dist/lazy-load-component-plugin-FKp6nQa-.js
|
|
3
|
+
+++ b/dist/lazy-load-component-plugin-FKp6nQa-.js
|
|
4
|
+
@@ -236,6 +236,41 @@ function getTargetModuleInfo(id, instance) {
|
|
5
|
+
remoteEntry
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
+function normalizeHref(href) {
|
|
9
|
+
+ if (typeof document === "undefined") {
|
|
10
|
+
+ return href;
|
|
11
|
+
+ }
|
|
12
|
+
+ try {
|
|
13
|
+
+ return new URL(href, document.baseURI).href;
|
|
14
|
+
+ } catch {
|
|
15
|
+
+ return href;
|
|
16
|
+
+ }
|
|
17
|
+
+}
|
|
18
|
+
+function isStylesheetLink(link) {
|
|
19
|
+
+ return link.relList.contains("stylesheet") || link.rel.toLowerCase().split(/\s+/u).includes("stylesheet");
|
|
20
|
+
+}
|
|
21
|
+
+function hasStylesheetLinkInHead(href, ignoredLink) {
|
|
22
|
+
+ if (typeof document === "undefined" || !document.head) {
|
|
23
|
+
+ return false;
|
|
24
|
+
+ }
|
|
25
|
+
+ const normalizedHref = normalizeHref(href);
|
|
26
|
+
+ return Array.from(
|
|
27
|
+
+ document.head.querySelectorAll("link[href]")
|
|
28
|
+
+ ).some(
|
|
29
|
+
+ (link) => link !== ignoredLink && isStylesheetLink(link) && normalizeHref(link.href) === normalizedHref
|
|
30
|
+
+ );
|
|
31
|
+
+}
|
|
32
|
+
+function StylesheetAsset({ href }) {
|
|
33
|
+
+ const [shouldRender, setShouldRender] = React.useState(true);
|
|
34
|
+
+ const linkRef = React.useRef(null);
|
|
35
|
+
+ React.useEffect(() => {
|
|
36
|
+
+ setShouldRender(!hasStylesheetLinkInHead(href, linkRef.current));
|
|
37
|
+
+ }, [href]);
|
|
38
|
+
+ if (!shouldRender) {
|
|
39
|
+
+ return null;
|
|
40
|
+
+ }
|
|
41
|
+
+ return /* @__PURE__ */ React.createElement("link", { ref: linkRef, href, rel: "stylesheet", type: "text/css" });
|
|
42
|
+
+}
|
|
43
|
+
function collectSSRAssets(options) {
|
|
44
|
+
const {
|
|
45
|
+
id,
|
|
46
|
+
@@ -254,15 +289,19 @@ function collectSSRAssets(options) {
|
|
47
|
+
}
|
|
48
|
+
const { module: targetModule, publicPath, remoteEntry } = moduleAndPublicPath;
|
|
49
|
+
if (injectLink) {
|
|
50
|
+
+ const stylesheetHrefs = /* @__PURE__ */ new Set();
|
|
51
|
+
[...targetModule.assets.css.sync, ...targetModule.assets.css.async].sort().forEach((file, index) => {
|
|
52
|
+
+ const href = `${publicPath}${file}`;
|
|
53
|
+
+ if (stylesheetHrefs.has(href)) {
|
|
54
|
+
+ return;
|
|
55
|
+
+ }
|
|
56
|
+
+ stylesheetHrefs.add(href);
|
|
57
|
+
links.push(
|
|
58
|
+
/* @__PURE__ */ React.createElement(
|
|
59
|
+
- "link",
|
|
60
|
+
+ StylesheetAsset,
|
|
61
|
+
{
|
|
62
|
+
key: `${file.split(".")[0]}_${index}`,
|
|
63
|
+
- href: `${publicPath}${file}`,
|
|
64
|
+
- rel: "stylesheet",
|
|
65
|
+
- type: "text/css"
|
|
66
|
+
+ href
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
);
|
|
70
|
+
diff --git a/dist/lazy-load-component-plugin-DEu-DfZt.mjs b/dist/lazy-load-component-plugin-DEu-DfZt.mjs
|
|
71
|
+
--- a/dist/lazy-load-component-plugin-DEu-DfZt.mjs
|
|
72
|
+
+++ b/dist/lazy-load-component-plugin-DEu-DfZt.mjs
|
|
73
|
+
@@ -235,6 +235,41 @@ function getTargetModuleInfo(id, instance) {
|
|
74
|
+
remoteEntry
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
+function normalizeHref(href) {
|
|
78
|
+
+ if (typeof document === "undefined") {
|
|
79
|
+
+ return href;
|
|
80
|
+
+ }
|
|
81
|
+
+ try {
|
|
82
|
+
+ return new URL(href, document.baseURI).href;
|
|
83
|
+
+ } catch {
|
|
84
|
+
+ return href;
|
|
85
|
+
+ }
|
|
86
|
+
+}
|
|
87
|
+
+function isStylesheetLink(link) {
|
|
88
|
+
+ return link.relList.contains("stylesheet") || link.rel.toLowerCase().split(/\s+/u).includes("stylesheet");
|
|
89
|
+
+}
|
|
90
|
+
+function hasStylesheetLinkInHead(href, ignoredLink) {
|
|
91
|
+
+ if (typeof document === "undefined" || !document.head) {
|
|
92
|
+
+ return false;
|
|
93
|
+
+ }
|
|
94
|
+
+ const normalizedHref = normalizeHref(href);
|
|
95
|
+
+ return Array.from(
|
|
96
|
+
+ document.head.querySelectorAll("link[href]")
|
|
97
|
+
+ ).some(
|
|
98
|
+
+ (link) => link !== ignoredLink && isStylesheetLink(link) && normalizeHref(link.href) === normalizedHref
|
|
99
|
+
+ );
|
|
100
|
+
+}
|
|
101
|
+
+function StylesheetAsset({ href }) {
|
|
102
|
+
+ const [shouldRender, setShouldRender] = useState(true);
|
|
103
|
+
+ const linkRef = useRef(null);
|
|
104
|
+
+ useEffect(() => {
|
|
105
|
+
+ setShouldRender(!hasStylesheetLinkInHead(href, linkRef.current));
|
|
106
|
+
+ }, [href]);
|
|
107
|
+
+ if (!shouldRender) {
|
|
108
|
+
+ return null;
|
|
109
|
+
+ }
|
|
110
|
+
+ return /* @__PURE__ */ React__default.createElement("link", { ref: linkRef, href, rel: "stylesheet", type: "text/css" });
|
|
111
|
+
+}
|
|
112
|
+
function collectSSRAssets(options) {
|
|
113
|
+
const {
|
|
114
|
+
id,
|
|
115
|
+
@@ -253,15 +288,19 @@ function collectSSRAssets(options) {
|
|
116
|
+
}
|
|
117
|
+
const { module: targetModule, publicPath, remoteEntry } = moduleAndPublicPath;
|
|
118
|
+
if (injectLink) {
|
|
119
|
+
+ const stylesheetHrefs = /* @__PURE__ */ new Set();
|
|
120
|
+
[...targetModule.assets.css.sync, ...targetModule.assets.css.async].sort().forEach((file, index) => {
|
|
121
|
+
+ const href = `${publicPath}${file}`;
|
|
122
|
+
+ if (stylesheetHrefs.has(href)) {
|
|
123
|
+
+ return;
|
|
124
|
+
+ }
|
|
125
|
+
+ stylesheetHrefs.add(href);
|
|
126
|
+
links.push(
|
|
127
|
+
/* @__PURE__ */ React__default.createElement(
|
|
128
|
+
- "link",
|
|
129
|
+
+ StylesheetAsset,
|
|
130
|
+
{
|
|
131
|
+
key: `${file.split(".")[0]}_${index}`,
|
|
132
|
+
- href: `${publicPath}${file}`,
|
|
133
|
+
- rel: "stylesheet",
|
|
134
|
+
- type: "text/css"
|
|
135
|
+
+ href
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
);
|
|
139
|
+
diff --git a/dist/lazy/wrapNoSSR.d.ts b/dist/lazy/wrapNoSSR.d.ts
|
|
140
|
+
--- a/dist/lazy/wrapNoSSR.d.ts
|
|
141
|
+
+++ b/dist/lazy/wrapNoSSR.d.ts
|
|
142
|
+
@@ -6,4 +6,4 @@ export declare function wrapNoSSR<T, E extends keyof T>(createLazyComponentFn:
|
|
143
|
+
key?: React.Key | null;
|
|
144
|
+
} : {
|
|
145
|
+
key?: React.Key | null;
|
|
146
|
+
-}) => import("node_modules/@types/react").JSX.Element;
|
|
147
|
+
+}) => import("react").JSX.Element;
|
|
148
|
+
diff --git a/dist/provider/versions/v18.d.ts b/dist/provider/versions/v18.d.ts
|
|
149
|
+
--- a/dist/provider/versions/v18.d.ts
|
|
150
|
+
+++ b/dist/provider/versions/v18.d.ts
|
|
151
|
+
@@ -12,7 +12,7 @@ export interface Root {
|
|
152
|
+
unmount(): void;
|
|
153
|
+
}
|
|
154
|
+
export declare function createReact18Root(container: Element | DocumentFragment, options?: CreateRootOptions): Root;
|
|
155
|
+
-export declare function hydrateReact18Root(container: Element | DocumentFragment, initialChildren: React.ReactNode, options?: CreateRootOptions): import("node_modules/@types/react-dom/client").Root;
|
|
156
|
+
+export declare function hydrateReact18Root(container: Element | DocumentFragment, initialChildren: React.ReactNode, options?: CreateRootOptions): import("react-dom/client").Root;
|
|
157
|
+
export declare function createBridgeComponent<T = any>(bridgeInfo: Omit<ProviderFnParams<T>, 'createRoot'>): () => {
|
|
158
|
+
render(info: import("../..").RenderParams): Promise<void>;
|
|
159
|
+
destroy(info: import("../..").DestroyParams): void;
|
|
160
|
+
diff --git a/dist/remote/base-component/create.d.ts b/dist/remote/base-component/create.d.ts
|
|
161
|
+
--- a/dist/remote/base-component/create.d.ts
|
|
162
|
+
+++ b/dist/remote/base-component/create.d.ts
|
|
163
|
+
@@ -1,7 +1,7 @@
|
|
164
|
+
import { type LazyRemoteComponentInfo } from '../createHelpers';
|
|
165
|
+
export type { LazyRemoteComponentInfo };
|
|
166
|
+
-declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").LazyExoticComponent<import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>>;
|
|
167
|
+
-export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>;
|
|
168
|
+
+declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
169
|
+
+export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
170
|
+
/**
|
|
171
|
+
* @deprecated createRemoteComponent is deprecated, please use createRemoteAppComponent instead!
|
|
172
|
+
*/
|
|
173
|
+
diff --git a/dist/remote/router-component/create.d.ts b/dist/remote/router-component/create.d.ts
|
|
174
|
+
--- a/dist/remote/router-component/create.d.ts
|
|
175
|
+
+++ b/dist/remote/router-component/create.d.ts
|
|
176
|
+
@@ -1,7 +1,7 @@
|
|
177
|
+
import { type LazyRemoteComponentInfo } from '../createHelpers';
|
|
178
|
+
export type { LazyRemoteComponentInfo };
|
|
179
|
+
-declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").LazyExoticComponent<import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>>;
|
|
180
|
+
-export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>;
|
|
181
|
+
+declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
182
|
+
+export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
183
|
+
/**
|
|
184
|
+
* @deprecated createRemoteComponent is deprecated, please use createRemoteAppComponent instead!
|
|
185
|
+
*/
|