@bleedingdev/modern-js-ultramodern-app-tools 3.9.0-ultramodern.9 → 3.9.3-ultramodern.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +189 -0
- package/bin/ultramodern.mjs +23 -0
- package/dist/cjs/native-composition/cli.js +196 -0
- package/dist/cjs/native-composition/config-metadata-worker.js +24 -0
- package/dist/cjs/native-composition/config-metadata.js +195 -0
- package/dist/cjs/native-composition/config-read-context.js +51 -0
- package/dist/cjs/native-composition/config.js +176 -0
- package/dist/cjs/native-composition/index.js +169 -61
- package/dist/cjs/native-composition/module-federation-renderer-plugin.js +205 -0
- package/dist/cjs/native-composition/native-assets.js +194 -0
- package/dist/cjs/native-composition/native-build-manifest.js +181 -0
- package/dist/cjs/native-composition/native-development.js +371 -0
- package/dist/cjs/native-composition/native-entry-command.js +65 -0
- package/dist/cjs/native-composition/native-entry.js +186 -0
- package/dist/cjs/native-composition/native-federation-dev-assets.js +125 -0
- package/dist/cjs/native-composition/native-federation-dev-public-path.js +65 -0
- package/dist/cjs/native-composition/native-federation-files.js +66 -0
- package/dist/cjs/native-composition/native-i18n.js +238 -0
- package/dist/cjs/native-composition/native-infrastructure.js +520 -0
- package/dist/cjs/native-composition/native-module-federation.js +690 -0
- package/dist/cjs/native-composition/native-prerender.js +400 -0
- package/dist/cjs/native-composition/native-routes.js +224 -0
- package/dist/cjs/native-composition/native-server-plugin.js +422 -0
- package/dist/cjs/native-composition/native-worker.js +168 -0
- package/dist/cjs/native-composition/preset.js +62 -30
- package/dist/cjs/native-composition/release-envelope-plugin.js +13 -3
- package/dist/cjs/native-composition/renderer-build-output.js +71 -0
- package/dist/cjs/native-composition/renderer-build-resolution.js +66 -0
- package/dist/cjs/native-composition/renderer-installed-profile.js +113 -0
- package/dist/cjs/native-composition/renderer-profile.js +102 -0
- package/dist/cjs/native-composition/renderer-registration.js +128 -0
- package/dist/cjs/native-composition/renderer-router-resolution.js +71 -0
- package/dist/cjs/native-composition/renderer-selection.js +258 -0
- package/dist/cjs/native-composition/renderer-source-ownership.js +136 -0
- package/dist/cjs/native-composition/rsbuild.js +101 -0
- package/dist/cjs/native-composition/server-minify.js +73 -0
- package/dist/cjs/native-composition/server-plugin-resolution.js +96 -0
- package/dist/cjs/native-composition/svg-components.js +95 -0
- package/dist/cjs/native-composition/type-checker.js +75 -0
- package/dist/cjs/native-composition/workspace-preset.js +380 -0
- package/dist/cjs/renderers/react/adapter.js +104 -0
- package/dist/cjs/renderers/react/build-metadata-server.js +97 -0
- package/dist/cjs/renderers/react/build-metadata.js +298 -0
- package/dist/cjs/renderers/react/composition.js +173 -0
- package/dist/cjs/renderers/react/module-federation-recovery-plugin.js +106 -0
- package/dist/cjs/renderers/react/module-federation-shared-plugin.js +285 -0
- package/dist/cjs/renderers/react/module-federation.js +75 -0
- package/dist/cjs/renderers/react/profile.js +93 -0
- package/dist/cjs/renderers/react/router-bindings.js +155 -0
- package/dist/cjs/{native-composition → renderers/react}/router-integration-plugin.js +14 -6
- package/dist/cjs/{native-composition → renderers/react}/router-runtime.js +1 -14
- package/dist/cjs/renderers/react/router-state-runtime.js +54 -0
- package/dist/cjs/renderers/react/rsc-worker-integration.js +117 -0
- package/dist/cjs/renderers/react/ssr-integration-plugin.js +81 -0
- package/dist/cjs/renderers/react/types.js +18 -0
- package/dist/esm/native-composition/cli.mjs +141 -0
- package/dist/esm/native-composition/config-metadata-worker.mjs +18 -0
- package/dist/esm/native-composition/config-metadata.mjs +143 -0
- package/dist/esm/native-composition/config-read-context.mjs +10 -0
- package/dist/esm/native-composition/config.mjs +115 -0
- package/dist/esm/native-composition/index.mjs +109 -48
- package/dist/esm/native-composition/module-federation-renderer-plugin.mjs +145 -0
- package/dist/esm/native-composition/native-assets.mjs +156 -0
- package/dist/esm/native-composition/native-build-manifest.mjs +108 -0
- package/dist/esm/native-composition/native-development.mjs +313 -0
- package/dist/esm/native-composition/native-entry-command.mjs +24 -0
- package/dist/esm/native-composition/native-entry.mjs +125 -0
- package/dist/esm/native-composition/native-federation-dev-assets.mjs +71 -0
- package/dist/esm/native-composition/native-federation-dev-public-path.mjs +27 -0
- package/dist/esm/native-composition/native-federation-files.mjs +14 -0
- package/dist/esm/native-composition/native-i18n.mjs +174 -0
- package/dist/esm/native-composition/native-infrastructure.mjs +465 -0
- package/dist/esm/native-composition/native-module-federation.mjs +575 -0
- package/dist/esm/native-composition/native-prerender.mjs +327 -0
- package/dist/esm/native-composition/native-routes.mjs +172 -0
- package/dist/esm/native-composition/native-server-plugin.mjs +363 -0
- package/dist/esm/native-composition/native-worker.mjs +110 -0
- package/dist/esm/native-composition/preset.mjs +52 -29
- package/dist/esm/native-composition/release-envelope-plugin.mjs +13 -3
- package/dist/esm/native-composition/renderer-build-output.mjs +33 -0
- package/dist/esm/native-composition/renderer-build-resolution.mjs +28 -0
- package/dist/esm/native-composition/renderer-installed-profile.mjs +60 -0
- package/dist/esm/native-composition/renderer-profile.mjs +49 -0
- package/dist/esm/native-composition/renderer-registration.mjs +69 -0
- package/dist/esm/native-composition/renderer-router-resolution.mjs +33 -0
- package/dist/esm/native-composition/renderer-selection.mjs +193 -0
- package/dist/esm/native-composition/renderer-source-ownership.mjs +84 -0
- package/dist/esm/native-composition/rsbuild.mjs +53 -0
- package/dist/esm/native-composition/server-minify.mjs +32 -0
- package/dist/esm/native-composition/server-plugin-resolution.mjs +44 -0
- package/dist/esm/native-composition/svg-components.mjs +37 -0
- package/dist/esm/native-composition/type-checker.mjs +34 -0
- package/dist/esm/native-composition/workspace-preset.mjs +329 -0
- package/dist/esm/renderers/react/adapter.mjs +53 -0
- package/dist/esm/renderers/react/build-metadata-server.mjs +57 -0
- package/dist/esm/renderers/react/build-metadata.mjs +240 -0
- package/dist/esm/renderers/react/composition.mjs +119 -0
- package/dist/esm/renderers/react/module-federation-recovery-plugin.mjs +52 -0
- package/dist/esm/renderers/react/module-federation-shared-plugin.mjs +219 -0
- package/dist/esm/renderers/react/module-federation.mjs +34 -0
- package/dist/esm/renderers/react/profile.mjs +55 -0
- package/dist/esm/renderers/react/router-bindings.mjs +106 -0
- package/dist/esm/renderers/react/router-integration-plugin.mjs +25 -0
- package/dist/esm/{native-composition → renderers/react}/router-runtime.mjs +1 -14
- package/dist/esm/renderers/react/router-state-runtime.mjs +14 -0
- package/dist/esm/renderers/react/rsc-worker-integration.mjs +73 -0
- package/dist/esm/renderers/react/ssr-integration-plugin.mjs +43 -0
- package/dist/esm/renderers/react/types.mjs +0 -0
- package/dist/esm-node/native-composition/cli.mjs +142 -0
- package/dist/esm-node/native-composition/config-metadata-worker.mjs +19 -0
- package/dist/esm-node/native-composition/config-metadata.mjs +144 -0
- package/dist/esm-node/native-composition/config-read-context.mjs +11 -0
- package/dist/esm-node/native-composition/config.mjs +116 -0
- package/dist/esm-node/native-composition/index.mjs +109 -48
- package/dist/esm-node/native-composition/module-federation-renderer-plugin.mjs +146 -0
- package/dist/esm-node/native-composition/native-assets.mjs +157 -0
- package/dist/esm-node/native-composition/native-build-manifest.mjs +109 -0
- package/dist/esm-node/native-composition/native-development.mjs +314 -0
- package/dist/esm-node/native-composition/native-entry-command.mjs +25 -0
- package/dist/esm-node/native-composition/native-entry.mjs +126 -0
- package/dist/esm-node/native-composition/native-federation-dev-assets.mjs +72 -0
- package/dist/esm-node/native-composition/native-federation-dev-public-path.mjs +28 -0
- package/dist/esm-node/native-composition/native-federation-files.mjs +15 -0
- package/dist/esm-node/native-composition/native-i18n.mjs +175 -0
- package/dist/esm-node/native-composition/native-infrastructure.mjs +466 -0
- package/dist/esm-node/native-composition/native-module-federation.mjs +576 -0
- package/dist/esm-node/native-composition/native-prerender.mjs +328 -0
- package/dist/esm-node/native-composition/native-routes.mjs +173 -0
- package/dist/esm-node/native-composition/native-server-plugin.mjs +364 -0
- package/dist/esm-node/native-composition/native-worker.mjs +111 -0
- package/dist/esm-node/native-composition/preset.mjs +52 -29
- package/dist/esm-node/native-composition/release-envelope-plugin.mjs +13 -3
- package/dist/esm-node/native-composition/renderer-build-output.mjs +34 -0
- package/dist/esm-node/native-composition/renderer-build-resolution.mjs +29 -0
- package/dist/esm-node/native-composition/renderer-installed-profile.mjs +61 -0
- package/dist/esm-node/native-composition/renderer-profile.mjs +50 -0
- package/dist/esm-node/native-composition/renderer-registration.mjs +70 -0
- package/dist/esm-node/native-composition/renderer-router-resolution.mjs +34 -0
- package/dist/esm-node/native-composition/renderer-selection.mjs +194 -0
- package/dist/esm-node/native-composition/renderer-source-ownership.mjs +85 -0
- package/dist/esm-node/native-composition/rsbuild.mjs +54 -0
- package/dist/esm-node/native-composition/server-minify.mjs +33 -0
- package/dist/esm-node/native-composition/server-plugin-resolution.mjs +45 -0
- package/dist/esm-node/native-composition/svg-components.mjs +41 -0
- package/dist/esm-node/native-composition/type-checker.mjs +35 -0
- package/dist/esm-node/native-composition/workspace-preset.mjs +330 -0
- package/dist/esm-node/renderers/react/adapter.mjs +54 -0
- package/dist/esm-node/renderers/react/build-metadata-server.mjs +58 -0
- package/dist/esm-node/renderers/react/build-metadata.mjs +241 -0
- package/dist/esm-node/renderers/react/composition.mjs +120 -0
- package/dist/esm-node/renderers/react/module-federation-recovery-plugin.mjs +53 -0
- package/dist/esm-node/renderers/react/module-federation-shared-plugin.mjs +220 -0
- package/dist/esm-node/renderers/react/module-federation.mjs +35 -0
- package/dist/esm-node/renderers/react/profile.mjs +56 -0
- package/dist/esm-node/renderers/react/router-bindings.mjs +107 -0
- package/dist/esm-node/renderers/react/router-integration-plugin.mjs +26 -0
- package/dist/esm-node/{native-composition → renderers/react}/router-runtime.mjs +1 -14
- package/dist/esm-node/renderers/react/router-state-runtime.mjs +15 -0
- package/dist/esm-node/renderers/react/rsc-worker-integration.mjs +74 -0
- package/dist/esm-node/renderers/react/ssr-integration-plugin.mjs +44 -0
- package/dist/esm-node/renderers/react/types.mjs +1 -0
- package/dist/types/native-composition/cli.d.ts +28 -0
- package/dist/types/native-composition/config-metadata-worker.d.ts +1 -0
- package/dist/types/native-composition/config-metadata.d.ts +47 -0
- package/dist/types/native-composition/config-read-context.d.ts +2 -0
- package/dist/types/native-composition/config.d.ts +39 -0
- package/dist/types/native-composition/index.d.ts +16 -3
- package/dist/types/native-composition/module-federation-renderer-plugin.d.ts +19 -0
- package/dist/types/native-composition/native-assets.d.ts +5 -0
- package/dist/types/native-composition/native-build-manifest.d.ts +50 -0
- package/dist/types/native-composition/native-development.d.ts +62 -0
- package/dist/types/native-composition/native-entry-command.d.ts +6 -0
- package/dist/types/native-composition/native-entry.d.ts +26 -0
- package/dist/types/native-composition/native-federation-dev-assets.d.ts +14 -0
- package/dist/types/native-composition/native-federation-dev-public-path.d.ts +6 -0
- package/dist/types/native-composition/native-federation-files.d.ts +3 -0
- package/dist/types/native-composition/native-i18n.d.ts +112 -0
- package/dist/types/native-composition/native-infrastructure.d.ts +55 -0
- package/dist/types/native-composition/native-module-federation.d.ts +96 -0
- package/dist/types/native-composition/native-prerender.d.ts +81 -0
- package/dist/types/native-composition/native-routes.d.ts +19 -0
- package/dist/types/native-composition/native-server-plugin.d.ts +56 -0
- package/dist/types/native-composition/native-worker.d.ts +43 -0
- package/dist/types/native-composition/preset.d.ts +16 -7
- package/dist/types/native-composition/release-envelope-plugin.d.ts +3 -2
- package/dist/types/native-composition/renderer-build-output.d.ts +4 -0
- package/dist/types/native-composition/renderer-build-resolution.d.ts +4 -0
- package/dist/types/native-composition/renderer-installed-profile.d.ts +26 -0
- package/dist/types/native-composition/renderer-profile.d.ts +14 -0
- package/dist/types/native-composition/renderer-registration.d.ts +21 -0
- package/dist/types/native-composition/renderer-router-resolution.d.ts +6 -0
- package/dist/types/native-composition/renderer-selection.d.ts +30 -0
- package/dist/types/native-composition/renderer-source-ownership.d.ts +11 -0
- package/dist/types/native-composition/rsbuild.d.ts +12 -0
- package/dist/types/native-composition/server-minify.d.ts +33 -0
- package/dist/types/native-composition/server-plugin-resolution.d.ts +2 -0
- package/dist/types/native-composition/svg-component-loader.d.cts +2 -0
- package/dist/types/native-composition/svg-component-source.d.cts +24 -0
- package/dist/types/native-composition/svg-components.d.ts +23 -0
- package/dist/types/native-composition/type-checker.d.ts +13 -0
- package/dist/types/native-composition/types.d.ts +10 -3
- package/dist/types/native-composition/workspace-preset.d.ts +18 -0
- package/dist/types/renderers/react/adapter.d.ts +5 -0
- package/dist/types/renderers/react/build-metadata-server.d.ts +11 -0
- package/dist/types/renderers/react/build-metadata.d.ts +14 -0
- package/dist/types/renderers/react/composition.d.ts +10 -0
- package/dist/types/renderers/react/module-federation-recovery-plugin.d.ts +4 -0
- package/dist/types/renderers/react/module-federation-shared-plugin.d.ts +61 -0
- package/dist/types/renderers/react/module-federation.d.ts +2 -0
- package/dist/types/renderers/react/profile.d.ts +2 -0
- package/dist/types/renderers/react/router-bindings.d.ts +9 -0
- package/dist/types/{native-composition → renderers/react}/router-runtime.d.ts +0 -1
- package/dist/types/renderers/react/router-state-runtime.d.ts +7 -0
- package/dist/types/renderers/react/rsc-worker-integration.d.ts +15 -0
- package/dist/types/renderers/react/ssr-integration-plugin.d.ts +3 -0
- package/dist/types/renderers/react/types.d.ts +14 -0
- package/dist/types-esm/native-composition/cli.d.mts +28 -0
- package/dist/types-esm/native-composition/config-metadata-worker.d.mts +1 -0
- package/dist/types-esm/native-composition/config-metadata.d.mts +47 -0
- package/dist/types-esm/native-composition/config-read-context.d.mts +2 -0
- package/dist/types-esm/native-composition/config.d.mts +39 -0
- package/dist/types-esm/native-composition/index.d.mts +16 -3
- package/dist/types-esm/native-composition/module-federation-renderer-plugin.d.mts +19 -0
- package/dist/types-esm/native-composition/native-assets.d.mts +5 -0
- package/dist/types-esm/native-composition/native-build-manifest.d.mts +50 -0
- package/dist/types-esm/native-composition/native-development.d.mts +62 -0
- package/dist/types-esm/native-composition/native-entry-command.d.mts +6 -0
- package/dist/types-esm/native-composition/native-entry.d.mts +26 -0
- package/dist/types-esm/native-composition/native-federation-dev-assets.d.mts +14 -0
- package/dist/types-esm/native-composition/native-federation-dev-public-path.d.mts +6 -0
- package/dist/types-esm/native-composition/native-federation-files.d.mts +3 -0
- package/dist/types-esm/native-composition/native-i18n.d.mts +112 -0
- package/dist/types-esm/native-composition/native-infrastructure.d.mts +55 -0
- package/dist/types-esm/native-composition/native-module-federation.d.mts +96 -0
- package/dist/types-esm/native-composition/native-prerender.d.mts +81 -0
- package/dist/types-esm/native-composition/native-routes.d.mts +19 -0
- package/dist/types-esm/native-composition/native-server-plugin.d.mts +56 -0
- package/dist/types-esm/native-composition/native-worker.d.mts +43 -0
- package/dist/types-esm/native-composition/preset.d.mts +16 -7
- package/dist/types-esm/native-composition/release-envelope-plugin.d.mts +3 -2
- package/dist/types-esm/native-composition/renderer-build-output.d.mts +4 -0
- package/dist/types-esm/native-composition/renderer-build-resolution.d.mts +4 -0
- package/dist/types-esm/native-composition/renderer-installed-profile.d.mts +26 -0
- package/dist/types-esm/native-composition/renderer-profile.d.mts +14 -0
- package/dist/types-esm/native-composition/renderer-registration.d.mts +21 -0
- package/dist/types-esm/native-composition/renderer-router-resolution.d.mts +6 -0
- package/dist/types-esm/native-composition/renderer-selection.d.mts +30 -0
- package/dist/types-esm/native-composition/renderer-source-ownership.d.mts +11 -0
- package/dist/types-esm/native-composition/rsbuild.d.mts +12 -0
- package/dist/types-esm/native-composition/server-minify.d.mts +33 -0
- package/dist/types-esm/native-composition/server-plugin-resolution.d.mts +2 -0
- package/dist/types-esm/native-composition/svg-component-loader.d.cts +2 -0
- package/dist/types-esm/native-composition/svg-component-source.d.cts +24 -0
- package/dist/types-esm/native-composition/svg-components.d.mts +23 -0
- package/dist/types-esm/native-composition/type-checker.d.mts +13 -0
- package/dist/types-esm/native-composition/types.d.mts +10 -3
- package/dist/types-esm/native-composition/workspace-preset.d.mts +18 -0
- package/dist/types-esm/renderers/react/adapter.d.mts +5 -0
- package/dist/types-esm/renderers/react/build-metadata-server.d.mts +11 -0
- package/dist/types-esm/renderers/react/build-metadata.d.mts +14 -0
- package/dist/types-esm/renderers/react/composition.d.mts +10 -0
- package/dist/types-esm/renderers/react/module-federation-recovery-plugin.d.mts +4 -0
- package/dist/types-esm/renderers/react/module-federation-shared-plugin.d.mts +61 -0
- package/dist/types-esm/renderers/react/module-federation.d.mts +2 -0
- package/dist/types-esm/renderers/react/profile.d.mts +2 -0
- package/dist/types-esm/renderers/react/router-bindings.d.mts +9 -0
- package/dist/types-esm/{native-composition → renderers/react}/router-runtime.d.mts +0 -1
- package/dist/types-esm/renderers/react/router-state-runtime.d.mts +7 -0
- package/dist/types-esm/renderers/react/rsc-worker-integration.d.mts +15 -0
- package/dist/types-esm/renderers/react/ssr-integration-plugin.d.mts +3 -0
- package/dist/types-esm/renderers/react/types.d.mts +14 -0
- package/lib/react-types.d.ts +2 -0
- package/package.json +199 -35
- package/src/native-composition/cli.ts +204 -0
- package/src/native-composition/config-metadata-worker.ts +24 -0
- package/src/native-composition/config-metadata.ts +236 -0
- package/src/native-composition/config-read-context.ts +18 -0
- package/src/native-composition/config.ts +211 -0
- package/src/native-composition/index.ts +225 -79
- package/src/native-composition/module-federation-renderer-plugin.ts +246 -0
- package/src/native-composition/native-assets.ts +262 -0
- package/src/native-composition/native-build-manifest.ts +274 -0
- package/src/native-composition/native-development.ts +536 -0
- package/src/native-composition/native-entry-command.ts +33 -0
- package/src/native-composition/native-entry.ts +220 -0
- package/src/native-composition/native-federation-dev-assets.ts +142 -0
- package/src/native-composition/native-federation-dev-public-path.ts +64 -0
- package/src/native-composition/native-federation-files.ts +23 -0
- package/src/native-composition/native-i18n.ts +404 -0
- package/src/native-composition/native-infrastructure.ts +888 -0
- package/src/native-composition/native-module-federation.ts +1089 -0
- package/src/native-composition/native-prerender.ts +608 -0
- package/src/native-composition/native-routes.ts +226 -0
- package/src/native-composition/native-server-plugin.ts +708 -0
- package/src/native-composition/native-worker.ts +199 -0
- package/src/native-composition/preset.ts +85 -65
- package/src/native-composition/release-envelope-plugin.ts +23 -5
- package/src/native-composition/renderer-build-output.ts +74 -0
- package/src/native-composition/renderer-build-resolution.ts +47 -0
- package/src/native-composition/renderer-installed-profile.ts +133 -0
- package/src/native-composition/renderer-profile.ts +79 -0
- package/src/native-composition/renderer-registration.ts +153 -0
- package/src/native-composition/renderer-router-resolution.ts +64 -0
- package/src/native-composition/renderer-selection.ts +382 -0
- package/src/native-composition/renderer-source-ownership.ts +115 -0
- package/src/native-composition/rsbuild.ts +71 -0
- package/src/native-composition/server-minify.ts +48 -0
- package/src/native-composition/server-plugin-resolution.ts +56 -0
- package/src/native-composition/svg-component-loader.cjs +1 -0
- package/src/native-composition/svg-component-source.cjs +129 -0
- package/src/native-composition/svg-components.ts +107 -0
- package/src/native-composition/type-checker.ts +52 -0
- package/src/native-composition/types.ts +19 -3
- package/src/native-composition/workspace-preset.ts +611 -0
- package/src/renderers/react/adapter.ts +66 -0
- package/src/renderers/react/build-metadata-server.ts +127 -0
- package/src/renderers/react/build-metadata.ts +343 -0
- package/src/renderers/react/composition.ts +149 -0
- package/src/renderers/react/module-federation-recovery-plugin.ts +107 -0
- package/src/renderers/react/module-federation-shared-plugin.ts +470 -0
- package/src/renderers/react/module-federation.ts +34 -0
- package/src/renderers/react/profile.ts +45 -0
- package/src/renderers/react/router-bindings.ts +222 -0
- package/src/{native-composition → renderers/react}/router-integration-plugin.ts +12 -5
- package/src/{native-composition → renderers/react}/router-runtime.ts +2 -15
- package/src/renderers/react/router-state-runtime.ts +16 -0
- package/src/renderers/react/rsc-worker-integration.ts +110 -0
- package/src/renderers/react/ssr-integration-plugin.ts +71 -0
- package/src/renderers/react/types.ts +17 -0
- package/src/types.d.ts +13 -0
- package/dist/cjs/native-composition/ssr-integration-plugin.js +0 -145
- package/dist/esm/native-composition/router-integration-plugin.mjs +0 -17
- package/dist/esm/native-composition/ssr-integration-plugin.mjs +0 -104
- package/dist/esm-node/native-composition/router-integration-plugin.mjs +0 -18
- package/dist/esm-node/native-composition/ssr-integration-plugin.mjs +0 -105
- package/dist/types/native-composition/ssr-integration-plugin.d.ts +0 -7
- package/dist/types-esm/native-composition/ssr-integration-plugin.d.mts +0 -7
- package/src/native-composition/ssr-integration-plugin.ts +0 -244
- /package/dist/cjs/{native-composition → renderers/react}/rsc-disabled-plugin.js +0 -0
- /package/dist/esm/{native-composition → renderers/react}/rsc-disabled-plugin.mjs +0 -0
- /package/dist/esm-node/{native-composition → renderers/react}/rsc-disabled-plugin.mjs +0 -0
- /package/dist/types/{native-composition → renderers/react}/router-integration-plugin.d.ts +0 -0
- /package/dist/types/{native-composition → renderers/react}/rsc-disabled-plugin.d.ts +0 -0
- /package/dist/types-esm/{native-composition → renderers/react}/router-integration-plugin.d.mts +0 -0
- /package/dist/types-esm/{native-composition → renderers/react}/rsc-disabled-plugin.d.mts +0 -0
- /package/src/{native-composition → renderers/react}/rsc-disabled-plugin.ts +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# UltraModern.js application tools
|
|
2
|
+
|
|
3
|
+
Select the application renderer in `modern.config.ts`. `defineConfig` registers
|
|
4
|
+
the selected compiler, runtime, router integration and server lifecycle.
|
|
5
|
+
|
|
6
|
+
```ts
|
|
7
|
+
import { defineConfig } from '@modern-js/ultramodern-app-tools';
|
|
8
|
+
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
renderer: 'solid', // 'react' or 'octane'; omitted means 'react'
|
|
11
|
+
server: { ssr: true },
|
|
12
|
+
});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Use Node **26.10.0 or newer**. Run the installed application's public CLI:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
pnpm exec ultramodern dev
|
|
19
|
+
pnpm exec ultramodern build
|
|
20
|
+
pnpm exec ultramodern serve
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The selector belongs to this config import. Do not add another `appTools()` or
|
|
24
|
+
`ultramodernAppTools()` base plugin. Changing the renderer requires matching
|
|
25
|
+
native application source and dependencies, then a dev-server restart and a
|
|
26
|
+
document reload. The generated entries own mounting and hydration.
|
|
27
|
+
|
|
28
|
+
## Native application imports
|
|
29
|
+
|
|
30
|
+
| Renderer | Component authoring | Application router |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| React | `react` | `react-router`, or the configured TanStack integration |
|
|
33
|
+
| Solid 2 | `solid-js`, `@solidjs/web` | `@modern-js/renderer-solid/router` |
|
|
34
|
+
| Octane | `octane` | `@modern-js/renderer-octane/router` |
|
|
35
|
+
|
|
36
|
+
Solid and Octane use their native component syntax and managed filesystem
|
|
37
|
+
routes. Generated applications import the runtime modules of their renderer
|
|
38
|
+
package automatically: `/entry-client`, `/entry-server`, `/router`, `/i18n`
|
|
39
|
+
and `/manifest`, plus `/federation` for Solid. `/plugin` is the build-only
|
|
40
|
+
adapter; only the CLI loads it.
|
|
41
|
+
|
|
42
|
+
### Renderer adapters
|
|
43
|
+
|
|
44
|
+
Every renderer is a `RendererAdapter` from `@modern-js/renderer-core/adapter`.
|
|
45
|
+
`defineConfig` loads only the selected one:
|
|
46
|
+
|
|
47
|
+
- `react` is a composed adapter (`src/renderers/react`). Its `compose()`
|
|
48
|
+
registers the Modern.js React graph.
|
|
49
|
+
- `solid` and `octane` are native adapters exported from
|
|
50
|
+
`@modern-js/renderer-<renderer>/plugin`. Each one carries its build profile,
|
|
51
|
+
runtime entry modules, Rsbuild compiler plugin, compiler artifact checks,
|
|
52
|
+
Module Federation singletons, worker support and create templates.
|
|
53
|
+
|
|
54
|
+
This package keeps the renderer-neutral parts: config selection, the
|
|
55
|
+
registered renderers' package and source-extension ownership, capability
|
|
56
|
+
checks, and one build, dev, SSG, worker and federation pipeline for every
|
|
57
|
+
native adapter. The entries it generates hold only data: `index.ts` calls the
|
|
58
|
+
renderer's `startNativeClient()`, `index.server.ts` calls
|
|
59
|
+
`createNativeServerEntry()`, and `app.client.ts`/`app.server.ts` list the
|
|
60
|
+
route modules. Mounting, hydration, documents, sessions, i18n and data
|
|
61
|
+
endpoints live in `@modern-js/renderer-core/entry-client` and
|
|
62
|
+
`@modern-js/renderer-core/entry-server`.
|
|
63
|
+
|
|
64
|
+
## Supported preview profile
|
|
65
|
+
|
|
66
|
+
Solid **2.0.0-rc.13** and Octane are Node previews with CSR, native streaming SSR,
|
|
67
|
+
hydration, route loading and actions. Their exact compiler, runtime and router
|
|
68
|
+
pins come from `resolveRendererProfile` exported by this package. Octane uses
|
|
69
|
+
the maintained [BleedingDev release artifacts](https://github.com/bleedingdev/octane/releases)
|
|
70
|
+
selected by that profile.
|
|
71
|
+
|
|
72
|
+
Native previews reject React Server Components, React runtime i18n
|
|
73
|
+
configuration and CSS declaration emission beside authored source. Octane
|
|
74
|
+
also rejects Module Federation.
|
|
75
|
+
These limits are checked before output generation; there is no preview bypass.
|
|
76
|
+
|
|
77
|
+
Native apps localize with `i18nPlugin()` from this package, which takes the
|
|
78
|
+
same `localeDetection`/`backend` options as `@modern-js/plugin-i18n`. URLs are
|
|
79
|
+
language-prefixed (`/cs/about`), translations come from
|
|
80
|
+
`locales/<language>/<namespace>.json`, and components use `useI18n`,
|
|
81
|
+
`LocalizedLink` and `I18nProvider` from `@modern-js/renderer-<renderer>/i18n`.
|
|
82
|
+
Install `i18next` and `@modern-js/i18n-runtime-extensions` next to the renderer:
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
import { defineConfig, i18nPlugin } from '@modern-js/ultramodern-app-tools';
|
|
86
|
+
|
|
87
|
+
export default defineConfig({
|
|
88
|
+
renderer: 'solid',
|
|
89
|
+
server: { ssr: true },
|
|
90
|
+
plugins: [
|
|
91
|
+
i18nPlugin({
|
|
92
|
+
localeDetection: { languages: ['en', 'cs'], fallbackLanguage: 'en' },
|
|
93
|
+
}),
|
|
94
|
+
],
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
`output.ssg` and `output.ssgByEntries` prerender native routes after the build,
|
|
99
|
+
in the same `dist/html/<entry>/<route>/index.html` layout as React SSG. Each
|
|
100
|
+
document's search-free loader data is written beside it, so client navigation
|
|
101
|
+
between prerendered routes works on a static host. A route cannot use both SSR
|
|
102
|
+
and SSG.
|
|
103
|
+
|
|
104
|
+
`import Icon from './icon.svg?component'` compiles an SVG into a Solid or
|
|
105
|
+
Octane component; `output.svgDefaultExport: 'component'` does the same for
|
|
106
|
+
plain `.svg` imports from scripts. Stylesheets and `?url` imports keep URLs.
|
|
107
|
+
Add `/// <reference types="@modern-js/ultramodern-app-tools/types" />` for the
|
|
108
|
+
`?component` module type.
|
|
109
|
+
|
|
110
|
+
Solid's native public route snapshots accept immutable plain records, arrays,
|
|
111
|
+
scalars and checked top-level deferred Promise slots. Rich HTTP data transport
|
|
112
|
+
is a separate `@modern-js/renderer-core/data` surface. Request objects, headers,
|
|
113
|
+
bindings and session state remain private to the request.
|
|
114
|
+
Authored deferred Promises use the standard prototype without custom own
|
|
115
|
+
properties. Symbol-bearing source Promises from async-hooks instrumentation and
|
|
116
|
+
Node's `--no-async-context-frame` mode are outside this preview profile.
|
|
117
|
+
|
|
118
|
+
Generate a workspace with the selected dependencies through
|
|
119
|
+
[`@modern-js/ultramodern-create`](../../toolkit/ultramodern-create/README.md).
|
|
120
|
+
Build and document identities bind the application source and installed
|
|
121
|
+
compiler/runtime cohort; stale manifests or hydration identities fail before
|
|
122
|
+
application startup.
|
|
123
|
+
|
|
124
|
+
## Workspace applications
|
|
125
|
+
|
|
126
|
+
Generated workspace applications declare their identity and authored options:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
import {
|
|
130
|
+
defineConfig,
|
|
131
|
+
presetUltramodernWorkspace,
|
|
132
|
+
} from '@modern-js/ultramodern-app-tools';
|
|
133
|
+
|
|
134
|
+
export default defineConfig(
|
|
135
|
+
presetUltramodernWorkspace(
|
|
136
|
+
{ html: { title: 'Catalog' } },
|
|
137
|
+
{ appId: 'catalog', from: import.meta.url },
|
|
138
|
+
),
|
|
139
|
+
);
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
The workspace preset reads `topology/reference-topology.json` and
|
|
143
|
+
`topology/local-overlays/development.json` relative to that config. Those records
|
|
144
|
+
provide app identity, renderer, development ports, composed remote references
|
|
145
|
+
and delivery unit identity. An authored `renderer` must match the topology.
|
|
146
|
+
Adding a shell or vertical changes the records; existing application configs
|
|
147
|
+
keep their authored contents.
|
|
148
|
+
|
|
149
|
+
The native package resolves build output and cache directories, remote asset
|
|
150
|
+
origins, canonical site origins, local CORS and Cloudflare service bindings and
|
|
151
|
+
fragment routes. Deploy target selection uses Modern.js's native resolver.
|
|
152
|
+
`deployTarget` and `environment` options allow explicit programmatic build inputs.
|
|
153
|
+
`createPresetUltramodernWorkspaceConfig(options)` exposes the resolved config for
|
|
154
|
+
inspection.
|
|
155
|
+
|
|
156
|
+
Cloudflare fragment bindings use the expose names from each remote's authored
|
|
157
|
+
Module Federation config. The shared config inspector accepts literal objects
|
|
158
|
+
and string arrays. Dynamic declarations use Modern.js's native config loader
|
|
159
|
+
during config resolution, including async functions, environment and command
|
|
160
|
+
arguments. Authored worker settings and services remain part of the merged
|
|
161
|
+
config; dynamic bindings use the loaded exposes.
|
|
162
|
+
|
|
163
|
+
The old generated `performance.rsdoctor` setting was not part of Modern.js's
|
|
164
|
+
supported config and had no effect. The native preset omits it.
|
|
165
|
+
|
|
166
|
+
Zephyr registers only for browser applications. It loads the application's
|
|
167
|
+
declared `zephyr-rspack-plugin` only when `ZE_CI_TOKEN` is present, and requires
|
|
168
|
+
`ZE_FAIL_BUILD=true` in that deploy environment. Ordinary builds require no
|
|
169
|
+
Zephyr account. The preset does not mutate environment variables.
|
|
170
|
+
The Zephyr SDK reads credentials and its fail-build flag from `process.env`.
|
|
171
|
+
When supplying `environment` explicitly, enabled Zephyr inputs must match those
|
|
172
|
+
process values; a mismatch fails during plugin setup before registration.
|
|
173
|
+
|
|
174
|
+
Authored config merges after native policy. Scalars and `false` override defaults;
|
|
175
|
+
nested records are preserved; arrays and hooks compose in preset-first order.
|
|
176
|
+
The existing typed preset options, including `enableTelemetry`,
|
|
177
|
+
`enableTelemetryExporters`, `enableBffRequestId` and
|
|
178
|
+
`enableModuleFederationSSR`, also apply to workspace presets.
|
|
179
|
+
|
|
180
|
+
Standalone applications can continue using `presetUltramodern(config, options)`.
|
|
181
|
+
|
|
182
|
+
## React base plugin
|
|
183
|
+
|
|
184
|
+
`defineConfig` is the entry for every renderer. A React application that keeps
|
|
185
|
+
`defineConfig` from `@modern-js/app-tools` registers the same React graph with
|
|
186
|
+
`plugins: [ultramodernAppTools()]` instead. It keeps the fork's default React
|
|
187
|
+
renderer and server behavior; pass `rendererExtensions: false` or
|
|
188
|
+
`serverExtensions: false` to `ultramodernAppTools()` to opt out of either
|
|
189
|
+
policy. Use one base: never combine it with this package's `defineConfig`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
|
|
4
|
+
const [major, minor] = process.versions.node.split('.').map(Number);
|
|
5
|
+
if (major < 26 || (major === 26 && minor < 10)) {
|
|
6
|
+
console.error(
|
|
7
|
+
`UltraModern.js requires Node.js >=26.10.0; detected v${process.versions.node}.`,
|
|
8
|
+
);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const { version } = JSON.parse(
|
|
13
|
+
await readFile(new URL('../package.json', import.meta.url), 'utf8'),
|
|
14
|
+
);
|
|
15
|
+
process.env.MODERN_JS_VERSION ??= version;
|
|
16
|
+
|
|
17
|
+
const { run } = await import('../dist/esm-node/native-composition/cli.mjs');
|
|
18
|
+
try {
|
|
19
|
+
await run({ version });
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error(error);
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
createRunOptions: ()=>createRunOptions,
|
|
41
|
+
generateRouteArtifacts: ()=>generateRouteArtifacts,
|
|
42
|
+
run: ()=>run
|
|
43
|
+
});
|
|
44
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
45
|
+
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
46
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
47
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
48
|
+
const run_namespaceObject = require("@modern-js/app-tools/cli/run");
|
|
49
|
+
const cli_namespaceObject = require("@modern-js/plugin/cli");
|
|
50
|
+
const plugin_run_namespaceObject = require("@modern-js/plugin/run");
|
|
51
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
52
|
+
const commander_namespaceObject = require("@modern-js/utils/commander");
|
|
53
|
+
const core_namespaceObject = require("@rsbuild/core");
|
|
54
|
+
const external_config_js_namespaceObject = require("./config.js");
|
|
55
|
+
const external_native_entry_command_js_namespaceObject = require("./native-entry-command.js");
|
|
56
|
+
async function createLauncherOptions(options) {
|
|
57
|
+
const configFile = external_node_path_default().resolve(options.cwd ?? process.cwd(), options.configFile ?? 'modern.config');
|
|
58
|
+
const runOptions = await (0, run_namespaceObject.createRunOptions)({
|
|
59
|
+
...options,
|
|
60
|
+
configFile,
|
|
61
|
+
internalPlugins: {}
|
|
62
|
+
});
|
|
63
|
+
if (!runOptions.configFile && void 0 !== options.configFile && external_node_fs_default().existsSync(configFile)) return {
|
|
64
|
+
...runOptions,
|
|
65
|
+
configFile
|
|
66
|
+
};
|
|
67
|
+
return runOptions;
|
|
68
|
+
}
|
|
69
|
+
async function createRunOptions(options) {
|
|
70
|
+
let routeConfig;
|
|
71
|
+
if ('routes-generate' === process.argv[2]) {
|
|
72
|
+
const command = (0, external_native_entry_command_js_namespaceObject.createRouteGenerationCommand)(new commander_namespaceObject.Command('ultramodern')).exitOverride();
|
|
73
|
+
await command.parseAsync(process.argv.slice(3), {
|
|
74
|
+
from: 'user'
|
|
75
|
+
});
|
|
76
|
+
routeConfig = command.opts().config;
|
|
77
|
+
}
|
|
78
|
+
const runOptions = await createLauncherOptions(options);
|
|
79
|
+
return routeConfig ? {
|
|
80
|
+
...runOptions,
|
|
81
|
+
configFile: routeConfig
|
|
82
|
+
} : runOptions;
|
|
83
|
+
}
|
|
84
|
+
async function run(options) {
|
|
85
|
+
if ('routes-generate' === process.argv[2]) {
|
|
86
|
+
const flags = process.argv.slice(3);
|
|
87
|
+
if (flags.includes('-h') || flags.includes('--help')) return void process.stdout.write((0, external_native_entry_command_js_namespaceObject.createRouteGenerationCommand)(new commander_namespaceObject.Command('ultramodern')).helpInformation());
|
|
88
|
+
if (flags.includes('-V') || flags.includes('--version')) return void process.stdout.write(`${options.version}\n`);
|
|
89
|
+
}
|
|
90
|
+
const runOptions = await createRunOptions(options);
|
|
91
|
+
if ('routes-generate' === process.argv[2]) return void await generateRouteArtifacts({
|
|
92
|
+
appDirectory: options.cwd ?? process.cwd(),
|
|
93
|
+
configPath: runOptions.configFile || void 0,
|
|
94
|
+
version: options.version
|
|
95
|
+
});
|
|
96
|
+
await (0, plugin_run_namespaceObject.run)(runOptions);
|
|
97
|
+
}
|
|
98
|
+
let routeGenerationQueue = Promise.resolve();
|
|
99
|
+
const routeGeneratorCli = (0, cli_namespaceObject.createCli)();
|
|
100
|
+
function generateRouteArtifacts(options) {
|
|
101
|
+
const task = routeGenerationQueue.then(async ()=>{
|
|
102
|
+
const previousArgv = process.env.MODERN_ARGV;
|
|
103
|
+
let dispose;
|
|
104
|
+
let getEntrypoints;
|
|
105
|
+
let generationFailed = false;
|
|
106
|
+
let generationError;
|
|
107
|
+
let disposalFailed = false;
|
|
108
|
+
let disposalError;
|
|
109
|
+
process.env.MODERN_ARGV = 'node ultramodern routes-generate';
|
|
110
|
+
try {
|
|
111
|
+
const appDirectory = external_node_path_default().resolve(options.appDirectory);
|
|
112
|
+
(0, core_namespaceObject.loadEnv)({
|
|
113
|
+
cwd: appDirectory,
|
|
114
|
+
mode: process.env.MODERN_ENV || process.env.NODE_ENV,
|
|
115
|
+
prefixes: [
|
|
116
|
+
'MODERN_'
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
const loaded = await (0, external_config_js_namespaceObject.loadUltramodernConfigFile)({
|
|
120
|
+
appDirectory,
|
|
121
|
+
configFile: options.configPath,
|
|
122
|
+
command: 'routes-generate',
|
|
123
|
+
env: (0, utils_namespaceObject.getNodeEnv)()
|
|
124
|
+
});
|
|
125
|
+
const runOptions = await createLauncherOptions({
|
|
126
|
+
cwd: appDirectory,
|
|
127
|
+
version: options.version ?? process.env.MODERN_JS_VERSION ?? '0.0.0'
|
|
128
|
+
});
|
|
129
|
+
const lifecycle = {
|
|
130
|
+
name: '@modern-js/ultramodern-route-generation-lifecycle',
|
|
131
|
+
setup (api) {
|
|
132
|
+
api.updateAppContext({
|
|
133
|
+
configFile: loaded.configFile
|
|
134
|
+
});
|
|
135
|
+
dispose = ()=>api.getHooks().onBeforeExit.call();
|
|
136
|
+
getEntrypoints = ()=>api.getAppContext().entrypoints;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const { appContext } = await routeGeneratorCli.init({
|
|
140
|
+
...runOptions,
|
|
141
|
+
configFile: false,
|
|
142
|
+
config: loaded.config,
|
|
143
|
+
command: 'routes-generate',
|
|
144
|
+
internalPlugins: [
|
|
145
|
+
lifecycle,
|
|
146
|
+
...runOptions.internalPlugins
|
|
147
|
+
]
|
|
148
|
+
});
|
|
149
|
+
const entrypoints = getEntrypoints?.();
|
|
150
|
+
if (!entrypoints?.length) throw new Error('Route generation requires an application entry');
|
|
151
|
+
await appContext.hooks.generateEntryCode.call({
|
|
152
|
+
entrypoints: [
|
|
153
|
+
...entrypoints
|
|
154
|
+
]
|
|
155
|
+
});
|
|
156
|
+
} catch (error) {
|
|
157
|
+
generationFailed = true;
|
|
158
|
+
generationError = error;
|
|
159
|
+
} finally{
|
|
160
|
+
try {
|
|
161
|
+
await dispose?.();
|
|
162
|
+
} catch (error) {
|
|
163
|
+
disposalFailed = true;
|
|
164
|
+
disposalError = error;
|
|
165
|
+
} finally{
|
|
166
|
+
try {
|
|
167
|
+
routeGeneratorCli.dispose();
|
|
168
|
+
} finally{
|
|
169
|
+
if (void 0 === previousArgv) delete process.env.MODERN_ARGV;
|
|
170
|
+
else process.env.MODERN_ARGV = previousArgv;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (generationFailed && disposalFailed) throw new AggregateError([
|
|
175
|
+
generationError,
|
|
176
|
+
disposalError
|
|
177
|
+
], 'Route generation failed and disposal also failed', {
|
|
178
|
+
cause: generationError
|
|
179
|
+
});
|
|
180
|
+
if (generationFailed) throw generationError;
|
|
181
|
+
if (disposalFailed) throw disposalError;
|
|
182
|
+
});
|
|
183
|
+
routeGenerationQueue = task.then(()=>void 0, ()=>void 0);
|
|
184
|
+
return task;
|
|
185
|
+
}
|
|
186
|
+
exports.createRunOptions = __webpack_exports__.createRunOptions;
|
|
187
|
+
exports.generateRouteArtifacts = __webpack_exports__.generateRouteArtifacts;
|
|
188
|
+
exports.run = __webpack_exports__.run;
|
|
189
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
190
|
+
"createRunOptions",
|
|
191
|
+
"generateRouteArtifacts",
|
|
192
|
+
"run"
|
|
193
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
194
|
+
Object.defineProperty(exports, '__esModule', {
|
|
195
|
+
value: true
|
|
196
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_exports__ = {};
|
|
3
|
+
const external_config_metadata_js_namespaceObject = require("./config-metadata.js");
|
|
4
|
+
process.once('disconnect', ()=>process.exit(1));
|
|
5
|
+
function reply(message, exitCode) {
|
|
6
|
+
process.send(message, ()=>process.exit(exitCode));
|
|
7
|
+
}
|
|
8
|
+
process.once('message', (options)=>{
|
|
9
|
+
(0, external_config_metadata_js_namespaceObject.readUltramodernConfigMetadata)(options).then((result)=>reply({
|
|
10
|
+
result
|
|
11
|
+
}, 0), (value)=>{
|
|
12
|
+
const error = value instanceof Error ? value : new Error(String(value));
|
|
13
|
+
reply({
|
|
14
|
+
error: {
|
|
15
|
+
message: error.message,
|
|
16
|
+
stack: error.stack
|
|
17
|
+
}
|
|
18
|
+
}, 1);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
22
|
+
Object.defineProperty(exports, '__esModule', {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
loadUltramodernConfigMetadata: ()=>loadUltramodernConfigMetadata,
|
|
41
|
+
readUltramodernConfigMetadata: ()=>readUltramodernConfigMetadata
|
|
42
|
+
});
|
|
43
|
+
const external_node_child_process_namespaceObject = require("node:child_process");
|
|
44
|
+
const external_node_fs_namespaceObject = require("node:fs");
|
|
45
|
+
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
46
|
+
const external_node_module_namespaceObject = require("node:module");
|
|
47
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
48
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
49
|
+
const external_node_url_namespaceObject = require("node:url");
|
|
50
|
+
const core_namespaceObject = require("@rsbuild/core");
|
|
51
|
+
const external_config_js_namespaceObject = require("./config.js");
|
|
52
|
+
function inside(directory, file) {
|
|
53
|
+
const relative = external_node_path_default().relative(directory, file);
|
|
54
|
+
return '' !== relative && !relative.startsWith(`..${external_node_path_default().sep}`) && '..' !== relative && !external_node_path_default().isAbsolute(relative);
|
|
55
|
+
}
|
|
56
|
+
function isMissingModule(error) {
|
|
57
|
+
const code = error?.code;
|
|
58
|
+
return 'MODULE_NOT_FOUND' === code || 'ERR_MODULE_NOT_FOUND' === code;
|
|
59
|
+
}
|
|
60
|
+
function registerFallbackResolution(sourceRoot, options) {
|
|
61
|
+
const packageRoots = options.fallbackPackageRoots ?? [];
|
|
62
|
+
const staged = options.stagedWorkspace;
|
|
63
|
+
if (!packageRoots.length && !staged) return;
|
|
64
|
+
let resolving = false;
|
|
65
|
+
return (0, external_node_module_namespaceObject.registerHooks)({
|
|
66
|
+
resolve (specifier, context, nextResolve) {
|
|
67
|
+
try {
|
|
68
|
+
return nextResolve(specifier, context);
|
|
69
|
+
} catch (error) {
|
|
70
|
+
const parentURL = context.parentURL;
|
|
71
|
+
if (resolving || !isMissingModule(error) || !parentURL?.startsWith('file:') || specifier.startsWith('.') || specifier.includes(':') || external_node_path_default().isAbsolute(specifier) || (0, external_node_module_namespaceObject.isBuiltin)(specifier)) throw error;
|
|
72
|
+
const parent = (0, external_node_url_namespaceObject.fileURLToPath)(parentURL);
|
|
73
|
+
if (parent.split(external_node_path_default().sep).includes('node_modules') || !inside(sourceRoot, parent)) throw error;
|
|
74
|
+
const anchors = [
|
|
75
|
+
...staged && inside(staged.root, parent) ? [
|
|
76
|
+
external_node_path_default().join(staged.originalRoot, external_node_path_default().relative(staged.root, parent))
|
|
77
|
+
] : [],
|
|
78
|
+
...packageRoots.map((root)=>external_node_path_default().join(root, 'package.json'))
|
|
79
|
+
];
|
|
80
|
+
const esm = context.conditions.includes('import') && !context.conditions.includes('require');
|
|
81
|
+
resolving = true;
|
|
82
|
+
try {
|
|
83
|
+
for (const anchor of anchors)try {
|
|
84
|
+
if (esm) return nextResolve(specifier, {
|
|
85
|
+
...context,
|
|
86
|
+
parentURL: (0, external_node_url_namespaceObject.pathToFileURL)(anchor).href
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
url: (0, external_node_url_namespaceObject.pathToFileURL)((0, external_node_module_namespaceObject.createRequire)(anchor).resolve(specifier)).href,
|
|
90
|
+
shortCircuit: true
|
|
91
|
+
};
|
|
92
|
+
} catch (fallbackError) {
|
|
93
|
+
if (!isMissingModule(fallbackError)) throw fallbackError;
|
|
94
|
+
}
|
|
95
|
+
} finally{
|
|
96
|
+
resolving = false;
|
|
97
|
+
}
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
async function readUltramodernConfigMetadata(options) {
|
|
104
|
+
const appDirectory = external_node_path_default().resolve(options.appDirectory);
|
|
105
|
+
const env = (0, core_namespaceObject.loadEnv)({
|
|
106
|
+
cwd: appDirectory,
|
|
107
|
+
mode: process.env.MODERN_ENV || options.env,
|
|
108
|
+
prefixes: [
|
|
109
|
+
'MODERN_'
|
|
110
|
+
]
|
|
111
|
+
});
|
|
112
|
+
const hooks = registerFallbackResolution(external_node_path_default().resolve(options.sourceRoot ?? appDirectory), options);
|
|
113
|
+
try {
|
|
114
|
+
const loaded = await (0, external_config_js_namespaceObject.loadUltramodernConfigFile)({
|
|
115
|
+
appDirectory,
|
|
116
|
+
configFile: options.configFile,
|
|
117
|
+
env: options.env,
|
|
118
|
+
command: options.command
|
|
119
|
+
});
|
|
120
|
+
const resolution = await (0, external_config_js_namespaceObject.resolveUltramodernEntryIdentities)({
|
|
121
|
+
appDirectory,
|
|
122
|
+
installedAppDirectory: options.stagedWorkspace && (appDirectory === external_node_path_default().resolve(options.stagedWorkspace.root) || inside(external_node_path_default().resolve(options.stagedWorkspace.root), appDirectory)) ? external_node_path_default().resolve(options.stagedWorkspace.originalRoot, external_node_path_default().relative(options.stagedWorkspace.root, appDirectory)) : appDirectory,
|
|
123
|
+
config: loaded.config,
|
|
124
|
+
command: options.command,
|
|
125
|
+
configFile: loaded.configFile
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
renderer: loaded.config.renderer,
|
|
129
|
+
...resolution
|
|
130
|
+
};
|
|
131
|
+
} finally{
|
|
132
|
+
hooks?.deregister();
|
|
133
|
+
env.cleanup();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function workerFile() {
|
|
137
|
+
let directory = external_node_path_default().dirname(__filename);
|
|
138
|
+
while(!external_node_fs_default().existsSync(external_node_path_default().join(directory, 'package.json'))){
|
|
139
|
+
const parent = external_node_path_default().dirname(directory);
|
|
140
|
+
if (parent === directory) throw new Error('Cannot find the UltraModern app tools package root');
|
|
141
|
+
directory = parent;
|
|
142
|
+
}
|
|
143
|
+
return external_node_path_default().join(directory, 'dist/cjs/native-composition/config-metadata-worker.js');
|
|
144
|
+
}
|
|
145
|
+
function loadUltramodernConfigMetadata(options) {
|
|
146
|
+
const appDirectory = external_node_path_default().resolve(options.appDirectory);
|
|
147
|
+
return new Promise((resolve, reject)=>{
|
|
148
|
+
const child = (0, external_node_child_process_namespaceObject.fork)(workerFile(), [], {
|
|
149
|
+
cwd: appDirectory,
|
|
150
|
+
execArgv: [],
|
|
151
|
+
env: {
|
|
152
|
+
...process.env,
|
|
153
|
+
NODE_ENV: options.env
|
|
154
|
+
},
|
|
155
|
+
stdio: [
|
|
156
|
+
'ignore',
|
|
157
|
+
'pipe',
|
|
158
|
+
'pipe',
|
|
159
|
+
'ipc'
|
|
160
|
+
]
|
|
161
|
+
});
|
|
162
|
+
let output = '';
|
|
163
|
+
const collect = (chunk)=>{
|
|
164
|
+
output = `${output}${chunk.toString()}`.slice(-65536);
|
|
165
|
+
};
|
|
166
|
+
child.stdout?.on('data', collect);
|
|
167
|
+
child.stderr?.on('data', collect);
|
|
168
|
+
let message;
|
|
169
|
+
child.once('message', (value)=>{
|
|
170
|
+
message = value;
|
|
171
|
+
});
|
|
172
|
+
child.once('error', reject);
|
|
173
|
+
child.once('close', (code, signal)=>{
|
|
174
|
+
if (message && 'result' in message) resolve(message.result);
|
|
175
|
+
else if (message) {
|
|
176
|
+
const error = new Error(message.error.message);
|
|
177
|
+
error.stack = message.error.stack;
|
|
178
|
+
reject(error);
|
|
179
|
+
} else reject(new Error(`Loading ${appDirectory}/modern.config exited (${signal ?? code}) without a result.${output ? `\n${output}` : ''}`));
|
|
180
|
+
});
|
|
181
|
+
child.send({
|
|
182
|
+
...options,
|
|
183
|
+
appDirectory
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
exports.loadUltramodernConfigMetadata = __webpack_exports__.loadUltramodernConfigMetadata;
|
|
188
|
+
exports.readUltramodernConfigMetadata = __webpack_exports__.readUltramodernConfigMetadata;
|
|
189
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
190
|
+
"loadUltramodernConfigMetadata",
|
|
191
|
+
"readUltramodernConfigMetadata"
|
|
192
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
193
|
+
Object.defineProperty(exports, '__esModule', {
|
|
194
|
+
value: true
|
|
195
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
isEntryMetadataRead: ()=>isEntryMetadataRead,
|
|
32
|
+
withEntryMetadataRead: ()=>withEntryMetadataRead
|
|
33
|
+
});
|
|
34
|
+
const external_node_async_hooks_namespaceObject = require("node:async_hooks");
|
|
35
|
+
const storeKey = Symbol.for('ultramodern.entry-metadata-read');
|
|
36
|
+
const entryMetadataRead = globalThis[storeKey] ??= new external_node_async_hooks_namespaceObject.AsyncLocalStorage();
|
|
37
|
+
function withEntryMetadataRead(read) {
|
|
38
|
+
return entryMetadataRead.run(true, read);
|
|
39
|
+
}
|
|
40
|
+
function isEntryMetadataRead() {
|
|
41
|
+
return true === entryMetadataRead.getStore();
|
|
42
|
+
}
|
|
43
|
+
exports.isEntryMetadataRead = __webpack_exports__.isEntryMetadataRead;
|
|
44
|
+
exports.withEntryMetadataRead = __webpack_exports__.withEntryMetadataRead;
|
|
45
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
46
|
+
"isEntryMetadataRead",
|
|
47
|
+
"withEntryMetadataRead"
|
|
48
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
49
|
+
Object.defineProperty(exports, '__esModule', {
|
|
50
|
+
value: true
|
|
51
|
+
});
|