@bleedingdev/modern-js-create 3.5.0-ultramodern.30 → 3.5.0-ultramodern.32
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/dist/cjs/cli/flags.cjs +326 -0
- package/dist/cjs/cli/help.cjs +106 -0
- package/dist/cjs/cli/package-source.cjs +186 -0
- package/dist/cjs/cli/project-setup.cjs +138 -0
- package/dist/cjs/cli/prompts.cjs +118 -0
- package/dist/cjs/index.cjs +24 -581
- 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 +158 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +49 -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 +62 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +60 -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 +93 -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/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 +133 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +219 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +76 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +131 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +161 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +88 -0
- package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +149 -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 +49 -0
- package/dist/cjs/ultramodern-tooling/commands.cjs +17 -1165
- 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 +160 -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 -274
- package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +156 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +246 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +198 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +116 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +133 -0
- package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +107 -0
- package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -596
- package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
- package/dist/cjs/ultramodern-workspace/api/client.cjs +218 -0
- package/dist/cjs/ultramodern-workspace/api/contracts.cjs +222 -0
- package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
- package/dist/cjs/ultramodern-workspace/api/service.cjs +220 -0
- package/dist/cjs/ultramodern-workspace/api/shared.cjs +252 -0
- package/dist/cjs/ultramodern-workspace/api.cjs +27 -1046
- package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -18
- package/dist/cjs/ultramodern-workspace/backend-federation.cjs +38 -24
- 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/delivery-unit-sync.cjs +22 -20
- package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +7 -20
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +47 -189
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +12 -1
- package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +24 -2
- package/dist/cjs/ultramodern-workspace/index.cjs +4 -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 +92 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +203 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +171 -0
- package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +228 -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 +251 -0
- package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
- package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +73 -0
- package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +105 -0
- package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
- package/dist/cjs/ultramodern-workspace/module-federation.cjs +14 -584
- package/dist/cjs/ultramodern-workspace/package-json.cjs +13 -229
- package/dist/cjs/ultramodern-workspace/routes.cjs +8 -142
- package/dist/cjs/ultramodern-workspace/shared-patches.cjs +44 -0
- package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +199 -0
- package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +2 -2
- package/dist/cjs/ultramodern-workspace/write-app.cjs +128 -0
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +4 -61
- package/dist/cjs/ultramodern-workspace/zerops.cjs +13 -10
- package/dist/esm/cli/flags.js +228 -0
- package/dist/esm/cli/help.js +65 -0
- package/dist/esm/cli/package-source.js +119 -0
- package/dist/esm/cli/project-setup.js +81 -0
- package/dist/esm/cli/prompts.js +63 -0
- package/dist/esm/index.js +6 -559
- 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 +106 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +11 -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 +14 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +12 -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 +44 -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/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 +69 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +175 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +38 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +76 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +105 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +16 -0
- package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +100 -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 +11 -0
- package/dist/esm/ultramodern-tooling/commands.js +9 -1152
- 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 +106 -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 -255
- package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
- package/dist/esm/ultramodern-workspace/add-vertical/execute.js +108 -0
- package/dist/esm/ultramodern-workspace/add-vertical/plan.js +184 -0
- package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +122 -0
- package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +59 -0
- package/dist/esm/ultramodern-workspace/add-vertical/topology.js +89 -0
- package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +43 -0
- package/dist/esm/ultramodern-workspace/add-vertical.js +6 -569
- package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
- package/dist/esm/ultramodern-workspace/api/client.js +177 -0
- package/dist/esm/ultramodern-workspace/api/contracts.js +172 -0
- package/dist/esm/ultramodern-workspace/api/names.js +33 -0
- package/dist/esm/ultramodern-workspace/api/service.js +179 -0
- package/dist/esm/ultramodern-workspace/api/shared.js +208 -0
- package/dist/esm/ultramodern-workspace/api.js +5 -1025
- package/dist/esm/ultramodern-workspace/app-files.js +3 -18
- package/dist/esm/ultramodern-workspace/backend-federation.js +27 -13
- 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/delivery-unit-sync.js +23 -21
- package/dist/esm/ultramodern-workspace/delivery-unit.js +6 -16
- package/dist/esm/ultramodern-workspace/demo-components.js +47 -189
- package/dist/esm/ultramodern-workspace/descriptors.js +12 -1
- package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
- package/dist/esm/ultramodern-workspace/fs-io.js +24 -2
- package/dist/esm/ultramodern-workspace/index.js +1 -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 +45 -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 +204 -0
- package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
- package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +29 -0
- package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +64 -0
- package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
- package/dist/esm/ultramodern-workspace/module-federation.js +2 -576
- package/dist/esm/ultramodern-workspace/package-json.js +7 -210
- package/dist/esm/ultramodern-workspace/routes.js +8 -142
- package/dist/esm/ultramodern-workspace/shared-patches.js +6 -0
- package/dist/esm/ultramodern-workspace/tsconfigs.js +136 -0
- package/dist/esm/ultramodern-workspace/workspace-script-plan.js +2 -2
- package/dist/esm/ultramodern-workspace/write-app.js +90 -0
- package/dist/esm/ultramodern-workspace/write-workspace.js +4 -61
- package/dist/esm/ultramodern-workspace/zerops.js +13 -10
- package/dist/esm-node/cli/flags.js +229 -0
- package/dist/esm-node/cli/help.js +66 -0
- package/dist/esm-node/cli/package-source.js +120 -0
- package/dist/esm-node/cli/project-setup.js +82 -0
- package/dist/esm-node/cli/prompts.js +64 -0
- package/dist/esm-node/index.js +6 -559
- 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 +107 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -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 +15 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +13 -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 +45 -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/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 +70 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +176 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +39 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +77 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +106 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +17 -0
- package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +101 -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 +12 -0
- package/dist/esm-node/ultramodern-tooling/commands.js +9 -1152
- 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 +107 -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 -255
- package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +109 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +185 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +123 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +60 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +90 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +44 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -569
- package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
- package/dist/esm-node/ultramodern-workspace/api/client.js +178 -0
- package/dist/esm-node/ultramodern-workspace/api/contracts.js +173 -0
- package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
- package/dist/esm-node/ultramodern-workspace/api/service.js +180 -0
- package/dist/esm-node/ultramodern-workspace/api/shared.js +209 -0
- package/dist/esm-node/ultramodern-workspace/api.js +5 -1025
- package/dist/esm-node/ultramodern-workspace/app-files.js +3 -18
- package/dist/esm-node/ultramodern-workspace/backend-federation.js +27 -13
- 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/delivery-unit-sync.js +23 -21
- package/dist/esm-node/ultramodern-workspace/delivery-unit.js +6 -16
- package/dist/esm-node/ultramodern-workspace/demo-components.js +47 -189
- package/dist/esm-node/ultramodern-workspace/descriptors.js +12 -1
- package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
- package/dist/esm-node/ultramodern-workspace/fs-io.js +24 -2
- package/dist/esm-node/ultramodern-workspace/index.js +1 -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 +46 -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 +205 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +30 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +65 -0
- package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
- package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -576
- package/dist/esm-node/ultramodern-workspace/package-json.js +7 -210
- package/dist/esm-node/ultramodern-workspace/routes.js +8 -142
- package/dist/esm-node/ultramodern-workspace/shared-patches.js +7 -0
- package/dist/esm-node/ultramodern-workspace/tsconfigs.js +137 -0
- package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +2 -2
- package/dist/esm-node/ultramodern-workspace/write-app.js +91 -0
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +4 -61
- package/dist/esm-node/ultramodern-workspace/zerops.js +13 -10
- package/dist/types/cli/flags.d.ts +30 -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 +6 -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 +4 -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 +3 -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/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 +14 -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 +4 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +25 -0
- package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +9 -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/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 +5 -0
- package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
- package/dist/types/ultramodern-tooling/config/types.d.ts +41 -0
- package/dist/types/ultramodern-tooling/config.d.ts +1 -49
- package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
- package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +2 -0
- package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +7 -0
- package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +28 -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/workspace-state.d.ts +8 -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/service.d.ts +6 -0
- package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
- package/dist/types/ultramodern-workspace/api.d.ts +5 -74
- package/dist/types/ultramodern-workspace/backend-federation.d.ts +2 -2
- 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/delivery-unit.d.ts +2 -21
- package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
- package/dist/types/ultramodern-workspace/index.d.ts +1 -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 +5 -0
- package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +9 -0
- package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +13 -0
- package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +14 -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 +1 -11
- package/dist/types/ultramodern-workspace/package-json.d.ts +1 -13
- package/dist/types/ultramodern-workspace/shared-patches.d.ts +2 -0
- package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
- package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +1 -1
- package/dist/types/ultramodern-workspace/write-app.d.ts +3 -0
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -1
- package/package.json +4 -3
- package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
- package/templates/workspace/apps/modern.config.ts.handlebars +252 -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 +79 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +11 -0
- package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +46 -0
- package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
- package/templates/workspace/postcss.config.mjs.handlebars +5 -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 +25 -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/generate-node-backend-federation.mjs +29 -0
- package/templates/workspace-scripts/proof-node-backend-federation.mjs +31 -0
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +74 -40
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createAppModernConfig, createBackendModuleFederationConfig, createRemoteModuleFederationConfig, createShellModuleFederationConfig, } from './config';
|
|
2
|
+
export { createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule, } from './reexport-module';
|
|
3
|
+
export { createModuleFederationRemotesConfig, createModuleFederationRemoteUrlHelpers, } from './remote-refs';
|
|
4
|
+
export { createSharedModuleFederationConfig, formatTsObjectLiteral, } from './shared-config';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { WorkspaceApp } from '../types';
|
|
2
|
+
export declare function createUltramodernBuildArtifactJson(scope: string, app: WorkspaceApp): string;
|
|
3
|
+
export declare function createUltramodernBuildModule(): string;
|
|
4
|
+
export declare function createUltramodernBuildReexportModule(): string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { WorkspaceApp } from '../types';
|
|
2
|
+
export declare function createModuleFederationRemoteUrlHelpers(app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
3
|
+
export declare function createModuleFederationRemotesConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
import type { WorkspaceApp } from './types';
|
|
2
|
-
export declare function createAppModernConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
3
|
-
export declare function createSharedModuleFederationConfig(): string;
|
|
4
|
-
export declare function formatTsObjectLiteral(value: Record<string, string>): string;
|
|
5
|
-
export declare function createModuleFederationRemoteUrlHelpers(app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
6
|
-
export declare function createModuleFederationRemotesConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
7
|
-
export declare function createShellModuleFederationConfig(scope: string, remotes?: WorkspaceApp[]): string;
|
|
8
|
-
export declare function createBackendModuleFederationConfig(app: WorkspaceApp): string;
|
|
9
1
|
export { createBuildMarker } from './delivery-unit';
|
|
10
|
-
export
|
|
11
|
-
export declare function createUltramodernBuildReexportModule(): string;
|
|
12
|
-
export declare function createRemoteModuleFederationConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
2
|
+
export { createAppModernConfig, createBackendModuleFederationConfig, createModuleFederationRemotesConfig, createModuleFederationRemoteUrlHelpers, createRemoteModuleFederationConfig, createSharedModuleFederationConfig, createShellModuleFederationConfig, createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule, formatTsObjectLiteral, } from './module-federation/index';
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
import type { UltramodernBridgeConfig } from './bridge-config';
|
|
2
2
|
import type { JsonValue, ResolvedPackageSource, WorkspaceApp } from './types';
|
|
3
|
-
export declare const effectDiagnostics: string[];
|
|
4
3
|
export declare function appDependencies(scope: string, packageSource: ResolvedPackageSource, app: WorkspaceApp, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): Record<string, string>;
|
|
5
4
|
export declare function appDevDependencies(packageSource: ResolvedPackageSource, enableTailwind: boolean): Record<string, string>;
|
|
6
5
|
export declare function createRootPackageJson(scope: string, packageSource: ResolvedPackageSource, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): JsonValue;
|
|
7
6
|
export declare function createZephyrDependencies(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
|
|
8
|
-
export
|
|
9
|
-
type CreatePackageTsConfigOptions = {
|
|
10
|
-
include?: string[];
|
|
11
|
-
includeApi?: boolean;
|
|
12
|
-
references?: string[];
|
|
13
|
-
};
|
|
14
|
-
export declare function createPackageTsConfig(packageDir: string, options?: CreatePackageTsConfigOptions | boolean): JsonValue;
|
|
15
|
-
export declare function createAppTsConfig(app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
|
|
16
|
-
export declare function createAppMfTypesTsConfig(app: WorkspaceApp): JsonValue;
|
|
17
|
-
export declare function createSharedPackageTsConfig(packageDir: string): JsonValue;
|
|
18
|
-
export declare function createRootTsConfig(apps?: WorkspaceApp[]): JsonValue;
|
|
7
|
+
export { createAppMfTypesTsConfig, createAppTsConfig, createPackageTsConfig, createRootTsConfig, createSharedPackageTsConfig, createTsConfigBase, } from './tsconfigs';
|
|
19
8
|
export declare function createAppPackage(scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): JsonValue;
|
|
20
9
|
export declare function createSharedPackage(scope: string, id: string, description: string): JsonValue;
|
|
21
10
|
export declare function createSharedContractsIndex(): string;
|
|
22
|
-
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES: readonly ['@module-federation__bridge-react@2.6.0.patch', '@module-federation__modern-js-v3@2.6.0.patch', '@tanstack__router-core@1.171.13.patch'];
|
|
2
|
+
export type SharedUltramodernWorkspacePatchFile = (typeof SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES)[number];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { JsonValue, WorkspaceApp } from './types';
|
|
2
|
+
export declare function createTsConfigBase(): JsonValue;
|
|
3
|
+
type CreatePackageTsConfigOptions = {
|
|
4
|
+
include?: string[];
|
|
5
|
+
includeApi?: boolean;
|
|
6
|
+
references?: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare function createPackageTsConfig(packageDir: string, options?: CreatePackageTsConfigOptions | boolean): JsonValue;
|
|
9
|
+
export declare function createAppTsConfig(app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
|
|
10
|
+
export declare function createAppMfTypesTsConfig(app: WorkspaceApp): JsonValue;
|
|
11
|
+
export declare function createSharedPackageTsConfig(packageDir: string): JsonValue;
|
|
12
|
+
export declare function createRootTsConfig(apps?: WorkspaceApp[]): JsonValue;
|
|
13
|
+
export {};
|
|
@@ -23,7 +23,7 @@ export declare function createWorkspaceValidationContract(scope: string, enableT
|
|
|
23
23
|
zephyrAlias: string;
|
|
24
24
|
packageName: string;
|
|
25
25
|
backendFederation: import("./types").JsonValue | undefined;
|
|
26
|
-
deliveryUnit: import("
|
|
26
|
+
deliveryUnit: import("@modern-js/utils/universal").DeliveryUnitRecord;
|
|
27
27
|
exposes: string[];
|
|
28
28
|
componentPaths: string[];
|
|
29
29
|
namespace: string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UltramodernBridgeConfig } from './bridge-config';
|
|
2
|
+
import type { ResolvedPackageSource, WorkspaceApp } from './types';
|
|
3
|
+
export declare function writeApp(targetDir: string, scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UltramodernBridgeConfig } from './bridge-config';
|
|
2
2
|
import type { JsonValue, ResolvedPackageSource, UltramodernGenerationResult, UltramodernWorkspaceOptions, WorkspaceApp } from './types';
|
|
3
|
-
|
|
3
|
+
import { writeApp } from './write-app';
|
|
4
|
+
export { writeApp };
|
|
4
5
|
export declare function writeSharedPackages(targetDir: string, scope: string): void;
|
|
5
6
|
export declare function createCompactUltramodernConfig(scope: string, modernVersion: string, packageSource: ResolvedPackageSource, apps?: WorkspaceApp[], enableTailwind?: boolean, bridge?: UltramodernBridgeConfig): JsonValue;
|
|
6
7
|
export declare function generateUltramodernWorkspace(options: UltramodernWorkspaceOptions): UltramodernGenerationResult;
|
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.32",
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
26
|
"main": "./dist/esm-node/index.js",
|
|
27
27
|
"bin": {
|
|
@@ -77,7 +77,8 @@
|
|
|
77
77
|
"@modern-js/codesmith": "2.6.9",
|
|
78
78
|
"oxfmt": "0.56.0",
|
|
79
79
|
"ultracite": "7.8.3",
|
|
80
|
-
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.
|
|
80
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.32",
|
|
81
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.32"
|
|
81
82
|
},
|
|
82
83
|
"devDependencies": {
|
|
83
84
|
"@rslib/core": "0.23.1",
|
|
@@ -99,6 +100,6 @@
|
|
|
99
100
|
"test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
|
|
100
101
|
},
|
|
101
102
|
"ultramodern": {
|
|
102
|
-
"frameworkVersion": "3.5.0-ultramodern.
|
|
103
|
+
"frameworkVersion": "3.5.0-ultramodern.32"
|
|
103
104
|
}
|
|
104
105
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
shared: {
|
|
2
|
+
'@modern-js/plugin-i18n/runtime/no-react-i18next': {
|
|
3
|
+
requiredVersion: pluginI18nVersion,
|
|
4
|
+
singleton: true,
|
|
5
|
+
treeShaking: false,
|
|
6
|
+
},
|
|
7
|
+
'@modern-js/plugin-tanstack/runtime': {
|
|
8
|
+
requiredVersion: pluginTanstackVersion,
|
|
9
|
+
singleton: true,
|
|
10
|
+
treeShaking: false,
|
|
11
|
+
},
|
|
12
|
+
'@modern-js/runtime': {
|
|
13
|
+
requiredVersion: runtimeVersion,
|
|
14
|
+
singleton: true,
|
|
15
|
+
treeShaking: false,
|
|
16
|
+
},
|
|
17
|
+
'@tanstack/react-router': {
|
|
18
|
+
requiredVersion: dependencies['@tanstack/react-router'],
|
|
19
|
+
singleton: true,
|
|
20
|
+
treeShaking: false,
|
|
21
|
+
},
|
|
22
|
+
react: {
|
|
23
|
+
requiredVersion: reactVersion,
|
|
24
|
+
singleton: true,
|
|
25
|
+
treeShaking: false,
|
|
26
|
+
},
|
|
27
|
+
'react-dom': {
|
|
28
|
+
requiredVersion: reactDomVersion,
|
|
29
|
+
singleton: true,
|
|
30
|
+
treeShaking: false,
|
|
31
|
+
},
|
|
32
|
+
'react-dom/client': {
|
|
33
|
+
requiredVersion: reactDomVersion,
|
|
34
|
+
singleton: true,
|
|
35
|
+
treeShaking: false,
|
|
36
|
+
},
|
|
37
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
// @effect-diagnostics processEnv:off
|
|
2
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
3
|
+
import {
|
|
4
|
+
appTools,
|
|
5
|
+
defineConfig,
|
|
6
|
+
presetUltramodern,
|
|
7
|
+
} from '@modern-js/app-tools';
|
|
8
|
+
{{value0}}import { i18nPlugin } from '@modern-js/plugin-i18n';
|
|
9
|
+
import { tanstackRouterPlugin } from '@modern-js/plugin-tanstack';
|
|
10
|
+
import { moduleFederationPlugin } from '@module-federation/modern-js-v3';
|
|
11
|
+
import { withZephyr as withZephyrRspack } from 'zephyr-rspack-plugin';
|
|
12
|
+
import { ultramodernLocalisedUrls } from './src/routes/ultramodern-route-metadata';
|
|
13
|
+
|
|
14
|
+
type ZephyrRspackConfig = Parameters<ReturnType<typeof withZephyrRspack>>[0];
|
|
15
|
+
|
|
16
|
+
const zephyrEnabled = process.env['ULTRAMODERN_ZEPHYR'] !== 'false';
|
|
17
|
+
const cloudflareDeployEnabled =
|
|
18
|
+
process.env['MODERNJS_DEPLOY'] === 'cloudflare';
|
|
19
|
+
|
|
20
|
+
const parsedZephyrTimeoutMs = Number.parseInt(
|
|
21
|
+
process.env['ULTRAMODERN_ZEPHYR_TIMEOUT_MS'] ?? '',
|
|
22
|
+
10,
|
|
23
|
+
);
|
|
24
|
+
const zephyrTimeoutMs =
|
|
25
|
+
Number.isFinite(parsedZephyrTimeoutMs) && parsedZephyrTimeoutMs > 0
|
|
26
|
+
? parsedZephyrTimeoutMs
|
|
27
|
+
: 45_000;
|
|
28
|
+
|
|
29
|
+
const zephyrWarn = (error: unknown) => {
|
|
30
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
31
|
+
console.warn(
|
|
32
|
+
`[ultramodern] zephyr-rspack-plugin failed; continuing without Zephyr (set ULTRAMODERN_ZEPHYR=false to disable it): ${message}`,
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const zephyrRspackPlugin = () => ({
|
|
37
|
+
name: 'ultramodern-zephyr-rspack-plugin',
|
|
38
|
+
pre: ['@modern-js/plugin-module-federation-config'],
|
|
39
|
+
setup(api: {
|
|
40
|
+
modifyRspackConfig: (
|
|
41
|
+
handler: (
|
|
42
|
+
config: ZephyrRspackConfig,
|
|
43
|
+
) => ZephyrRspackConfig | Promise<ZephyrRspackConfig>,
|
|
44
|
+
) => void;
|
|
45
|
+
}) {
|
|
46
|
+
if (!zephyrEnabled) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
api.modifyRspackConfig(async config => {
|
|
50
|
+
try {
|
|
51
|
+
// Zephyr can not only throw/reject but also hang on a stalled network
|
|
52
|
+
// call, wedging the whole build. Race it against a watchdog so a hang
|
|
53
|
+
// degrades to an unmodified config instead of blocking indefinitely.
|
|
54
|
+
const zephyrConfig = (async () => {
|
|
55
|
+
try {
|
|
56
|
+
return await withZephyrRspack()(config);
|
|
57
|
+
} catch (error) {
|
|
58
|
+
zephyrWarn(error);
|
|
59
|
+
return config;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
const watchdog = async () => {
|
|
63
|
+
await delay(zephyrTimeoutMs, undefined, { ref: false });
|
|
64
|
+
zephyrWarn(
|
|
65
|
+
`timed out after ${zephyrTimeoutMs}ms (override with ULTRAMODERN_ZEPHYR_TIMEOUT_MS)`,
|
|
66
|
+
);
|
|
67
|
+
return config;
|
|
68
|
+
};
|
|
69
|
+
return await Promise.race([zephyrConfig, watchdog()]);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
zephyrWarn(error);
|
|
72
|
+
return config;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const appId = '{{value1}}';
|
|
79
|
+
const cloudflareWorkerName = '{{value2}}';
|
|
80
|
+
const port = Number(process.env['{{value3}}'] ?? {{value4}});
|
|
81
|
+
const envValue = (name: string) => {
|
|
82
|
+
const value = process.env[name]?.trim();
|
|
83
|
+
return value !== undefined && value.length > 0 ? value : undefined;
|
|
84
|
+
};
|
|
85
|
+
const configuredSiteUrl = envValue('MODERN_PUBLIC_SITE_URL');
|
|
86
|
+
const configuredCloudflareUrl = envValue('{{value5}}');
|
|
87
|
+
const configuredUltramodernAssetPrefix = envValue('ULTRAMODERN_ASSET_PREFIX');
|
|
88
|
+
const configuredModernAssetPrefix = envValue('MODERN_ASSET_PREFIX');
|
|
89
|
+
const moduleFederationDevServerOrigin =
|
|
90
|
+
envValue('ULTRAMODERN_MF_DEV_ORIGIN') || 'http://localhost:{{value6}}';
|
|
91
|
+
const cloudflareWorkersDevSubdomain = envValue(
|
|
92
|
+
'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN',
|
|
93
|
+
);
|
|
94
|
+
const inferredCloudflareUrl =
|
|
95
|
+
cloudflareDeployEnabled && cloudflareWorkersDevSubdomain !== undefined
|
|
96
|
+
? `https://${cloudflareWorkerName}.${cloudflareWorkersDevSubdomain}.workers.dev`
|
|
97
|
+
: undefined;
|
|
98
|
+
// Site origin (SEO: canonical/hreflang URLs) prefers the site-wide public URL;
|
|
99
|
+
// the per-app deployment URL only fills in when no site origin is configured.
|
|
100
|
+
const siteUrl =
|
|
101
|
+
configuredSiteUrl ||
|
|
102
|
+
configuredCloudflareUrl ||
|
|
103
|
+
inferredCloudflareUrl ||
|
|
104
|
+
`http://localhost:${port}`;
|
|
105
|
+
{{value7}}
|
|
106
|
+
// Asset loading is intentionally independent from the canonical site URL.
|
|
107
|
+
// Module Federation remotes must publish an absolute publicPath so browsers
|
|
108
|
+
// load remoteEntry.js and exposed chunks from the remote origin, not the host.
|
|
109
|
+
const assetPrefix =
|
|
110
|
+
configuredModernAssetPrefix || configuredUltramodernAssetPrefix || defaultAssetPrefix;
|
|
111
|
+
const buildTarget = cloudflareDeployEnabled ? 'cloudflare' : 'web';
|
|
112
|
+
const buildOutputRoot = cloudflareDeployEnabled ? 'dist-cloudflare' : 'dist';
|
|
113
|
+
const buildTempDirectory = `node_modules/.modern-js-${appId}-${buildTarget}`;
|
|
114
|
+
const buildCacheDirectory = `node_modules/.cache/rspack-${appId}-${buildTarget}`;
|
|
115
|
+
|
|
116
|
+
if (
|
|
117
|
+
cloudflareDeployEnabled &&
|
|
118
|
+
process.env['ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS'] === 'true' &&
|
|
119
|
+
configuredCloudflareUrl === undefined &&
|
|
120
|
+
configuredSiteUrl === undefined &&
|
|
121
|
+
inferredCloudflareUrl === undefined
|
|
122
|
+
) {
|
|
123
|
+
throw new Error(
|
|
124
|
+
`Cloudflare deploy for ${appId} needs {{value8}}, MODERN_PUBLIC_SITE_URL, or ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN.`,
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export default defineConfig(
|
|
129
|
+
presetUltramodern(
|
|
130
|
+
{
|
|
131
|
+
{{value9}} ...(cloudflareDeployEnabled
|
|
132
|
+
? {
|
|
133
|
+
deploy: {
|
|
134
|
+
worker: {
|
|
135
|
+
compatibilityDate: '{{value10}}',
|
|
136
|
+
name: cloudflareWorkerName,
|
|
137
|
+
security: {{value11}},
|
|
138
|
+
{{value12}} ssr: true,
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
}
|
|
142
|
+
: {}),
|
|
143
|
+
dev: {
|
|
144
|
+
{{value13}}
|
|
145
|
+
},
|
|
146
|
+
html: {
|
|
147
|
+
outputStructure: 'flat',
|
|
148
|
+
},
|
|
149
|
+
output: {
|
|
150
|
+
assetPrefix,
|
|
151
|
+
disableTsChecker: false,
|
|
152
|
+
distPath: {
|
|
153
|
+
html: './',
|
|
154
|
+
root: buildOutputRoot,
|
|
155
|
+
},
|
|
156
|
+
polyfill: 'off',
|
|
157
|
+
splitRouteChunks: true,
|
|
158
|
+
tempDir: buildTempDirectory,
|
|
159
|
+
},
|
|
160
|
+
performance: {
|
|
161
|
+
buildCache: {
|
|
162
|
+
cacheDigest: [appId, buildTarget],
|
|
163
|
+
cacheDirectory: buildCacheDirectory,
|
|
164
|
+
},
|
|
165
|
+
rsdoctor: {
|
|
166
|
+
disableClientServer: true,
|
|
167
|
+
enabled: process.env['ULTRAMODERN_RSDOCTOR'] === 'true',
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
plugins: [
|
|
171
|
+
appTools(),
|
|
172
|
+
tanstackRouterPlugin(),
|
|
173
|
+
i18nPlugin({
|
|
174
|
+
backend: {
|
|
175
|
+
enabled: true,
|
|
176
|
+
loadPath: '/locales/{{lng}}/{{ns}}.json',
|
|
177
|
+
},
|
|
178
|
+
localeDetection: {
|
|
179
|
+
fallbackLanguage: 'en',
|
|
180
|
+
ignoreRedirectRoutes: [
|
|
181
|
+
'/@mf-types',
|
|
182
|
+
'/assets',
|
|
183
|
+
'/bundles',
|
|
184
|
+
'{{value14}}',
|
|
185
|
+
'/locales',
|
|
186
|
+
'/mf-manifest.json',
|
|
187
|
+
'/mf-stats.json',
|
|
188
|
+
'/remoteEntry.js',
|
|
189
|
+
'/robots.txt',
|
|
190
|
+
'/site.webmanifest',
|
|
191
|
+
'/sitemap.xml',
|
|
192
|
+
'/static',
|
|
193
|
+
'/zephyr-manifest.json',
|
|
194
|
+
],
|
|
195
|
+
languages: ['en', 'cs'],
|
|
196
|
+
localePathRedirect: true,
|
|
197
|
+
localisedUrls: ultramodernLocalisedUrls as Record<string, Record<string, string>>,
|
|
198
|
+
},
|
|
199
|
+
reactI18next: false,
|
|
200
|
+
}),
|
|
201
|
+
{{value15}} moduleFederationPlugin(),
|
|
202
|
+
zephyrRspackPlugin(),
|
|
203
|
+
],
|
|
204
|
+
server: {
|
|
205
|
+
port,
|
|
206
|
+
publicDir: ['./locales', './assets'],
|
|
207
|
+
ssr: {
|
|
208
|
+
mode: 'string',
|
|
209
|
+
moduleFederationAppSSR: true,
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
source: {
|
|
213
|
+
alias: {
|
|
214
|
+
'@modern-js/plugin-i18n/runtime':
|
|
215
|
+
'@modern-js/plugin-i18n/runtime/no-react-i18next',
|
|
216
|
+
},
|
|
217
|
+
globalVars: {
|
|
218
|
+
ULTRAMODERN_SITE_URL: siteUrl,
|
|
219
|
+
},
|
|
220
|
+
mainEntryName: 'index',
|
|
221
|
+
},
|
|
222
|
+
splitChunks: {
|
|
223
|
+
chunks: 'async',
|
|
224
|
+
},
|
|
225
|
+
tools: {
|
|
226
|
+
autoprefixer: {
|
|
227
|
+
overrideBrowserslist: ['defaults'],
|
|
228
|
+
},
|
|
229
|
+
bundlerChain: chain => {
|
|
230
|
+
chain.output
|
|
231
|
+
.uniqueName('{{value16}}')
|
|
232
|
+
.chunkLoadingGlobal('{{value17}}');
|
|
233
|
+
},
|
|
234
|
+
devServer: {
|
|
235
|
+
headers: {
|
|
236
|
+
'Access-Control-Allow-Headers':
|
|
237
|
+
'Accept, Authorization, Content-Type, X-Requested-With',
|
|
238
|
+
'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS',
|
|
239
|
+
'Access-Control-Allow-Origin': moduleFederationDevServerOrigin,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
appId,
|
|
246
|
+
enableBffRequestId: true,
|
|
247
|
+
enableModuleFederationSSR: true,
|
|
248
|
+
enableTelemetryExporters: true,
|
|
249
|
+
telemetryFailLoudStartup: false,
|
|
250
|
+
},
|
|
251
|
+
),
|
|
252
|
+
);
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export type JsonLdPrimitive = string | number | boolean | null;
|
|
2
|
+
export type JsonLdValue =
|
|
3
|
+
| JsonLdPrimitive
|
|
4
|
+
| readonly JsonLdValue[]
|
|
5
|
+
| { readonly [key: string]: JsonLdValue };
|
|
6
|
+
export type JsonLdObject = Readonly<Record<string, JsonLdValue>>;
|
|
7
|
+
export type RouteJsonLd = JsonLdObject | readonly JsonLdObject[];
|
|
8
|
+
|
|
9
|
+
const schemaContext = 'https://schema.org' as const;
|
|
10
|
+
|
|
11
|
+
type SchemaObject<TType extends string> = JsonLdObject & {
|
|
12
|
+
readonly '@context': typeof schemaContext;
|
|
13
|
+
readonly '@type': TType;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type ThingReference =
|
|
17
|
+
| string
|
|
18
|
+
| {
|
|
19
|
+
readonly '@id'?: string;
|
|
20
|
+
readonly '@type'?: string;
|
|
21
|
+
readonly name?: string;
|
|
22
|
+
readonly url?: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const withSchemaContext = <TType extends string, TInput extends object>(
|
|
26
|
+
type: TType,
|
|
27
|
+
input: TInput,
|
|
28
|
+
): SchemaObject<TType> & TInput => ({
|
|
29
|
+
'@context': schemaContext,
|
|
30
|
+
'@type': type,
|
|
31
|
+
...input,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export const defineRouteJsonLd = <TJsonLd extends RouteJsonLd>(
|
|
35
|
+
jsonLd: TJsonLd,
|
|
36
|
+
): TJsonLd => jsonLd;
|
|
37
|
+
|
|
38
|
+
export interface WebPageJsonLdInput {
|
|
39
|
+
readonly name: string;
|
|
40
|
+
readonly url: string;
|
|
41
|
+
readonly description?: string;
|
|
42
|
+
readonly inLanguage?: string | readonly string[];
|
|
43
|
+
readonly isPartOf?: ThingReference;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export const webPageJsonLd = (input: WebPageJsonLdInput) =>
|
|
47
|
+
withSchemaContext('WebPage', input);
|
|
48
|
+
|
|
49
|
+
export interface WebApplicationJsonLdInput {
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly url: string;
|
|
52
|
+
readonly applicationCategory?: string;
|
|
53
|
+
readonly browserRequirements?: string;
|
|
54
|
+
readonly description?: string;
|
|
55
|
+
readonly operatingSystem?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const webApplicationJsonLd = (input: WebApplicationJsonLdInput) =>
|
|
59
|
+
withSchemaContext('WebApplication', input);
|
|
60
|
+
|
|
61
|
+
export interface SoftwareApplicationJsonLdInput {
|
|
62
|
+
readonly name: string;
|
|
63
|
+
readonly url: string;
|
|
64
|
+
readonly applicationCategory?: string;
|
|
65
|
+
readonly applicationSubCategory?: string;
|
|
66
|
+
readonly description?: string;
|
|
67
|
+
readonly offers?: ThingReference;
|
|
68
|
+
readonly operatingSystem?: string;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const softwareApplicationJsonLd = (
|
|
72
|
+
input: SoftwareApplicationJsonLdInput,
|
|
73
|
+
) => withSchemaContext('SoftwareApplication', input);
|
|
74
|
+
|
|
75
|
+
export interface OrganizationJsonLdInput {
|
|
76
|
+
readonly name: string;
|
|
77
|
+
readonly url?: string;
|
|
78
|
+
readonly logo?: string;
|
|
79
|
+
readonly sameAs?: readonly string[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export const organizationJsonLd = (input: OrganizationJsonLdInput) =>
|
|
83
|
+
withSchemaContext('Organization', input);
|
|
84
|
+
|
|
85
|
+
export interface BreadcrumbListItemInput {
|
|
86
|
+
readonly name: string;
|
|
87
|
+
readonly item: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export const breadcrumbListJsonLd = (
|
|
91
|
+
items: readonly BreadcrumbListItemInput[],
|
|
92
|
+
) =>
|
|
93
|
+
withSchemaContext('BreadcrumbList', {
|
|
94
|
+
itemListElement: items.map((entry, index) => ({
|
|
95
|
+
'@type': 'ListItem',
|
|
96
|
+
item: entry.item,
|
|
97
|
+
name: entry.name,
|
|
98
|
+
position: index + 1,
|
|
99
|
+
})),
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
export interface FAQPageQuestionInput {
|
|
103
|
+
readonly name: string;
|
|
104
|
+
readonly acceptedAnswer: {
|
|
105
|
+
readonly text: string;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export const faqPageJsonLd = (questions: readonly FAQPageQuestionInput[]) =>
|
|
110
|
+
withSchemaContext('FAQPage', {
|
|
111
|
+
mainEntity: questions.map(question => ({
|
|
112
|
+
'@type': 'Question',
|
|
113
|
+
acceptedAnswer: {
|
|
114
|
+
'@type': 'Answer',
|
|
115
|
+
text: question.acceptedAnswer.text,
|
|
116
|
+
},
|
|
117
|
+
name: question.name,
|
|
118
|
+
})),
|
|
119
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// @generated by @modern-js/create.
|
|
2
|
+
// Author route metadata in colocated src/routes/**/route.meta.ts files.
|
|
3
|
+
// This compatibility manifest is regenerated from route-owned metadata.
|
|
4
|
+
|
|
5
|
+
export const ultramodernRouteNamespace = '{{value0}}' as const;
|
|
6
|
+
|
|
7
|
+
export const ultramodernRouteMetadata = {{value1}} as const;
|
|
8
|
+
|
|
9
|
+
export const ultramodernLocalisedUrls = {{value2}} as const;
|
|
10
|
+
|
|
11
|
+
export const ultramodernPublicRoutes = {{value3}} as const;
|
|
12
|
+
|
|
13
|
+
export const ultramodernRouteConfig = {
|
|
14
|
+
authoring: 'colocated-route-meta',
|
|
15
|
+
generatedManifest: true,
|
|
16
|
+
localisedUrls: ultramodernLocalisedUrls,
|
|
17
|
+
namespace: ultramodernRouteNamespace,
|
|
18
|
+
publicRoutes: ultramodernPublicRoutes,
|
|
19
|
+
routes: ultramodernRouteMetadata,
|
|
20
|
+
source: 'route-owned',
|
|
21
|
+
} as const;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Link, useModernI18n } from '@modern-js/plugin-i18n/runtime';
|
|
2
|
+
import ShellFrame from '../shell-frame';
|
|
3
|
+
import { UltramodernRouteHead } from '../ultramodern-route-head';
|
|
4
|
+
import { VerticalShowcase } from '../vertical-components';
|
|
5
|
+
import { ultramodernUiMarker } from '../../ultramodern-build';
|
|
6
|
+
|
|
7
|
+
export default function ShellHome() {
|
|
8
|
+
const { t } = useModernI18n();
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<ShellFrame>
|
|
12
|
+
<UltramodernRouteHead />
|
|
13
|
+
<section className="{{value0}}">
|
|
14
|
+
<div className="{{value1}}">
|
|
15
|
+
<p className="{{value2}}">{t('shell.hero.eyebrow')}</p>
|
|
16
|
+
<h1 className="{{value3}}">{t('shell.title')}</h1>
|
|
17
|
+
<p className="{{value4}}">{t('shell.hero.lede')}</p>
|
|
18
|
+
<div className="{{value5}}">
|
|
19
|
+
<Link className="{{value6}}" to="/">
|
|
20
|
+
{t('shell.hero.primary')}
|
|
21
|
+
</Link>
|
|
22
|
+
<span className="{{value7}}">
|
|
23
|
+
{t('shell.hero.secondary')}
|
|
24
|
+
</span>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div className="{{value8}}">
|
|
28
|
+
<div className="{{value9}}">
|
|
29
|
+
<article className="{{value10}}">
|
|
30
|
+
<span className="{{value11}}">{t('shell.hero.cardOneKicker')}</span>
|
|
31
|
+
<strong className="{{value12}}">{{value13}}</strong>
|
|
32
|
+
<p className="{{value14}}">{t('shell.hero.cardOne')}</p>
|
|
33
|
+
</article>
|
|
34
|
+
<article className="{{value15}}">
|
|
35
|
+
<span className="{{value16}}">{t('shell.hero.cardTwoKicker')}</span>
|
|
36
|
+
<strong className="{{value17}}">SSR</strong>
|
|
37
|
+
<p className="{{value18}}">{t('shell.hero.cardTwo')}</p>
|
|
38
|
+
</article>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</section>
|
|
42
|
+
<VerticalShowcase />
|
|
43
|
+
<p className="{{value19}}" data-testid="ultramodern-preset">presetUltramodern workspace</p>
|
|
44
|
+
<p className="{{value20}}" data-build-marker={ultramodernUiMarker.build} data-testid="ultramodern-ui-marker">
|
|
45
|
+
{ultramodernUiMarker.appId}:{ultramodernUiMarker.version}
|
|
46
|
+
</p>
|
|
47
|
+
</ShellFrame>
|
|
48
|
+
);
|
|
49
|
+
}
|