@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.97 → 3.5.0-ultramodern.99
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/builder/generator/createBuilderProviderConfig.js +5 -1
- package/dist/cjs/builder/generator/getBuilderEnvironments.js +7 -0
- package/dist/cjs/commands/build.js +2 -1
- package/dist/cjs/commands/deploy.js +4 -2
- package/dist/cjs/commands/index.js +0 -4
- package/dist/cjs/config/default.js +2 -0
- package/dist/cjs/index.js +56 -15
- package/dist/cjs/plugins/analyze/index.js +2 -2
- package/dist/cjs/plugins/analyze/utils.js +3 -2
- package/dist/cjs/plugins/initialize/index.js +4 -3
- package/dist/cjs/plugins/serverBuild.js +3 -2
- package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +5 -1
- package/dist/esm/builder/generator/getBuilderEnvironments.mjs +7 -0
- package/dist/esm/commands/build.mjs +2 -1
- package/dist/esm/commands/deploy.mjs +4 -2
- package/dist/esm/commands/index.mjs +0 -4
- package/dist/esm/config/default.mjs +2 -0
- package/dist/esm/index.mjs +15 -1
- package/dist/esm/plugins/analyze/index.mjs +2 -2
- package/dist/esm/plugins/analyze/utils.mjs +3 -2
- package/dist/esm/plugins/initialize/index.mjs +4 -3
- package/dist/esm/plugins/serverBuild.mjs +3 -2
- package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +5 -1
- package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +7 -0
- package/dist/esm-node/commands/build.mjs +2 -1
- package/dist/esm-node/commands/deploy.mjs +4 -2
- package/dist/esm-node/commands/index.mjs +0 -4
- package/dist/esm-node/config/default.mjs +2 -0
- package/dist/esm-node/index.mjs +15 -1
- package/dist/esm-node/plugins/analyze/index.mjs +2 -2
- package/dist/esm-node/plugins/analyze/utils.mjs +3 -2
- package/dist/esm-node/plugins/initialize/index.mjs +4 -3
- package/dist/esm-node/plugins/serverBuild.mjs +3 -2
- package/dist/types/commands/deploy.d.ts +2 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/plugins/analyze/utils.d.ts +1 -1
- package/dist/types/types/config/dev.d.ts +6 -0
- package/docs/_nav.json +36 -0
- package/docs/apis/_meta.json +13 -0
- package/docs/apis/app/commands.mdx +205 -0
- package/docs/apis/app/hooks/_meta.json +28 -0
- package/docs/apis/app/hooks/api/lambda.mdx +13 -0
- package/docs/apis/app/hooks/config/_meta.json +1 -0
- package/docs/apis/app/hooks/config/favicon.mdx +29 -0
- package/docs/apis/app/hooks/config/html.mdx +9 -0
- package/docs/apis/app/hooks/config/icon.mdx +29 -0
- package/docs/apis/app/hooks/config/mock.mdx +10 -0
- package/docs/apis/app/hooks/config/public.mdx +30 -0
- package/docs/apis/app/hooks/config/upload.mdx +54 -0
- package/docs/apis/app/hooks/modern-config.mdx +9 -0
- package/docs/apis/app/hooks/server/server.mdx +10 -0
- package/docs/apis/app/hooks/shared.mdx +7 -0
- package/docs/apis/app/hooks/src/app.mdx +30 -0
- package/docs/apis/app/hooks/src/entry.mdx +39 -0
- package/docs/apis/app/hooks/src/entry.server.mdx +56 -0
- package/docs/apis/app/hooks/src/modern.runtime.mdx +9 -0
- package/docs/apis/app/hooks/src/routes.mdx +90 -0
- package/docs/apis/app/hooks/src/server.mdx +7 -0
- package/docs/apis/app/runtime/_meta.json +32 -0
- package/docs/apis/app/runtime/bff/use-backend-context.mdx +30 -0
- package/docs/apis/app/runtime/core/create-root.mdx +22 -0
- package/docs/apis/app/runtime/core/render.mdx +42 -0
- package/docs/apis/app/runtime/core/runtime-context.mdx +160 -0
- package/docs/apis/app/runtime/router/router.mdx +288 -0
- package/docs/apis/app/runtime/ssr/no-ssr.mdx +38 -0
- package/docs/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
- package/docs/apis/app/runtime/ssr/renderString.mdx +64 -0
- package/docs/apis/app/runtime/ssr/requestHandler.mdx +48 -0
- package/docs/apis/app/runtime/utility/css-in-js.mdx +44 -0
- package/docs/apis/app/runtime/utility/head.mdx +38 -0
- package/docs/apis/app/runtime/utility/loadable.mdx +85 -0
- package/docs/components/auto-upgrade.mdx +0 -0
- package/docs/components/bff-upload.mdx +97 -0
- package/docs/components/build-output.mdx +45 -0
- package/docs/components/bundler.mdx +3 -0
- package/docs/components/convention-routing-motivation.mdx +0 -0
- package/docs/components/debug-app.mdx +15 -0
- package/docs/components/default-browserslist.mdx +7 -0
- package/docs/components/deploy-command.mdx +14 -0
- package/docs/components/deploy.mdx +1 -0
- package/docs/components/enable-bff-caution.mdx +3 -0
- package/docs/components/enable-bff.mdx +56 -0
- package/docs/components/enable-ssg.mdx +49 -0
- package/docs/components/entry-mode.mdx +0 -0
- package/docs/components/entry-scan-logic.mdx +7 -0
- package/docs/components/extend-bff-function.mdx +3 -0
- package/docs/components/hono.mdx +120 -0
- package/docs/components/init-app.mdx +93 -0
- package/docs/components/init-rspack-app.mdx +5 -0
- package/docs/components/internal-logger.mdx +25 -0
- package/docs/components/internal-metrics.mdx +20 -0
- package/docs/components/international/custom-instance-code.mdx +16 -0
- package/docs/components/international/init-options-desc.mdx +1 -0
- package/docs/components/international/install-command.mdx +10 -0
- package/docs/components/international/instance-code.mdx +16 -0
- package/docs/components/international/introduce.mdx +5 -0
- package/docs/components/international/platform-support.mdx +0 -0
- package/docs/components/language-config.mdx +9 -0
- package/docs/components/micro-frontend.mdx +6 -0
- package/docs/components/micro-master-manifest-config.mdx +15 -0
- package/docs/components/micro-runtime-config.mdx +17 -0
- package/docs/components/module-federation.mdx +7 -0
- package/docs/components/new-entry-tooltip.mdx +0 -0
- package/docs/components/nodeVersion.mdx +28 -0
- package/docs/components/other-plugins.mdx +0 -0
- package/docs/components/output-asset-prefix-extend.mdx +0 -0
- package/docs/components/output-distpath-warning.mdx +0 -0
- package/docs/components/output-polyfill-extend.mdx +1 -0
- package/docs/components/prerequisites.mdx +18 -0
- package/docs/components/release-note.mdx +1 -0
- package/docs/components/routes-practice.mdx +0 -0
- package/docs/components/rsbuild-config-tooltip.mdx +5 -0
- package/docs/components/rsbuild.mdx +3 -0
- package/docs/components/rsc-deploy-tip.mdx +1 -0
- package/docs/components/rspack.mdx +3 -0
- package/docs/components/rspackTip.mdx +7 -0
- package/docs/components/runtime-cli-config.mdx +0 -0
- package/docs/components/serve-command.mdx +22 -0
- package/docs/components/ssr-monitor.mdx +3 -0
- package/docs/components/stream-ssr-performance.mdx +0 -0
- package/docs/components/swc.mdx +3 -0
- package/docs/components/tech-stack-node-framework.mdx +1 -0
- package/docs/components/turtorials-example-list.mdx +2 -0
- package/docs/components/ua-polyfill.mdx +44 -0
- package/docs/components/upgrade-browserslist.mdx +0 -0
- package/docs/components/upgrade-config-deploy.mdx +0 -0
- package/docs/components/upgrade-faq.mdx +0 -0
- package/docs/configure/_meta.json +78 -0
- package/docs/configure/app/bff/cross-project.mdx +24 -0
- package/docs/configure/app/bff/effect.mdx +319 -0
- package/docs/configure/app/bff/prefix.mdx +33 -0
- package/docs/configure/app/bff/runtime-framework.mdx +30 -0
- package/docs/configure/app/builder-plugins.mdx +70 -0
- package/docs/configure/app/dev/asset-prefix.mdx +18 -0
- package/docs/configure/app/dev/before-start-url.mdx +21 -0
- package/docs/configure/app/dev/client.mdx +45 -0
- package/docs/configure/app/dev/hmr.mdx +14 -0
- package/docs/configure/app/dev/host.mdx +22 -0
- package/docs/configure/app/dev/https.mdx +81 -0
- package/docs/configure/app/dev/lazy-compilation.mdx +45 -0
- package/docs/configure/app/dev/live-reload.mdx +14 -0
- package/docs/configure/app/dev/mock-dir.mdx +35 -0
- package/docs/configure/app/dev/progress-bar.mdx +23 -0
- package/docs/configure/app/dev/server.mdx +128 -0
- package/docs/configure/app/dev/setup-middlewares.mdx +36 -0
- package/docs/configure/app/dev/start-url.mdx +53 -0
- package/docs/configure/app/dev/watch-files.mdx +31 -0
- package/docs/configure/app/dev/write-to-disk.mdx +14 -0
- package/docs/configure/app/experiments/source-build.mdx +33 -0
- package/docs/configure/app/html/app-icon.mdx +32 -0
- package/docs/configure/app/html/crossorigin.mdx +14 -0
- package/docs/configure/app/html/favicon.mdx +20 -0
- package/docs/configure/app/html/inject.mdx +14 -0
- package/docs/configure/app/html/meta.mdx +28 -0
- package/docs/configure/app/html/mount-id.mdx +14 -0
- package/docs/configure/app/html/output-structure.mdx +14 -0
- package/docs/configure/app/html/script-loading.mdx +14 -0
- package/docs/configure/app/html/tags.mdx +19 -0
- package/docs/configure/app/html/template-parameters.mdx +37 -0
- package/docs/configure/app/html/template.mdx +14 -0
- package/docs/configure/app/html/title.mdx +22 -0
- package/docs/configure/app/output/asset-prefix.mdx +18 -0
- package/docs/configure/app/output/assets-retry.mdx +81 -0
- package/docs/configure/app/output/charset.mdx +14 -0
- package/docs/configure/app/output/clean-dist-path.mdx +20 -0
- package/docs/configure/app/output/convert-to-rem.mdx +83 -0
- package/docs/configure/app/output/copy.mdx +14 -0
- package/docs/configure/app/output/css-modules.mdx +52 -0
- package/docs/configure/app/output/data-uri-limit.mdx +30 -0
- package/docs/configure/app/output/disable-css-module-extension.mdx +59 -0
- package/docs/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
- package/docs/configure/app/output/disable-svgr.mdx +22 -0
- package/docs/configure/app/output/disable-ts-checker.mdx +53 -0
- package/docs/configure/app/output/dist-path.mdx +51 -0
- package/docs/configure/app/output/enable-asset-manifest.mdx +40 -0
- package/docs/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
- package/docs/configure/app/output/enable-inline-route-manifests.mdx +20 -0
- package/docs/configure/app/output/externals.mdx +24 -0
- package/docs/configure/app/output/filename-hash.mdx +14 -0
- package/docs/configure/app/output/filename.mdx +59 -0
- package/docs/configure/app/output/inject-styles.mdx +14 -0
- package/docs/configure/app/output/inline-scripts.mdx +33 -0
- package/docs/configure/app/output/inline-styles.mdx +33 -0
- package/docs/configure/app/output/legal-comments.mdx +22 -0
- package/docs/configure/app/output/minify.mdx +26 -0
- package/docs/configure/app/output/override-browserslist.mdx +26 -0
- package/docs/configure/app/output/polyfill.mdx +18 -0
- package/docs/configure/app/output/source-map.mdx +34 -0
- package/docs/configure/app/output/split-route-chunks.mdx +20 -0
- package/docs/configure/app/output/ssg.mdx +85 -0
- package/docs/configure/app/output/ssgByEntries.mdx +93 -0
- package/docs/configure/app/output/svg-default-export.mdx +34 -0
- package/docs/configure/app/output/temp-dir.mdx +24 -0
- package/docs/configure/app/performance/build-cache.mdx +48 -0
- package/docs/configure/app/performance/chunk-split.mdx +44 -0
- package/docs/configure/app/performance/dns-prefetch.mdx +19 -0
- package/docs/configure/app/performance/preconnect.mdx +20 -0
- package/docs/configure/app/performance/prefetch.mdx +25 -0
- package/docs/configure/app/performance/preload.mdx +27 -0
- package/docs/configure/app/performance/print-file-size.mdx +44 -0
- package/docs/configure/app/performance/profile.mdx +14 -0
- package/docs/configure/app/performance/remove-console.mdx +14 -0
- package/docs/configure/app/performance/remove-moment-locale.mdx +14 -0
- package/docs/configure/app/performance/rsdoctor.mdx +42 -0
- package/docs/configure/app/plugins.mdx +59 -0
- package/docs/configure/app/resolve/alias-strategy.mdx +14 -0
- package/docs/configure/app/resolve/alias.mdx +13 -0
- package/docs/configure/app/resolve/condition-names.mdx +18 -0
- package/docs/configure/app/resolve/dedupe.mdx +13 -0
- package/docs/configure/app/resolve/extensions.mdx +18 -0
- package/docs/configure/app/runtime/0-intro.mdx +61 -0
- package/docs/configure/app/runtime/plugins.mdx +58 -0
- package/docs/configure/app/runtime/router.mdx +39 -0
- package/docs/configure/app/security/check-syntax.mdx +73 -0
- package/docs/configure/app/security/nonce.mdx +19 -0
- package/docs/configure/app/security/sri.mdx +24 -0
- package/docs/configure/app/server/base-url.mdx +30 -0
- package/docs/configure/app/server/port.mdx +22 -0
- package/docs/configure/app/server/public-routes.mdx +26 -0
- package/docs/configure/app/server/routes.mdx +90 -0
- package/docs/configure/app/server/rsc.mdx +30 -0
- package/docs/configure/app/server/ssr-by-entries.mdx +29 -0
- package/docs/configure/app/server/ssr.mdx +85 -0
- package/docs/configure/app/server/tsconfig-path.mdx +63 -0
- package/docs/configure/app/source/alias-strategy.mdx +18 -0
- package/docs/configure/app/source/alias.mdx +27 -0
- package/docs/configure/app/source/config-dir.mdx +24 -0
- package/docs/configure/app/source/decorators.mdx +29 -0
- package/docs/configure/app/source/define.mdx +20 -0
- package/docs/configure/app/source/disable-default-entries.mdx +32 -0
- package/docs/configure/app/source/enable-async-entry.mdx +54 -0
- package/docs/configure/app/source/enable-async-pre-entry.mdx +30 -0
- package/docs/configure/app/source/entries-dir.mdx +39 -0
- package/docs/configure/app/source/entries.mdx +183 -0
- package/docs/configure/app/source/exclude.mdx +14 -0
- package/docs/configure/app/source/global-vars.mdx +110 -0
- package/docs/configure/app/source/include.mdx +40 -0
- package/docs/configure/app/source/main-entry-name.mdx +28 -0
- package/docs/configure/app/source/pre-entry.mdx +14 -0
- package/docs/configure/app/source/react-compiler.mdx +72 -0
- package/docs/configure/app/source/transform-import.mdx +31 -0
- package/docs/configure/app/split-chunks.mdx +17 -0
- package/docs/configure/app/tools/autoprefixer.mdx +48 -0
- package/docs/configure/app/tools/bundler-chain.mdx +30 -0
- package/docs/configure/app/tools/css-extract.mdx +37 -0
- package/docs/configure/app/tools/css-loader.mdx +21 -0
- package/docs/configure/app/tools/dev-server.mdx +117 -0
- package/docs/configure/app/tools/html-plugin.mdx +45 -0
- package/docs/configure/app/tools/less.mdx +85 -0
- package/docs/configure/app/tools/lightningcss-loader.mdx +39 -0
- package/docs/configure/app/tools/minify-css.mdx +57 -0
- package/docs/configure/app/tools/postcss.mdx +38 -0
- package/docs/configure/app/tools/rspack.mdx +14 -0
- package/docs/configure/app/tools/sass.mdx +82 -0
- package/docs/configure/app/tools/style-loader.mdx +14 -0
- package/docs/configure/app/tools/swc.mdx +69 -0
- package/docs/configure/app/tools/ts-checker.mdx +103 -0
- package/docs/configure/app/usage.mdx +276 -0
- package/docs/guides/_meta.json +37 -0
- package/docs/guides/advanced-features/_meta.json +32 -0
- package/docs/guides/advanced-features/bff/_meta.json +10 -0
- package/docs/guides/advanced-features/bff/cross-project.mdx +110 -0
- package/docs/guides/advanced-features/bff/data-platform.mdx +120 -0
- package/docs/guides/advanced-features/bff/extend-server.mdx +120 -0
- package/docs/guides/advanced-features/bff/frameworks.mdx +131 -0
- package/docs/guides/advanced-features/bff/function.mdx +265 -0
- package/docs/guides/advanced-features/bff/operators.mdx +629 -0
- package/docs/guides/advanced-features/bff/sdk.mdx +116 -0
- package/docs/guides/advanced-features/bff/upload.mdx +7 -0
- package/docs/guides/advanced-features/bff.mdx +22 -0
- package/docs/guides/advanced-features/build-performance.mdx +134 -0
- package/docs/guides/advanced-features/compatibility.mdx +81 -0
- package/docs/guides/advanced-features/international/_meta.json +10 -0
- package/docs/guides/advanced-features/international/advanced.mdx +132 -0
- package/docs/guides/advanced-features/international/api.mdx +271 -0
- package/docs/guides/advanced-features/international/best-practices.mdx +290 -0
- package/docs/guides/advanced-features/international/configuration.mdx +222 -0
- package/docs/guides/advanced-features/international/locale-detection.mdx +130 -0
- package/docs/guides/advanced-features/international/quick-start.mdx +112 -0
- package/docs/guides/advanced-features/international/resource-loading.mdx +158 -0
- package/docs/guides/advanced-features/international/routing.mdx +177 -0
- package/docs/guides/advanced-features/international.mdx +29 -0
- package/docs/guides/advanced-features/low-level.mdx +50 -0
- package/docs/guides/advanced-features/page-performance/_meta.json +1 -0
- package/docs/guides/advanced-features/page-performance/code-split.mdx +81 -0
- package/docs/guides/advanced-features/page-performance/inline-assets.mdx +163 -0
- package/docs/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
- package/docs/guides/advanced-features/page-performance/react-compiler.mdx +51 -0
- package/docs/guides/advanced-features/server-monitor/_meta.json +1 -0
- package/docs/guides/advanced-features/server-monitor/logger.mdx +19 -0
- package/docs/guides/advanced-features/server-monitor/metrics.mdx +41 -0
- package/docs/guides/advanced-features/server-monitor/monitors.mdx +242 -0
- package/docs/guides/advanced-features/source-build.mdx +168 -0
- package/docs/guides/advanced-features/web-server.mdx +296 -0
- package/docs/guides/basic-features/_meta.json +49 -0
- package/docs/guides/basic-features/alias.mdx +106 -0
- package/docs/guides/basic-features/css/_meta.json +1 -0
- package/docs/guides/basic-features/css/css-in-js.mdx +69 -0
- package/docs/guides/basic-features/css/css-modules.mdx +212 -0
- package/docs/guides/basic-features/css/css.mdx +31 -0
- package/docs/guides/basic-features/css/tailwindcss.mdx +27 -0
- package/docs/guides/basic-features/data/_meta.json +1 -0
- package/docs/guides/basic-features/data/data-cache.mdx +515 -0
- package/docs/guides/basic-features/data/data-fetch.mdx +419 -0
- package/docs/guides/basic-features/data/data-write.mdx +230 -0
- package/docs/guides/basic-features/debug/_meta.json +1 -0
- package/docs/guides/basic-features/debug/mock.mdx +113 -0
- package/docs/guides/basic-features/debug/proxy.mdx +25 -0
- package/docs/guides/basic-features/debug/rsdoctor.mdx +47 -0
- package/docs/guides/basic-features/debug/using-storybook.mdx +100 -0
- package/docs/guides/basic-features/deploy.mdx +448 -0
- package/docs/guides/basic-features/env-vars.mdx +181 -0
- package/docs/guides/basic-features/html.mdx +259 -0
- package/docs/guides/basic-features/output-files.mdx +145 -0
- package/docs/guides/basic-features/render/_meta.json +1 -0
- package/docs/guides/basic-features/render/before-render.mdx +108 -0
- package/docs/guides/basic-features/render/overview.mdx +51 -0
- package/docs/guides/basic-features/render/rsc.mdx +533 -0
- package/docs/guides/basic-features/render/ssg.mdx +167 -0
- package/docs/guides/basic-features/render/ssr-cache.mdx +201 -0
- package/docs/guides/basic-features/render/ssr.mdx +323 -0
- package/docs/guides/basic-features/render/streaming-ssr.mdx +267 -0
- package/docs/guides/basic-features/routes/_meta.json +1 -0
- package/docs/guides/basic-features/routes/config-routes.mdx +427 -0
- package/docs/guides/basic-features/routes/routes.mdx +532 -0
- package/docs/guides/basic-features/static-assets/_meta.json +1 -0
- package/docs/guides/basic-features/static-assets/json-files.mdx +124 -0
- package/docs/guides/basic-features/static-assets/svg-assets.mdx +172 -0
- package/docs/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
- package/docs/guides/basic-features/static-assets.mdx +164 -0
- package/docs/guides/basic-features/testing/_meta.json +1 -0
- package/docs/guides/basic-features/testing/playwright.mdx +111 -0
- package/docs/guides/basic-features/testing/rstest.mdx +192 -0
- package/docs/guides/concept/_meta.json +1 -0
- package/docs/guides/concept/builder.mdx +60 -0
- package/docs/guides/concept/entries.mdx +325 -0
- package/docs/guides/concept/server.mdx +35 -0
- package/docs/guides/get-started/_meta.json +9 -0
- package/docs/guides/get-started/ai-coding-agents.mdx +63 -0
- package/docs/guides/get-started/glossary.mdx +63 -0
- package/docs/guides/get-started/introduction.mdx +45 -0
- package/docs/guides/get-started/quick-start.mdx +92 -0
- package/docs/guides/get-started/tech-stack.mdx +97 -0
- package/docs/guides/get-started/ultramodern.mdx +433 -0
- package/docs/guides/get-started/upgrade.mdx +114 -0
- package/docs/guides/topic-detail/_meta.json +8 -0
- package/docs/guides/topic-detail/module-federation/_meta.json +1 -0
- package/docs/guides/topic-detail/module-federation/application.mdx +116 -0
- package/docs/guides/topic-detail/module-federation/deploy.mdx +104 -0
- package/docs/guides/topic-detail/module-federation/i18n.mdx +670 -0
- package/docs/guides/topic-detail/module-federation/introduce.mdx +36 -0
- package/docs/guides/topic-detail/module-federation/ssr.mdx +177 -0
- package/docs/guides/topic-detail/module-federation/usage.mdx +202 -0
- package/docs/guides/troubleshooting/_meta.json +1 -0
- package/docs/guides/troubleshooting/builder.mdx +114 -0
- package/docs/guides/troubleshooting/cli.mdx +39 -0
- package/docs/guides/troubleshooting/dependencies.mdx +123 -0
- package/docs/guides/troubleshooting/hmr.mdx +148 -0
- package/docs/guides/upgrade/_meta.json +1 -0
- package/docs/guides/upgrade/config.mdx +951 -0
- package/docs/guides/upgrade/entry.mdx +463 -0
- package/docs/guides/upgrade/other.mdx +183 -0
- package/docs/guides/upgrade/overview.mdx +33 -0
- package/docs/guides/upgrade/tailwindcss.mdx +92 -0
- package/docs/guides/upgrade/web-server.md +109 -0
- package/docs/index.md +4 -0
- package/package.json +43 -20
- package/scripts/copy-main-doc.mjs +50 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Tailwind Plugin Changes
|
|
2
|
+
|
|
3
|
+
Modern.js 3.0 recommends integrating Tailwind CSS through Rsbuild's native approach, no longer relying on the `@modern-js/plugin-tailwindcss` plugin, to fully utilize Rsbuild's more flexible configuration capabilities and better build experience.
|
|
4
|
+
|
|
5
|
+
## Migration Steps
|
|
6
|
+
|
|
7
|
+
The migration operations in this section are only required if the project uses the `@modern-js/plugin-tailwindcss` plugin and the `tailwindcss` version is v2 or v3.
|
|
8
|
+
|
|
9
|
+
### 1. Remove Old Plugin
|
|
10
|
+
|
|
11
|
+
Remove the `@modern-js/plugin-tailwindcss` dependency and configuration.
|
|
12
|
+
|
|
13
|
+
**2.0 Version:**
|
|
14
|
+
|
|
15
|
+
```ts title="modern.config.ts"
|
|
16
|
+
import { defineConfig } from '@modern-js/app-tools';
|
|
17
|
+
import tailwindcssPlugin from '@modern-js/plugin-tailwindcss';
|
|
18
|
+
|
|
19
|
+
export default defineConfig({
|
|
20
|
+
plugins: [tailwindcssPlugin()],
|
|
21
|
+
});
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**3.0 Version:**
|
|
25
|
+
|
|
26
|
+
```ts title="modern.config.ts"
|
|
27
|
+
import { defineConfig } from '@modern-js/app-tools';
|
|
28
|
+
|
|
29
|
+
export default defineConfig({
|
|
30
|
+
plugins: [],
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Also remove the `@modern-js/plugin-tailwindcss` dependency from `package.json`.
|
|
35
|
+
|
|
36
|
+
### 2. Configure PostCSS
|
|
37
|
+
|
|
38
|
+
Create or update the `postcss.config.cjs` file.
|
|
39
|
+
|
|
40
|
+
```js title="postcss.config.cjs"
|
|
41
|
+
module.exports = {
|
|
42
|
+
plugins: {
|
|
43
|
+
tailwindcss: {},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Tailwind CSS Configuration Migration
|
|
49
|
+
|
|
50
|
+
**Single Configuration Case**:
|
|
51
|
+
|
|
52
|
+
- If only configured in `tailwind.config.{ts,js}`, no additional processing is needed
|
|
53
|
+
- If only configured in `modern.config.ts`, you need to migrate Tailwind-related configurations to `tailwind.config.{ts,js}`
|
|
54
|
+
|
|
55
|
+
**Dual Configuration Case**:
|
|
56
|
+
|
|
57
|
+
If both `tailwind.config.{ts,js}` and `modern.config.ts` have configurations, you need to merge the configurations from both and migrate the merged configuration to `tailwind.config.{ts,js}`.
|
|
58
|
+
|
|
59
|
+
**Special Directory Handling**:
|
|
60
|
+
|
|
61
|
+
If the project has storybook or config/html directories, you need to add them to the `content` in `tailwind.config.{ts,js}`:
|
|
62
|
+
|
|
63
|
+
```ts title="tailwind.config.ts"
|
|
64
|
+
export default {
|
|
65
|
+
content: [
|
|
66
|
+
'./src/**/*.{js,jsx,ts,tsx}',
|
|
67
|
+
'./storybook/**/*', // If storybook directory exists
|
|
68
|
+
'./config/html/**/*.{html,ejs,hbs}', // If config/html directory exists
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 4. CSS Style Import
|
|
74
|
+
|
|
75
|
+
Change the CSS import method to the `@tailwind` directive approach.
|
|
76
|
+
|
|
77
|
+
**2.0 Version:**
|
|
78
|
+
|
|
79
|
+
```css
|
|
80
|
+
@import 'tailwindcss/base.css';
|
|
81
|
+
@import 'tailwindcss/components.css';
|
|
82
|
+
@import 'tailwindcss/utilities.css';
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**3.0 Version:**
|
|
86
|
+
|
|
87
|
+
```css
|
|
88
|
+
@tailwind base;
|
|
89
|
+
@tailwind components;
|
|
90
|
+
@tailwind utilities;
|
|
91
|
+
```
|
|
92
|
+
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Custom Web Server Changes
|
|
2
|
+
|
|
3
|
+
This chapter covers upgrades for two types of legacy custom Server APIs:
|
|
4
|
+
|
|
5
|
+
- **unstableMiddleware**
|
|
6
|
+
- **Hook**
|
|
7
|
+
|
|
8
|
+
These two approaches are mutually exclusive in the legacy version. When migrating, please choose the corresponding path based on the capabilities actually used in the project.
|
|
9
|
+
|
|
10
|
+
## unstableMiddleware
|
|
11
|
+
|
|
12
|
+
### Core Differences
|
|
13
|
+
|
|
14
|
+
- **File Structure**: `server/index.ts` → `server/modern.server.ts`
|
|
15
|
+
- **Export Method**: `unstableMiddleware` array → `defineServerConfig`
|
|
16
|
+
- **Context API**: Modern.js Server Context → Hono Context (`c.req`/`c.res`)
|
|
17
|
+
- **Middleware Execution**: Legacy version could skip calling `next()`, new version must call it for subsequent chain execution
|
|
18
|
+
- **Response Method**: `c.response.raw()` → `c.text()` / `c.json()`
|
|
19
|
+
|
|
20
|
+
### File and Export
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
// Legacy - server/index.ts
|
|
24
|
+
export const unstableMiddleware: UnstableMiddleware[] = [middleware1, middleware2];
|
|
25
|
+
|
|
26
|
+
// New - server/modern.server.ts
|
|
27
|
+
import { defineServerConfig } from '@modern-js/server-runtime';
|
|
28
|
+
|
|
29
|
+
export default defineServerConfig({
|
|
30
|
+
middlewares: [
|
|
31
|
+
{ name: 'middleware1', handler: middleware1 },
|
|
32
|
+
{ name: 'middleware2', handler: middleware2 },
|
|
33
|
+
],
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Type and next Call
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// Legacy
|
|
41
|
+
import type { UnstableMiddleware, UnstableMiddlewareContext } from '@modern-js/server-runtime';
|
|
42
|
+
const middleware: UnstableMiddleware = async (c: UnstableMiddlewareContext, next) => {
|
|
43
|
+
return c.response.raw('response'); // Will continue rendering even without calling next
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// New
|
|
47
|
+
import { defineServerConfig, type MiddlewareHandler } from '@modern-js/server-runtime';
|
|
48
|
+
const middleware: MiddlewareHandler = async (c, next) => {
|
|
49
|
+
await next(); // Must call
|
|
50
|
+
return c.text('response');
|
|
51
|
+
};
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Context API Comparison
|
|
55
|
+
|
|
56
|
+
| Legacy API | New API | Description |
|
|
57
|
+
| -------------------- | ---------------------- | ------------- |
|
|
58
|
+
| `c.request.cookie` | `getCookie(c, 'key')` | Cookie reading |
|
|
59
|
+
| `c.req.cookie()` | `getCookie(c, 'key')` | Hono v4 deprecated |
|
|
60
|
+
| `c.request.pathname` | `c.req.path` | Request path |
|
|
61
|
+
| `c.request.host` | `c.req.header('Host')` | Request host |
|
|
62
|
+
| `c.request.query` | `c.req.query()` | Query parameters |
|
|
63
|
+
| `c.request.headers` | `c.req.header()` | Request headers |
|
|
64
|
+
| `c.response.status` | `c.status()` | Response status code |
|
|
65
|
+
| `c.response.set` | `c.res.headers.set` | Set response headers |
|
|
66
|
+
| `c.response.raw` | `c.text` / `c.json` | Response body |
|
|
67
|
+
|
|
68
|
+
## afterRender Hook
|
|
69
|
+
|
|
70
|
+
The `afterRender` Hook is used to process HTML after page rendering is complete. In the new version, you need to use `renderMiddlewares` to achieve the same functionality.
|
|
71
|
+
|
|
72
|
+
### Core Differences
|
|
73
|
+
|
|
74
|
+
- **File Structure**: `server/index.ts` → `server/modern.server.ts`
|
|
75
|
+
- **Export Method**: `afterRender` in `hook` object → `renderMiddlewares` in `defineServerConfig`
|
|
76
|
+
- **Processing Method**: Direct HTML string modification → Get and modify response through middleware
|
|
77
|
+
|
|
78
|
+
### Migration Example
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// Legacy - server/index.ts
|
|
82
|
+
export const afterRender = (ctx, next) => {
|
|
83
|
+
ctx.template = ctx.template
|
|
84
|
+
.replace('<head>', '<head><meta name="author" content="ByteDance">')
|
|
85
|
+
.replace('<body>', '<body><div id="loading">Loading...</div>')
|
|
86
|
+
.replace('</body>', '<script>console.log("Page loaded")</script></body>');
|
|
87
|
+
next();
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// New - server/modern.server.ts
|
|
91
|
+
import { defineServerConfig, type MiddlewareHandler } from '@modern-js/server-runtime';
|
|
92
|
+
|
|
93
|
+
const renderMiddleware: MiddlewareHandler = async (c, next) => {
|
|
94
|
+
await next(); // Wait for page rendering first
|
|
95
|
+
const { res } = c;
|
|
96
|
+
const html = await res.text();
|
|
97
|
+
|
|
98
|
+
const modified = html
|
|
99
|
+
.replace('<head>', '<head><meta name="author" content="ByteDance">')
|
|
100
|
+
.replace('<body>', '<body><div id="loading">Loading...</div>')
|
|
101
|
+
.replace('</body>', '<script>console.log("Page loaded")</script></body>');
|
|
102
|
+
|
|
103
|
+
c.res = c.body(modified, { status: res.status, headers: res.headers });
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export default defineServerConfig({
|
|
107
|
+
renderMiddlewares: [{ name: 'custom-content-injection', handler: renderMiddleware }],
|
|
108
|
+
});
|
|
109
|
+
```
|
package/docs/index.md
ADDED
package/package.json
CHANGED
|
@@ -17,20 +17,24 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.5.0-ultramodern.
|
|
20
|
+
"version": "3.5.0-ultramodern.99",
|
|
21
21
|
"types": "./dist/types/index.d.ts",
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
|
-
"
|
|
27
|
-
|
|
26
|
+
"node": {
|
|
27
|
+
"import": "./dist/esm-node/index.mjs",
|
|
28
|
+
"require": "./dist/cjs/index.js"
|
|
29
|
+
},
|
|
28
30
|
"default": "./dist/cjs/index.js"
|
|
29
31
|
},
|
|
30
32
|
"./builder": {
|
|
31
33
|
"types": "./dist/types/builder/index.d.ts",
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
+
"node": {
|
|
35
|
+
"import": "./dist/esm-node/builder/index.mjs",
|
|
36
|
+
"require": "./dist/cjs/builder/index.js"
|
|
37
|
+
},
|
|
34
38
|
"default": "./dist/cjs/builder/index.js"
|
|
35
39
|
},
|
|
36
40
|
"./config": {
|
|
@@ -41,14 +45,18 @@
|
|
|
41
45
|
},
|
|
42
46
|
"./cli": {
|
|
43
47
|
"types": "./dist/types/index.d.ts",
|
|
44
|
-
"
|
|
45
|
-
|
|
48
|
+
"node": {
|
|
49
|
+
"import": "./dist/esm-node/index.mjs",
|
|
50
|
+
"require": "./dist/cjs/index.js"
|
|
51
|
+
},
|
|
46
52
|
"default": "./dist/cjs/index.js"
|
|
47
53
|
},
|
|
48
54
|
"./cli/run": {
|
|
49
55
|
"types": "./dist/types/run/index.d.ts",
|
|
50
|
-
"
|
|
51
|
-
|
|
56
|
+
"node": {
|
|
57
|
+
"import": "./dist/esm-node/run/index.mjs",
|
|
58
|
+
"require": "./dist/cjs/run/index.js"
|
|
59
|
+
},
|
|
52
60
|
"default": "./dist/cjs/run/index.js"
|
|
53
61
|
},
|
|
54
62
|
"./cloudflare-output-verifier": {
|
|
@@ -88,21 +96,36 @@
|
|
|
88
96
|
"modern": "bin/modern.js",
|
|
89
97
|
"modern-app": "bin/modern.js"
|
|
90
98
|
},
|
|
99
|
+
"nx": {
|
|
100
|
+
"targets": {
|
|
101
|
+
"build": {
|
|
102
|
+
"inputs": [
|
|
103
|
+
"build",
|
|
104
|
+
"^build",
|
|
105
|
+
"{workspaceRoot}/packages/document/docs/en/**/*"
|
|
106
|
+
],
|
|
107
|
+
"outputs": [
|
|
108
|
+
"{projectRoot}/dist",
|
|
109
|
+
"{projectRoot}/docs"
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
91
114
|
"dependencies": {
|
|
92
115
|
"@babel/parser": "^8.0.0",
|
|
93
116
|
"@babel/traverse": "^8.0.0",
|
|
94
117
|
"@babel/types": "^8.0.0",
|
|
95
118
|
"@loadable/component": "5.16.7",
|
|
96
|
-
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.
|
|
97
|
-
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.
|
|
98
|
-
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.
|
|
99
|
-
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.
|
|
100
|
-
"@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.
|
|
101
|
-
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.
|
|
102
|
-
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.
|
|
103
|
-
"@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.
|
|
104
|
-
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.
|
|
105
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.
|
|
119
|
+
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.99",
|
|
120
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.99",
|
|
121
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.99",
|
|
122
|
+
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.99",
|
|
123
|
+
"@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.99",
|
|
124
|
+
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.99",
|
|
125
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.99",
|
|
126
|
+
"@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.99",
|
|
127
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.99",
|
|
128
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.99",
|
|
106
129
|
"@rsbuild/core": "2.1.5",
|
|
107
130
|
"@swc/core": "1.15.43",
|
|
108
131
|
"@swc/helpers": "^0.5.23",
|
|
@@ -144,7 +167,7 @@
|
|
|
144
167
|
},
|
|
145
168
|
"scripts": {
|
|
146
169
|
"dev": "rslib build --watch",
|
|
147
|
-
"build": "rslib build && pnpm -w tsgo:dts \"$PWD\" && pnpm run verify:public-surface",
|
|
170
|
+
"build": "rslib build && pnpm -w tsgo:dts \"$PWD\" && pnpm run verify:public-surface && node ./scripts/copy-main-doc.mjs",
|
|
148
171
|
"verify:public-surface": "node ./tests/config/verify-public-surface.mjs",
|
|
149
172
|
"test": "rstest"
|
|
150
173
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
|
|
5
|
+
// Copies the English docs from packages/document into this package as
|
|
6
|
+
// `docs/`, so every project gets version-matched offline docs
|
|
7
|
+
// for AI coding agents (see AGENTS.md generated by @modern-js/create).
|
|
8
|
+
// Runs as part of `build` (see package.json build script + nx build
|
|
9
|
+
// outputs), so the bundle is produced whenever the package is built —
|
|
10
|
+
// including in CI/release where publish runs with `--ignore-scripts` and
|
|
11
|
+
// prepublishOnly would be skipped. The directory is gitignored, so it only
|
|
12
|
+
// materializes as a build output, never committed to the working tree.
|
|
13
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
const pkgRoot = path.resolve(__dirname, '..');
|
|
15
|
+
const source = path.resolve(pkgRoot, '../../document/docs/en');
|
|
16
|
+
// Bundle root: docs land directly under `docs/` (no `docs/en` nesting) to
|
|
17
|
+
// keep the path agents read as short as possible.
|
|
18
|
+
const target = path.resolve(pkgRoot, 'docs');
|
|
19
|
+
|
|
20
|
+
// Top-level doc sections excluded from the bundle to keep it small.
|
|
21
|
+
// Agents rarely need these while coding (blog/showcase, narrative
|
|
22
|
+
// tutorials, framework-plugin authoring); llms.txt covers them online.
|
|
23
|
+
// Keep this list in sync with scripts/check-doc-bundle.mjs.
|
|
24
|
+
export const EXCLUDED_SECTIONS = ['community', 'tutorials', 'plugin'];
|
|
25
|
+
|
|
26
|
+
if (!fs.existsSync(source)) {
|
|
27
|
+
console.error(`[copy-main-doc] source docs not found: ${source}`);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
fs.rmSync(target, { recursive: true, force: true });
|
|
32
|
+
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
33
|
+
fs.cpSync(source, target, {
|
|
34
|
+
recursive: true,
|
|
35
|
+
filter: src => {
|
|
36
|
+
const rel = path.relative(source, src);
|
|
37
|
+
const top = rel.split(path.sep)[0];
|
|
38
|
+
return rel === '' || !EXCLUDED_SECTIONS.includes(top);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const count = fs
|
|
43
|
+
.readdirSync(target, { recursive: true, withFileTypes: true })
|
|
44
|
+
.filter(entry => entry.isFile()).length;
|
|
45
|
+
|
|
46
|
+
if (count === 0) {
|
|
47
|
+
console.error('[copy-main-doc] no files copied');
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
console.log(`[copy-main-doc] bundled ${count} doc files into docs`);
|