@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.98 → 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.
Files changed (368) hide show
  1. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +5 -1
  2. package/dist/cjs/builder/generator/getBuilderEnvironments.js +7 -0
  3. package/dist/cjs/commands/build.js +2 -1
  4. package/dist/cjs/commands/deploy.js +4 -2
  5. package/dist/cjs/commands/index.js +0 -4
  6. package/dist/cjs/config/default.js +2 -0
  7. package/dist/cjs/index.js +56 -15
  8. package/dist/cjs/plugins/analyze/index.js +2 -2
  9. package/dist/cjs/plugins/analyze/utils.js +3 -2
  10. package/dist/cjs/plugins/initialize/index.js +4 -3
  11. package/dist/cjs/plugins/serverBuild.js +3 -2
  12. package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +5 -1
  13. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +7 -0
  14. package/dist/esm/commands/build.mjs +2 -1
  15. package/dist/esm/commands/deploy.mjs +4 -2
  16. package/dist/esm/commands/index.mjs +0 -4
  17. package/dist/esm/config/default.mjs +2 -0
  18. package/dist/esm/index.mjs +15 -1
  19. package/dist/esm/plugins/analyze/index.mjs +2 -2
  20. package/dist/esm/plugins/analyze/utils.mjs +3 -2
  21. package/dist/esm/plugins/initialize/index.mjs +4 -3
  22. package/dist/esm/plugins/serverBuild.mjs +3 -2
  23. package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +5 -1
  24. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +7 -0
  25. package/dist/esm-node/commands/build.mjs +2 -1
  26. package/dist/esm-node/commands/deploy.mjs +4 -2
  27. package/dist/esm-node/commands/index.mjs +0 -4
  28. package/dist/esm-node/config/default.mjs +2 -0
  29. package/dist/esm-node/index.mjs +15 -1
  30. package/dist/esm-node/plugins/analyze/index.mjs +2 -2
  31. package/dist/esm-node/plugins/analyze/utils.mjs +3 -2
  32. package/dist/esm-node/plugins/initialize/index.mjs +4 -3
  33. package/dist/esm-node/plugins/serverBuild.mjs +3 -2
  34. package/dist/types/commands/deploy.d.ts +2 -1
  35. package/dist/types/index.d.ts +4 -1
  36. package/dist/types/plugins/analyze/utils.d.ts +1 -1
  37. package/dist/types/types/config/dev.d.ts +6 -0
  38. package/docs/_nav.json +36 -0
  39. package/docs/apis/_meta.json +13 -0
  40. package/docs/apis/app/commands.mdx +205 -0
  41. package/docs/apis/app/hooks/_meta.json +28 -0
  42. package/docs/apis/app/hooks/api/lambda.mdx +13 -0
  43. package/docs/apis/app/hooks/config/_meta.json +1 -0
  44. package/docs/apis/app/hooks/config/favicon.mdx +29 -0
  45. package/docs/apis/app/hooks/config/html.mdx +9 -0
  46. package/docs/apis/app/hooks/config/icon.mdx +29 -0
  47. package/docs/apis/app/hooks/config/mock.mdx +10 -0
  48. package/docs/apis/app/hooks/config/public.mdx +30 -0
  49. package/docs/apis/app/hooks/config/upload.mdx +54 -0
  50. package/docs/apis/app/hooks/modern-config.mdx +9 -0
  51. package/docs/apis/app/hooks/server/server.mdx +10 -0
  52. package/docs/apis/app/hooks/shared.mdx +7 -0
  53. package/docs/apis/app/hooks/src/app.mdx +30 -0
  54. package/docs/apis/app/hooks/src/entry.mdx +39 -0
  55. package/docs/apis/app/hooks/src/entry.server.mdx +56 -0
  56. package/docs/apis/app/hooks/src/modern.runtime.mdx +9 -0
  57. package/docs/apis/app/hooks/src/routes.mdx +90 -0
  58. package/docs/apis/app/hooks/src/server.mdx +7 -0
  59. package/docs/apis/app/runtime/_meta.json +32 -0
  60. package/docs/apis/app/runtime/bff/use-backend-context.mdx +30 -0
  61. package/docs/apis/app/runtime/core/create-root.mdx +22 -0
  62. package/docs/apis/app/runtime/core/render.mdx +42 -0
  63. package/docs/apis/app/runtime/core/runtime-context.mdx +160 -0
  64. package/docs/apis/app/runtime/router/router.mdx +288 -0
  65. package/docs/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  66. package/docs/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  67. package/docs/apis/app/runtime/ssr/renderString.mdx +64 -0
  68. package/docs/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  69. package/docs/apis/app/runtime/utility/css-in-js.mdx +44 -0
  70. package/docs/apis/app/runtime/utility/head.mdx +38 -0
  71. package/docs/apis/app/runtime/utility/loadable.mdx +85 -0
  72. package/docs/components/auto-upgrade.mdx +0 -0
  73. package/docs/components/bff-upload.mdx +97 -0
  74. package/docs/components/build-output.mdx +45 -0
  75. package/docs/components/bundler.mdx +3 -0
  76. package/docs/components/convention-routing-motivation.mdx +0 -0
  77. package/docs/components/debug-app.mdx +15 -0
  78. package/docs/components/default-browserslist.mdx +7 -0
  79. package/docs/components/deploy-command.mdx +14 -0
  80. package/docs/components/deploy.mdx +1 -0
  81. package/docs/components/enable-bff-caution.mdx +3 -0
  82. package/docs/components/enable-bff.mdx +56 -0
  83. package/docs/components/enable-ssg.mdx +49 -0
  84. package/docs/components/entry-mode.mdx +0 -0
  85. package/docs/components/entry-scan-logic.mdx +7 -0
  86. package/docs/components/extend-bff-function.mdx +3 -0
  87. package/docs/components/hono.mdx +120 -0
  88. package/docs/components/init-app.mdx +93 -0
  89. package/docs/components/init-rspack-app.mdx +5 -0
  90. package/docs/components/internal-logger.mdx +25 -0
  91. package/docs/components/internal-metrics.mdx +20 -0
  92. package/docs/components/international/custom-instance-code.mdx +16 -0
  93. package/docs/components/international/init-options-desc.mdx +1 -0
  94. package/docs/components/international/install-command.mdx +10 -0
  95. package/docs/components/international/instance-code.mdx +16 -0
  96. package/docs/components/international/introduce.mdx +5 -0
  97. package/docs/components/international/platform-support.mdx +0 -0
  98. package/docs/components/language-config.mdx +9 -0
  99. package/docs/components/micro-frontend.mdx +6 -0
  100. package/docs/components/micro-master-manifest-config.mdx +15 -0
  101. package/docs/components/micro-runtime-config.mdx +17 -0
  102. package/docs/components/module-federation.mdx +7 -0
  103. package/docs/components/new-entry-tooltip.mdx +0 -0
  104. package/docs/components/nodeVersion.mdx +28 -0
  105. package/docs/components/other-plugins.mdx +0 -0
  106. package/docs/components/output-asset-prefix-extend.mdx +0 -0
  107. package/docs/components/output-distpath-warning.mdx +0 -0
  108. package/docs/components/output-polyfill-extend.mdx +1 -0
  109. package/docs/components/prerequisites.mdx +18 -0
  110. package/docs/components/release-note.mdx +1 -0
  111. package/docs/components/routes-practice.mdx +0 -0
  112. package/docs/components/rsbuild-config-tooltip.mdx +5 -0
  113. package/docs/components/rsbuild.mdx +3 -0
  114. package/docs/components/rsc-deploy-tip.mdx +1 -0
  115. package/docs/components/rspack.mdx +3 -0
  116. package/docs/components/rspackTip.mdx +7 -0
  117. package/docs/components/runtime-cli-config.mdx +0 -0
  118. package/docs/components/serve-command.mdx +22 -0
  119. package/docs/components/ssr-monitor.mdx +3 -0
  120. package/docs/components/stream-ssr-performance.mdx +0 -0
  121. package/docs/components/swc.mdx +3 -0
  122. package/docs/components/tech-stack-node-framework.mdx +1 -0
  123. package/docs/components/turtorials-example-list.mdx +2 -0
  124. package/docs/components/ua-polyfill.mdx +44 -0
  125. package/docs/components/upgrade-browserslist.mdx +0 -0
  126. package/docs/components/upgrade-config-deploy.mdx +0 -0
  127. package/docs/components/upgrade-faq.mdx +0 -0
  128. package/docs/configure/_meta.json +78 -0
  129. package/docs/configure/app/bff/cross-project.mdx +24 -0
  130. package/docs/configure/app/bff/effect.mdx +319 -0
  131. package/docs/configure/app/bff/prefix.mdx +33 -0
  132. package/docs/configure/app/bff/runtime-framework.mdx +30 -0
  133. package/docs/configure/app/builder-plugins.mdx +70 -0
  134. package/docs/configure/app/dev/asset-prefix.mdx +18 -0
  135. package/docs/configure/app/dev/before-start-url.mdx +21 -0
  136. package/docs/configure/app/dev/client.mdx +45 -0
  137. package/docs/configure/app/dev/hmr.mdx +14 -0
  138. package/docs/configure/app/dev/host.mdx +22 -0
  139. package/docs/configure/app/dev/https.mdx +81 -0
  140. package/docs/configure/app/dev/lazy-compilation.mdx +45 -0
  141. package/docs/configure/app/dev/live-reload.mdx +14 -0
  142. package/docs/configure/app/dev/mock-dir.mdx +35 -0
  143. package/docs/configure/app/dev/progress-bar.mdx +23 -0
  144. package/docs/configure/app/dev/server.mdx +128 -0
  145. package/docs/configure/app/dev/setup-middlewares.mdx +36 -0
  146. package/docs/configure/app/dev/start-url.mdx +53 -0
  147. package/docs/configure/app/dev/watch-files.mdx +31 -0
  148. package/docs/configure/app/dev/write-to-disk.mdx +14 -0
  149. package/docs/configure/app/experiments/source-build.mdx +33 -0
  150. package/docs/configure/app/html/app-icon.mdx +32 -0
  151. package/docs/configure/app/html/crossorigin.mdx +14 -0
  152. package/docs/configure/app/html/favicon.mdx +20 -0
  153. package/docs/configure/app/html/inject.mdx +14 -0
  154. package/docs/configure/app/html/meta.mdx +28 -0
  155. package/docs/configure/app/html/mount-id.mdx +14 -0
  156. package/docs/configure/app/html/output-structure.mdx +14 -0
  157. package/docs/configure/app/html/script-loading.mdx +14 -0
  158. package/docs/configure/app/html/tags.mdx +19 -0
  159. package/docs/configure/app/html/template-parameters.mdx +37 -0
  160. package/docs/configure/app/html/template.mdx +14 -0
  161. package/docs/configure/app/html/title.mdx +22 -0
  162. package/docs/configure/app/output/asset-prefix.mdx +18 -0
  163. package/docs/configure/app/output/assets-retry.mdx +81 -0
  164. package/docs/configure/app/output/charset.mdx +14 -0
  165. package/docs/configure/app/output/clean-dist-path.mdx +20 -0
  166. package/docs/configure/app/output/convert-to-rem.mdx +83 -0
  167. package/docs/configure/app/output/copy.mdx +14 -0
  168. package/docs/configure/app/output/css-modules.mdx +52 -0
  169. package/docs/configure/app/output/data-uri-limit.mdx +30 -0
  170. package/docs/configure/app/output/disable-css-module-extension.mdx +59 -0
  171. package/docs/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  172. package/docs/configure/app/output/disable-svgr.mdx +22 -0
  173. package/docs/configure/app/output/disable-ts-checker.mdx +53 -0
  174. package/docs/configure/app/output/dist-path.mdx +51 -0
  175. package/docs/configure/app/output/enable-asset-manifest.mdx +40 -0
  176. package/docs/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  177. package/docs/configure/app/output/enable-inline-route-manifests.mdx +20 -0
  178. package/docs/configure/app/output/externals.mdx +24 -0
  179. package/docs/configure/app/output/filename-hash.mdx +14 -0
  180. package/docs/configure/app/output/filename.mdx +59 -0
  181. package/docs/configure/app/output/inject-styles.mdx +14 -0
  182. package/docs/configure/app/output/inline-scripts.mdx +33 -0
  183. package/docs/configure/app/output/inline-styles.mdx +33 -0
  184. package/docs/configure/app/output/legal-comments.mdx +22 -0
  185. package/docs/configure/app/output/minify.mdx +26 -0
  186. package/docs/configure/app/output/override-browserslist.mdx +26 -0
  187. package/docs/configure/app/output/polyfill.mdx +18 -0
  188. package/docs/configure/app/output/source-map.mdx +34 -0
  189. package/docs/configure/app/output/split-route-chunks.mdx +20 -0
  190. package/docs/configure/app/output/ssg.mdx +85 -0
  191. package/docs/configure/app/output/ssgByEntries.mdx +93 -0
  192. package/docs/configure/app/output/svg-default-export.mdx +34 -0
  193. package/docs/configure/app/output/temp-dir.mdx +24 -0
  194. package/docs/configure/app/performance/build-cache.mdx +48 -0
  195. package/docs/configure/app/performance/chunk-split.mdx +44 -0
  196. package/docs/configure/app/performance/dns-prefetch.mdx +19 -0
  197. package/docs/configure/app/performance/preconnect.mdx +20 -0
  198. package/docs/configure/app/performance/prefetch.mdx +25 -0
  199. package/docs/configure/app/performance/preload.mdx +27 -0
  200. package/docs/configure/app/performance/print-file-size.mdx +44 -0
  201. package/docs/configure/app/performance/profile.mdx +14 -0
  202. package/docs/configure/app/performance/remove-console.mdx +14 -0
  203. package/docs/configure/app/performance/remove-moment-locale.mdx +14 -0
  204. package/docs/configure/app/performance/rsdoctor.mdx +42 -0
  205. package/docs/configure/app/plugins.mdx +59 -0
  206. package/docs/configure/app/resolve/alias-strategy.mdx +14 -0
  207. package/docs/configure/app/resolve/alias.mdx +13 -0
  208. package/docs/configure/app/resolve/condition-names.mdx +18 -0
  209. package/docs/configure/app/resolve/dedupe.mdx +13 -0
  210. package/docs/configure/app/resolve/extensions.mdx +18 -0
  211. package/docs/configure/app/runtime/0-intro.mdx +61 -0
  212. package/docs/configure/app/runtime/plugins.mdx +58 -0
  213. package/docs/configure/app/runtime/router.mdx +39 -0
  214. package/docs/configure/app/security/check-syntax.mdx +73 -0
  215. package/docs/configure/app/security/nonce.mdx +19 -0
  216. package/docs/configure/app/security/sri.mdx +24 -0
  217. package/docs/configure/app/server/base-url.mdx +30 -0
  218. package/docs/configure/app/server/port.mdx +22 -0
  219. package/docs/configure/app/server/public-routes.mdx +26 -0
  220. package/docs/configure/app/server/routes.mdx +90 -0
  221. package/docs/configure/app/server/rsc.mdx +30 -0
  222. package/docs/configure/app/server/ssr-by-entries.mdx +29 -0
  223. package/docs/configure/app/server/ssr.mdx +85 -0
  224. package/docs/configure/app/server/tsconfig-path.mdx +63 -0
  225. package/docs/configure/app/source/alias-strategy.mdx +18 -0
  226. package/docs/configure/app/source/alias.mdx +27 -0
  227. package/docs/configure/app/source/config-dir.mdx +24 -0
  228. package/docs/configure/app/source/decorators.mdx +29 -0
  229. package/docs/configure/app/source/define.mdx +20 -0
  230. package/docs/configure/app/source/disable-default-entries.mdx +32 -0
  231. package/docs/configure/app/source/enable-async-entry.mdx +54 -0
  232. package/docs/configure/app/source/enable-async-pre-entry.mdx +30 -0
  233. package/docs/configure/app/source/entries-dir.mdx +39 -0
  234. package/docs/configure/app/source/entries.mdx +183 -0
  235. package/docs/configure/app/source/exclude.mdx +14 -0
  236. package/docs/configure/app/source/global-vars.mdx +110 -0
  237. package/docs/configure/app/source/include.mdx +40 -0
  238. package/docs/configure/app/source/main-entry-name.mdx +28 -0
  239. package/docs/configure/app/source/pre-entry.mdx +14 -0
  240. package/docs/configure/app/source/react-compiler.mdx +72 -0
  241. package/docs/configure/app/source/transform-import.mdx +31 -0
  242. package/docs/configure/app/split-chunks.mdx +17 -0
  243. package/docs/configure/app/tools/autoprefixer.mdx +48 -0
  244. package/docs/configure/app/tools/bundler-chain.mdx +30 -0
  245. package/docs/configure/app/tools/css-extract.mdx +37 -0
  246. package/docs/configure/app/tools/css-loader.mdx +21 -0
  247. package/docs/configure/app/tools/dev-server.mdx +117 -0
  248. package/docs/configure/app/tools/html-plugin.mdx +45 -0
  249. package/docs/configure/app/tools/less.mdx +85 -0
  250. package/docs/configure/app/tools/lightningcss-loader.mdx +39 -0
  251. package/docs/configure/app/tools/minify-css.mdx +57 -0
  252. package/docs/configure/app/tools/postcss.mdx +38 -0
  253. package/docs/configure/app/tools/rspack.mdx +14 -0
  254. package/docs/configure/app/tools/sass.mdx +82 -0
  255. package/docs/configure/app/tools/style-loader.mdx +14 -0
  256. package/docs/configure/app/tools/swc.mdx +69 -0
  257. package/docs/configure/app/tools/ts-checker.mdx +103 -0
  258. package/docs/configure/app/usage.mdx +276 -0
  259. package/docs/guides/_meta.json +37 -0
  260. package/docs/guides/advanced-features/_meta.json +32 -0
  261. package/docs/guides/advanced-features/bff/_meta.json +10 -0
  262. package/docs/guides/advanced-features/bff/cross-project.mdx +110 -0
  263. package/docs/guides/advanced-features/bff/data-platform.mdx +120 -0
  264. package/docs/guides/advanced-features/bff/extend-server.mdx +120 -0
  265. package/docs/guides/advanced-features/bff/frameworks.mdx +131 -0
  266. package/docs/guides/advanced-features/bff/function.mdx +265 -0
  267. package/docs/guides/advanced-features/bff/operators.mdx +629 -0
  268. package/docs/guides/advanced-features/bff/sdk.mdx +116 -0
  269. package/docs/guides/advanced-features/bff/upload.mdx +7 -0
  270. package/docs/guides/advanced-features/bff.mdx +22 -0
  271. package/docs/guides/advanced-features/build-performance.mdx +134 -0
  272. package/docs/guides/advanced-features/compatibility.mdx +81 -0
  273. package/docs/guides/advanced-features/international/_meta.json +10 -0
  274. package/docs/guides/advanced-features/international/advanced.mdx +132 -0
  275. package/docs/guides/advanced-features/international/api.mdx +271 -0
  276. package/docs/guides/advanced-features/international/best-practices.mdx +290 -0
  277. package/docs/guides/advanced-features/international/configuration.mdx +222 -0
  278. package/docs/guides/advanced-features/international/locale-detection.mdx +130 -0
  279. package/docs/guides/advanced-features/international/quick-start.mdx +112 -0
  280. package/docs/guides/advanced-features/international/resource-loading.mdx +158 -0
  281. package/docs/guides/advanced-features/international/routing.mdx +177 -0
  282. package/docs/guides/advanced-features/international.mdx +29 -0
  283. package/docs/guides/advanced-features/low-level.mdx +50 -0
  284. package/docs/guides/advanced-features/page-performance/_meta.json +1 -0
  285. package/docs/guides/advanced-features/page-performance/code-split.mdx +81 -0
  286. package/docs/guides/advanced-features/page-performance/inline-assets.mdx +163 -0
  287. package/docs/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  288. package/docs/guides/advanced-features/page-performance/react-compiler.mdx +51 -0
  289. package/docs/guides/advanced-features/server-monitor/_meta.json +1 -0
  290. package/docs/guides/advanced-features/server-monitor/logger.mdx +19 -0
  291. package/docs/guides/advanced-features/server-monitor/metrics.mdx +41 -0
  292. package/docs/guides/advanced-features/server-monitor/monitors.mdx +242 -0
  293. package/docs/guides/advanced-features/source-build.mdx +168 -0
  294. package/docs/guides/advanced-features/web-server.mdx +296 -0
  295. package/docs/guides/basic-features/_meta.json +49 -0
  296. package/docs/guides/basic-features/alias.mdx +106 -0
  297. package/docs/guides/basic-features/css/_meta.json +1 -0
  298. package/docs/guides/basic-features/css/css-in-js.mdx +69 -0
  299. package/docs/guides/basic-features/css/css-modules.mdx +212 -0
  300. package/docs/guides/basic-features/css/css.mdx +31 -0
  301. package/docs/guides/basic-features/css/tailwindcss.mdx +27 -0
  302. package/docs/guides/basic-features/data/_meta.json +1 -0
  303. package/docs/guides/basic-features/data/data-cache.mdx +515 -0
  304. package/docs/guides/basic-features/data/data-fetch.mdx +419 -0
  305. package/docs/guides/basic-features/data/data-write.mdx +230 -0
  306. package/docs/guides/basic-features/debug/_meta.json +1 -0
  307. package/docs/guides/basic-features/debug/mock.mdx +113 -0
  308. package/docs/guides/basic-features/debug/proxy.mdx +25 -0
  309. package/docs/guides/basic-features/debug/rsdoctor.mdx +47 -0
  310. package/docs/guides/basic-features/debug/using-storybook.mdx +100 -0
  311. package/docs/guides/basic-features/deploy.mdx +448 -0
  312. package/docs/guides/basic-features/env-vars.mdx +181 -0
  313. package/docs/guides/basic-features/html.mdx +259 -0
  314. package/docs/guides/basic-features/output-files.mdx +145 -0
  315. package/docs/guides/basic-features/render/_meta.json +1 -0
  316. package/docs/guides/basic-features/render/before-render.mdx +108 -0
  317. package/docs/guides/basic-features/render/overview.mdx +51 -0
  318. package/docs/guides/basic-features/render/rsc.mdx +533 -0
  319. package/docs/guides/basic-features/render/ssg.mdx +167 -0
  320. package/docs/guides/basic-features/render/ssr-cache.mdx +201 -0
  321. package/docs/guides/basic-features/render/ssr.mdx +323 -0
  322. package/docs/guides/basic-features/render/streaming-ssr.mdx +267 -0
  323. package/docs/guides/basic-features/routes/_meta.json +1 -0
  324. package/docs/guides/basic-features/routes/config-routes.mdx +427 -0
  325. package/docs/guides/basic-features/routes/routes.mdx +532 -0
  326. package/docs/guides/basic-features/static-assets/_meta.json +1 -0
  327. package/docs/guides/basic-features/static-assets/json-files.mdx +124 -0
  328. package/docs/guides/basic-features/static-assets/svg-assets.mdx +172 -0
  329. package/docs/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  330. package/docs/guides/basic-features/static-assets.mdx +164 -0
  331. package/docs/guides/basic-features/testing/_meta.json +1 -0
  332. package/docs/guides/basic-features/testing/playwright.mdx +111 -0
  333. package/docs/guides/basic-features/testing/rstest.mdx +192 -0
  334. package/docs/guides/concept/_meta.json +1 -0
  335. package/docs/guides/concept/builder.mdx +60 -0
  336. package/docs/guides/concept/entries.mdx +325 -0
  337. package/docs/guides/concept/server.mdx +35 -0
  338. package/docs/guides/get-started/_meta.json +9 -0
  339. package/docs/guides/get-started/ai-coding-agents.mdx +63 -0
  340. package/docs/guides/get-started/glossary.mdx +63 -0
  341. package/docs/guides/get-started/introduction.mdx +45 -0
  342. package/docs/guides/get-started/quick-start.mdx +92 -0
  343. package/docs/guides/get-started/tech-stack.mdx +97 -0
  344. package/docs/guides/get-started/ultramodern.mdx +433 -0
  345. package/docs/guides/get-started/upgrade.mdx +114 -0
  346. package/docs/guides/topic-detail/_meta.json +8 -0
  347. package/docs/guides/topic-detail/module-federation/_meta.json +1 -0
  348. package/docs/guides/topic-detail/module-federation/application.mdx +116 -0
  349. package/docs/guides/topic-detail/module-federation/deploy.mdx +104 -0
  350. package/docs/guides/topic-detail/module-federation/i18n.mdx +670 -0
  351. package/docs/guides/topic-detail/module-federation/introduce.mdx +36 -0
  352. package/docs/guides/topic-detail/module-federation/ssr.mdx +177 -0
  353. package/docs/guides/topic-detail/module-federation/usage.mdx +202 -0
  354. package/docs/guides/troubleshooting/_meta.json +1 -0
  355. package/docs/guides/troubleshooting/builder.mdx +114 -0
  356. package/docs/guides/troubleshooting/cli.mdx +39 -0
  357. package/docs/guides/troubleshooting/dependencies.mdx +123 -0
  358. package/docs/guides/troubleshooting/hmr.mdx +148 -0
  359. package/docs/guides/upgrade/_meta.json +1 -0
  360. package/docs/guides/upgrade/config.mdx +951 -0
  361. package/docs/guides/upgrade/entry.mdx +463 -0
  362. package/docs/guides/upgrade/other.mdx +183 -0
  363. package/docs/guides/upgrade/overview.mdx +33 -0
  364. package/docs/guides/upgrade/tailwindcss.mdx +92 -0
  365. package/docs/guides/upgrade/web-server.md +109 -0
  366. package/docs/index.md +4 -0
  367. package/package.json +43 -20
  368. package/scripts/copy-main-doc.mjs +50 -0
@@ -0,0 +1,951 @@
1
+ # Configuration Changes
2
+
3
+ This document mainly introduces incompatible configuration changes and recommended migration methods when upgrading from Modern.js 2.0 to 3.0.
4
+
5
+ ## dev
6
+
7
+ ### dev.port
8
+
9
+ **Change**: This configuration has been removed and replaced with `server.port`.
10
+
11
+ **Migration Example**:
12
+
13
+ ```typescript
14
+ // Before
15
+ dev: {
16
+ port: 8080;
17
+ }
18
+
19
+ // After
20
+ server: {
21
+ port: process.env.NODE_ENV === 'development' ? 8080 : undefined;
22
+ }
23
+ ```
24
+
25
+ ## html
26
+
27
+ ### html.appIcon
28
+
29
+ **Change**: String format is no longer supported, object format must be used.
30
+
31
+ **V2 Type**:
32
+
33
+ ```typescript
34
+ type AppIconItem = {
35
+ src: string;
36
+ size: number;
37
+ target?: 'apple-touch-icon' | 'web-app-manifest';
38
+ };
39
+
40
+ type AppIcon =
41
+ | string
42
+ | {
43
+ name?: string;
44
+ icons: AppIconItem[];
45
+ filename?: string;
46
+ };
47
+ ```
48
+
49
+ **V3 Type**:
50
+
51
+ ```typescript
52
+ type AppIconItem = {
53
+ src: string;
54
+ size: number;
55
+ target?: 'apple-touch-icon' | 'web-app-manifest';
56
+ };
57
+
58
+ type AppIcon = {
59
+ name?: string;
60
+ icons: AppIconItem[];
61
+ filename?: string;
62
+ };
63
+ ```
64
+
65
+ **Migration Example**:
66
+
67
+ ```typescript
68
+ // v2
69
+ export default {
70
+ html: {
71
+ appIcon: './src/assets/icon.png',
72
+ },
73
+ };
74
+
75
+ // v3
76
+ export default {
77
+ html: {
78
+ appIcon: {
79
+ icons: [
80
+ {
81
+ src: './src/assets/icon.png',
82
+ size: 180,
83
+ },
84
+ ],
85
+ },
86
+ },
87
+ };
88
+ ```
89
+
90
+ ### html.xxxByEntries
91
+
92
+ **Change**: Configurations such as `metaByEntries`, `templateParametersByEntries`, `injectByEntries`, `tagsByEnties`, `faviconByEntries`, `templateByEnties`, `titleByEntries` have been deprecated and need to be replaced with function syntax.
93
+
94
+ **Migration Steps**:
95
+
96
+ 1. Remove related configurations
97
+ 2. Use the function syntax of `html.xxx` instead
98
+
99
+ **Migration Example**:
100
+
101
+ ```typescript
102
+ // v2
103
+ export default {
104
+ html: {
105
+ metaByEntries: {
106
+ foo: {
107
+ description: 'TikTok',
108
+ },
109
+ // Other configurations...
110
+ },
111
+ },
112
+ };
113
+
114
+ // v3
115
+ export default {
116
+ html: {
117
+ meta({ entryName }) {
118
+ switch (entryName) {
119
+ case 'foo':
120
+ return {
121
+ description: 'TikTok',
122
+ };
123
+ // Other configurations...
124
+ }
125
+ },
126
+ },
127
+ };
128
+ ```
129
+
130
+ ### html.disableHtmlFolder
131
+
132
+ **Change**: This configuration has been deprecated, use `html.outputStructure` instead.
133
+
134
+ **Migration Example**:
135
+
136
+ ```typescript
137
+ // v2 - equivalent to html.outputStructure configured as nested
138
+ export default {
139
+ html: {
140
+ disableHtmlFolder: true,
141
+ },
142
+ };
143
+
144
+ // v3
145
+ export default {
146
+ html: {
147
+ outputStructure: 'flat',
148
+ },
149
+ };
150
+ ```
151
+
152
+ ## tools
153
+
154
+ ### toos.postcss
155
+
156
+ **Change**: The object configuration will override the built-in PostCSS configuration of Modern.js. If you need to extend based on the built-in configuration, please use the function configuration.
157
+
158
+ ```typescript
159
+ // v2
160
+ export default {
161
+ tools: {
162
+ postcss: {
163
+ postcssOptions: {
164
+ plugins: [tailwindcssPlugin],
165
+ },
166
+ },
167
+ },
168
+ };
169
+ ```
170
+
171
+ ```typescript
172
+ // v3
173
+ export default {
174
+ tools: {
175
+ postcss: (opts, { addPlugins }) => {
176
+ addPlugins(tailwindcssPlugin);
177
+ },
178
+ },
179
+ };
180
+ ```
181
+
182
+ ### tools.esbuild
183
+
184
+ **Change**: This configuration has been deprecated, you need to manually switch to esbuild minification.
185
+
186
+ ```typescript
187
+ // This configuration has been deprecated, please refer to [Switching Minifier](https://v2.rsbuild.rs/config/output/minify#switching-minifier) to manually switch to esbuild minification
188
+ // tools: {
189
+ // esbuild: { /* configuration */ }
190
+ // },
191
+ ```
192
+
193
+ ### tools.terser
194
+
195
+ **Change**: This configuration has been deprecated, you need to manually switch to Terser minification.
196
+
197
+ ```typescript
198
+ // This configuration has been deprecated, please refer to [Switching Minifier](https://v2.rsbuild.rs/config/output/minify#switching-minifier) to manually switch to Terser minification
199
+ // tools: {
200
+ // terser: { /* configuration */ }
201
+ // },
202
+ ```
203
+
204
+ ### tools.devServer
205
+
206
+ **Change 1**: `after`, `before`, `devMiddleware` configurations have been deprecated, use `dev.setupDevMiddlewares` configuration instead.
207
+
208
+ **Migration Example**:
209
+
210
+ ```typescript
211
+ // v2
212
+ export default {
213
+ tools: {
214
+ devServer: {
215
+ before: [...],
216
+ after: [...],
217
+ devMiddleware: {
218
+ writeToDisk: true
219
+ }
220
+ }
221
+ }
222
+ };
223
+
224
+ // v3
225
+ export default {
226
+ dev: {
227
+ setupMiddlewares: [...],
228
+ writeToDisk: true
229
+ }
230
+ };
231
+ ```
232
+
233
+ **Change 2**: `client`, `https`, `liveReload` configurations have been deprecated, use corresponding `dev.client`, `dev.https`, `dev.liveReload` configurations instead.
234
+
235
+ **Migration Example**:
236
+
237
+ ```typescript
238
+ // v2
239
+ export default {
240
+ tools: {
241
+ devServer: {
242
+ client: {
243
+ port: 8081,
244
+ },
245
+ },
246
+ },
247
+ };
248
+
249
+ // v3
250
+ export default {
251
+ dev: {
252
+ client: {
253
+ port: 8081,
254
+ },
255
+ },
256
+ };
257
+ ```
258
+
259
+ **Change 3**: `hot` configuration has been deprecated, use `dev.hmr` configuration instead.
260
+
261
+ **Migration Example**:
262
+
263
+ ```typescript
264
+ // v2
265
+ export default {
266
+ tools: {
267
+ devServer: {
268
+ hot: false,
269
+ },
270
+ },
271
+ };
272
+
273
+ // v3
274
+ export default {
275
+ dev: {
276
+ hmr: false,
277
+ },
278
+ };
279
+ ```
280
+
281
+ **Change 4**: `compress`, `headers`, `historyApiFallback`, `watch` configurations have been deprecated, use `dev.server.compress`, `dev.server.headers`, `dev.server.historyApiFallback`, `dev.server.watch` configurations instead.
282
+
283
+ **Migration Example**:
284
+
285
+ ```typescript
286
+ // v2
287
+ export default {
288
+ tools: {
289
+ devServer: {
290
+ compress: true,
291
+ headers: {
292
+ 'X-Custom-Header': 'custom-value',
293
+ },
294
+ historyApiFallback: true,
295
+ watch: true,
296
+ },
297
+ },
298
+ };
299
+
300
+ // v3
301
+ export default {
302
+ dev: {
303
+ server: {
304
+ compress: true,
305
+ headers: {
306
+ 'X-Custom-Header': 'custom-value',
307
+ },
308
+ historyApiFallback: true,
309
+ watch: true,
310
+ },
311
+ },
312
+ };
313
+ ```
314
+
315
+ ### tools.pug
316
+
317
+ **Change**: This configuration has been deprecated, use Rsbuild's [Pug plugin](https://github.com/rstackjs/rsbuild-plugin-pug) to enable support.
318
+
319
+ **Migration Example**:
320
+
321
+ ```typescript
322
+ // v2
323
+ tools: {
324
+ pug: true,
325
+ },
326
+
327
+ // v3
328
+ import { pluginPug } from "@rsbuild/plugin-pug";
329
+
330
+ export default {
331
+ builderPlugins: [pluginPug()],
332
+ };
333
+ ```
334
+
335
+ ### tools.rsdoctor
336
+
337
+ **Change**: This configuration has been deprecated. In v3, use [`performance.rsdoctor`](/configure/app/performance/rsdoctor) to opt in to Rsdoctor diagnostics.
338
+
339
+ **Migration Example**:
340
+
341
+ ```typescript
342
+ // v2
343
+ tools: {
344
+ rsdoctor: {
345
+ disableClientServer: true,
346
+ features: ['bundle', 'loader', 'plugins', 'resolver'],
347
+ },
348
+ },
349
+
350
+ // v3
351
+ export default {
352
+ performance: {
353
+ rsdoctor: {
354
+ enabled: true,
355
+ },
356
+ },
357
+ };
358
+ ```
359
+
360
+ ### tools.babel
361
+
362
+ **Change**: This configuration has been deprecated, the framework no longer includes Babel by default. Please use [Rsbuild's Babel plugin](https://rsbuild.rs/plugins/list/plugin-babel) to enable support.
363
+
364
+ When your Babel options are plain serializable data, set `parallel: true` to run Babel through Rsbuild's worker mode. Do not enable it for Babel options that contain functions.
365
+
366
+ **Migration Example**:
367
+
368
+ ```typescript
369
+ // v2
370
+ tools: {
371
+ babel: {
372
+ plugins: [
373
+ [
374
+ 'babel-plugin-import',
375
+ {
376
+ libraryName: 'xxx-components',
377
+ libraryDirectory: 'es',
378
+ style: true,
379
+ },
380
+ ],
381
+ ],
382
+ },
383
+ }
384
+
385
+ // v3
386
+ import { pluginBabel } from '@rsbuild/plugin-babel';
387
+
388
+ export default {
389
+ // ...
390
+ builderPlugins: [
391
+ pluginBabel({
392
+ parallel: true,
393
+ babelLoaderOptions: {
394
+ plugins: [
395
+ [
396
+ 'babel-plugin-import',
397
+ {
398
+ libraryName: 'my-components',
399
+ libraryDirectory: 'es',
400
+ style: true,
401
+ },
402
+ ],
403
+ ],
404
+ },
405
+ })
406
+ ];
407
+ }
408
+ ```
409
+
410
+ ### tools.tailwindcss
411
+
412
+ **Change**: This configuration has been deprecated, please refer to [Tailwind Plugin Changes](/guides/upgrade/tailwindcss) and use Rsbuild's approach to integrate Tailwind CSS.
413
+
414
+ ### tools.tsLoader
415
+
416
+ **Change**: Since Rspack does not support `tsLoader`, this configuration has been deprecated. The [Rspack experiments.typeReexportsPresence configuration](https://rspack.rs/config/experiments#experimentstypereexportspresence) can be used to improve recognition of TypeScript type exports, which can assist with ts-loader migration.
417
+
418
+ ```typescript
419
+ // This configuration has been deprecated
420
+ // tools: {
421
+ // tsLoader: { /* configuration */ }
422
+ // },
423
+ ```
424
+
425
+ ### tools.webpackChain
426
+
427
+ **Change**: This configuration has been deprecated, please migrate to `tools.bundlerChain`.
428
+
429
+ ```typescript
430
+ // v2
431
+ tools: {
432
+ webpackChain: (chain, { env }) => {
433
+ if (env === 'development') {
434
+ chain.devtool('cheap-module-eval-source-map');
435
+ }
436
+ };
437
+ }
438
+
439
+ // v3
440
+ tools: {
441
+ bundlerChain: (chain, { env }) => {
442
+ if (env === 'development') {
443
+ chain.devtool('cheap-module-eval-source-map');
444
+ }
445
+ };
446
+ }
447
+ ```
448
+
449
+ ### tools.webpack
450
+
451
+ **Change**: This configuration has been deprecated, please migrate webpack configuration to `tools.rspack`.
452
+
453
+ ```typescript
454
+ // v2
455
+ tools: {
456
+ webpack: (chain, { env }) => {
457
+ {
458
+ /* configuration */
459
+ }
460
+ };
461
+ }
462
+
463
+ // v3
464
+ tools: {
465
+ rspack: (chain, { env }) => {
466
+ {
467
+ /* configuration */
468
+ }
469
+ };
470
+ }
471
+ ```
472
+
473
+ ## source
474
+
475
+ ### source.resolveMainFields
476
+
477
+ **Change**: This configuration has been deprecated, use `resolve.mainFields` instead.
478
+
479
+ **Migration Example**:
480
+
481
+ ```typescript
482
+ // v2
483
+ source: {
484
+ resolveMainFields: ['custom', 'module', 'main'];
485
+ }
486
+
487
+ // v3
488
+ resolve: {
489
+ mainFields: ['custom', 'module', 'main'];
490
+ }
491
+ ```
492
+
493
+ ### source.resolveExtensionPrefix
494
+
495
+ **Change**: This configuration has been deprecated, use `resolve.extensions` instead.
496
+
497
+ **Migration Example**:
498
+
499
+ ```typescript
500
+ // v2
501
+ source: {
502
+ resolveExtensionPrefix: ['.ts', '.tsx', '.js'];
503
+ }
504
+
505
+ // v3
506
+ resolve: {
507
+ extensions: ['.ts', '.tsx', '.js'];
508
+ }
509
+ ```
510
+
511
+ ### source.moduleScopes
512
+
513
+ **Change**: This configuration has been deprecated, remove it directly.
514
+
515
+ ### source.enableCustomEntry
516
+
517
+ **Change**: This configuration has been deprecated, remove it directly.
518
+
519
+ ### source.disableEntryDirs
520
+
521
+ **Change**: This configuration has been deprecated, remove it directly.
522
+
523
+ ### source.alias
524
+
525
+ **Change**: This configuration no longer applies to code in custom Server and BFF. Aliases configured for server-side code need to be migrated to tsconfig.json.
526
+
527
+ **Migration Example**:
528
+
529
+ ```typescript
530
+ // v2
531
+ source: {
532
+ alias: {
533
+ '@api/*': './api/*',
534
+ },
535
+ },
536
+
537
+ // v3 tsconfig.json
538
+ {
539
+ "compilerOptions": {
540
+ "paths": {
541
+ "@api/*": ["./api/*"]
542
+ },
543
+ },
544
+ }
545
+ ```
546
+
547
+ ### server.routes
548
+
549
+ **Change**: The default route has changed from `main` to `index`. If `index` exists in the `server.routes` configuration, migrate as follows.
550
+
551
+ **Migration Example**:
552
+
553
+ ```typescript
554
+ // v2
555
+ server: {
556
+ routes: {
557
+ main: '/new',
558
+ },
559
+ },
560
+
561
+ // v3
562
+ server: {
563
+ routes: {
564
+ index: '/new',
565
+ },
566
+ },
567
+ ```
568
+
569
+ ## output
570
+
571
+ ### output.overrideBrowserslist
572
+
573
+ **Change**: Needs to be handled based on the project's existing configuration.
574
+
575
+ **Migration Steps**:
576
+
577
+ 1. Check if there is a `.browserslistrc` file in the project
578
+ 2. Check if `output.overrideBrowserslist` is configured in `modern.config.[ts|js]`
579
+ 3. Check if browserslist is configured in package.json
580
+
581
+ If none of the above exist, create a `.browserslistrc` file with the following content for browsers supporting ES6:
582
+
583
+ import DefaultBrowserslist from '@site-docs/components/default-browserslist';
584
+
585
+ <DefaultBrowserslist />
586
+
587
+ ### output.enableAssetFallback
588
+
589
+ **Change**: This configuration has been deprecated, comment it out and add a note.
590
+
591
+ ```typescript
592
+ // This configuration has been deprecated, if you encounter issues please contact oncall for resolution
593
+ // output: {
594
+ // enableAssetFallback: true,
595
+ // },
596
+ ```
597
+
598
+ ### output.cssModuleLocalIdentName
599
+
600
+ **Change**: This configuration has been deprecated, use `output.cssModules.localIdentName` instead.
601
+
602
+ **Migration Example**:
603
+
604
+ ```typescript
605
+ // v2
606
+ export default {
607
+ output: {
608
+ cssModuleLocalIdentName: '[path][name]__[local]-[hash:base64:6]',
609
+ },
610
+ };
611
+
612
+ // v3
613
+ export default {
614
+ output: {
615
+ cssModules: {
616
+ localIdentName: '[path][name]__[local]-[hash:base64:6]',
617
+ },
618
+ },
619
+ };
620
+ ```
621
+
622
+ ### output.disableCssExtract
623
+
624
+ **Change**: This configuration has been deprecated, use `output.injectStyles` instead.
625
+
626
+ **Migration Example**:
627
+
628
+ ```typescript
629
+ // v2
630
+ export default {
631
+ output: {
632
+ disableCssExtract: true,
633
+ },
634
+ };
635
+
636
+ // v3
637
+ export default {
638
+ output: {
639
+ injectStyles: true,
640
+ },
641
+ };
642
+ ```
643
+
644
+ ### output.disableFilenameHash
645
+
646
+ **Change**: This configuration has been deprecated, use `output.filenameHash` instead.
647
+
648
+ **Migration Example**:
649
+
650
+ ```typescript
651
+ // v2
652
+ export default {
653
+ output: {
654
+ disableFilenameHash: true,
655
+ },
656
+ };
657
+
658
+ // v3
659
+ export default {
660
+ output: {
661
+ filenameHash: false,
662
+ },
663
+ };
664
+ ```
665
+
666
+ ### output.disableMinimize
667
+
668
+ **Change**: This configuration has been deprecated, use `output.minify` instead.
669
+
670
+ **Migration Example**:
671
+
672
+ ```typescript
673
+ // v2
674
+ export default {
675
+ output: {
676
+ disableMinimize: true,
677
+ },
678
+ };
679
+
680
+ // v3
681
+ export default {
682
+ output: {
683
+ minify: false,
684
+ },
685
+ };
686
+ ```
687
+
688
+ ### output.disableSourceMap
689
+
690
+ **Change**: This configuration has been deprecated, use `output.sourceMap` instead.
691
+
692
+ **Migration Example**:
693
+
694
+ ```typescript
695
+ // v2
696
+ export default {
697
+ output: {
698
+ disableSourceMap: true,
699
+ },
700
+ };
701
+
702
+ // v3
703
+ export default {
704
+ output: {
705
+ sourceMap: false,
706
+ },
707
+ };
708
+ ```
709
+
710
+ ### output.enableInlineScripts
711
+
712
+ **Change**: This configuration has been deprecated, use `output.inlineScripts` instead.
713
+
714
+ **Migration Example**:
715
+
716
+ ```typescript
717
+ // v2
718
+ export default {
719
+ output: {
720
+ enableInlineScripts: true,
721
+ },
722
+ };
723
+
724
+ // v3
725
+ export default {
726
+ output: {
727
+ inlineScripts: true,
728
+ },
729
+ };
730
+ ```
731
+
732
+ ### output.enableInlineStyles
733
+
734
+ **Change**: This configuration has been deprecated, use `output.inlineStyles` instead.
735
+
736
+ **Migration Example**:
737
+
738
+ ```typescript
739
+ // v2
740
+ export default {
741
+ output: {
742
+ enableInlineStyles: true,
743
+ },
744
+ };
745
+
746
+ // v3
747
+ export default {
748
+ output: {
749
+ inlineStyles: true,
750
+ },
751
+ };
752
+ ```
753
+
754
+ ### output.enableLatestDecorators
755
+
756
+ **Change**: This configuration has been deprecated, use `source.decorators` instead.
757
+
758
+ **Migration Example**:
759
+
760
+ ```typescript
761
+ // v2
762
+ export default {
763
+ output: {
764
+ enableLatestDecorators: true,
765
+ },
766
+ };
767
+
768
+ // v3
769
+ export default {
770
+ source: {
771
+ decorators: {
772
+ version: '2022-03',
773
+ },
774
+ },
775
+ };
776
+ ```
777
+
778
+ ### output.disableNodePolyfill
779
+
780
+ **Change**: This configuration has been deprecated, use `pluginNodePolyfill` plugin instead.
781
+
782
+ **Migration Example**:
783
+
784
+ ```typescript
785
+ // v2
786
+ export default {
787
+ output: {
788
+ disableNodePolyfill: false,
789
+ },
790
+ };
791
+
792
+ // v3
793
+ import { pluginNodePolyfill } from '@rsbuild/plugin-node-polyfill';
794
+ export default {
795
+ builderPlugins: [pluginNodePolyfill()],
796
+ };
797
+ ```
798
+
799
+ ## plugins
800
+
801
+ ### app-tools plugin
802
+
803
+ **Change**: This plugin does not require any parameters.
804
+
805
+ **Migration Example**:
806
+
807
+ ```typescript
808
+ // v2
809
+ plugins: [
810
+ appTools({
811
+ bundler: 'rspack'
812
+ })
813
+ ],
814
+
815
+ // v3
816
+ plugins: [
817
+ appTools()
818
+ ],
819
+ ```
820
+
821
+ ## security
822
+
823
+ ### security.sri
824
+
825
+ **Change**: `security.sri.hashLoading` is no longer needed and can be removed directly.
826
+
827
+ ## runtime
828
+
829
+ ### runtime.router
830
+
831
+ **Change**: No longer needed, can be removed directly. This configuration has been moved to the router configuration in modern.runtime.ts.
832
+
833
+ **Migration Example**:
834
+
835
+ ```typescript
836
+ // v2
837
+ // modern.config.ts
838
+ export default {
839
+ runtime: {
840
+ router: {
841
+ // Router configuration
842
+ },
843
+ },
844
+ };
845
+
846
+ // v3
847
+ // modern.runtime.ts
848
+ import { defineRuntimeConfig } from '@modern-js/runtime';
849
+
850
+ export default defineRuntimeConfig({
851
+ router: {
852
+ // Router configuration
853
+ },
854
+ });
855
+ ```
856
+
857
+ ### runtime.state
858
+
859
+ **Change**: This configuration has been deprecated, it is recommended to use a third-party state management library.
860
+
861
+ ### runtime.masterApp
862
+
863
+ **Change**: This configuration has been deprecated, move this configuration to the masterApp configuration in modern.runtime.ts.
864
+
865
+ **Migration Example**:
866
+
867
+ ```typescript
868
+ // v2
869
+ // modern.config.ts
870
+ export default {
871
+ runtime: {
872
+ masterApp: {
873
+ apps: [
874
+ {
875
+ name: 'Table',
876
+ entry: 'http://localhost:8081',
877
+ },
878
+ {
879
+ name: 'Dashboard',
880
+ entry: 'http://localhost:8082',
881
+ },
882
+ ],
883
+ },
884
+ },
885
+ };
886
+
887
+ // v3
888
+ // modern.runtime.ts
889
+ import { defineRuntimeConfig } from '@modern-js/runtime';
890
+
891
+ export default defineRuntimeConfig({
892
+ masterApp: {
893
+ apps: [
894
+ {
895
+ name: 'Table',
896
+ entry: 'http://localhost:8081',
897
+ },
898
+ {
899
+ name: 'Dashboard',
900
+ entry: 'http://localhost:8082',
901
+ },
902
+ ],
903
+ },
904
+ });
905
+ ```
906
+
907
+ ## performance
908
+
909
+ ### performance.bundleAnalyze
910
+
911
+ **Change**: This configuration has been deprecated, it is recommended to use [Rsdoctor](https://v2.rsbuild.rs/guide/debug/rsdoctor) to analyze bundle size.
912
+
913
+ ### performance.transformLodash
914
+
915
+ **Change**: No longer needed, can be removed directly.
916
+
917
+ **Migration Example**:
918
+
919
+ ```typescript
920
+ // v2
921
+ export default {
922
+ performance: {
923
+ transformLodash: true,
924
+ },
925
+ };
926
+
927
+ // v3 - Remove this configuration directly
928
+ export default {
929
+ // Configuration...
930
+ };
931
+ ```
932
+
933
+ ## experiments
934
+
935
+ ### experiments.lazyCompilation
936
+
937
+ **Change**: This configuration has been deprecated, changed to `dev.lazyCompilation`.
938
+
939
+ **Migration Example**:
940
+
941
+ ```typescript
942
+ // v2
943
+ experiments: {
944
+ lazyCompilation: true;
945
+ }
946
+
947
+ // v3
948
+ dev: {
949
+ lazyCompilation: true;
950
+ }
951
+ ```