@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.
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,72 @@
1
+ ---
2
+ title: reactCompiler
3
+ ---
4
+
5
+ # source.reactCompiler
6
+
7
+ - **Type:** `boolean | ReactCompilerOptions`
8
+ - **Default:** `undefined` (disabled)
9
+
10
+ Whether to enable [React Compiler](https://react.dev/learn/react-compiler). React Compiler is a build-time tool that optimizes re-rendering performance of React applications through automatic memoization.
11
+
12
+ Modern.js implements this capability based on the Rust-based React Compiler built into Rspack's `builtin:swc-loader` (equivalent to setting SWC's `jsc.transform.reactCompiler`), reusing Rspack's built-in SWC transform chain without introducing Babel.
13
+
14
+ :::tip
15
+ This option is disabled by default. It must be enabled explicitly for any React version, including React 19.
16
+ :::
17
+
18
+ ## Example
19
+
20
+ ### Enable React Compiler (React 19)
21
+
22
+ ```ts title="modern.config.ts"
23
+ import { defineConfig } from '@modern-js/app-tools';
24
+
25
+ export default defineConfig({
26
+ source: {
27
+ reactCompiler: true,
28
+ },
29
+ });
30
+ ```
31
+
32
+ ### Using with React 18
33
+
34
+ The compiled output targets React 19 by default. To use it in React 18 projects, you need to:
35
+
36
+ 1. Install [react-compiler-runtime](https://www.npmjs.com/package/react-compiler-runtime) as a **runtime dependency** (the compiled output references it at runtime):
37
+
38
+ ```bash
39
+ npm add react-compiler-runtime
40
+ ```
41
+
42
+ 2. Specify the React version via `target`:
43
+
44
+ ```ts title="modern.config.ts"
45
+ import { defineConfig } from '@modern-js/app-tools';
46
+
47
+ export default defineConfig({
48
+ source: {
49
+ reactCompiler: {
50
+ target: '18',
51
+ },
52
+ },
53
+ });
54
+ ```
55
+
56
+ ### Customize compilation behavior
57
+
58
+ When passing an object, the options are the same as Rspack's `jsc.transform.reactCompiler`. For example, use `compilationMode: 'annotation'` to only compile functions annotated with the `"use memo"` directive:
59
+
60
+ ```ts title="modern.config.ts"
61
+ import { defineConfig } from '@modern-js/app-tools';
62
+
63
+ export default defineConfig({
64
+ source: {
65
+ reactCompiler: {
66
+ compilationMode: 'annotation',
67
+ },
68
+ },
69
+ });
70
+ ```
71
+
72
+ For the complete list of options, see [Rsbuild - reactCompiler](https://rsbuild.rs/plugins/list/plugin-react#reactcompiler) and the [React Compiler configuration docs](https://react.dev/reference/react-compiler/configuration).
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: transformImport
3
+ ---
4
+
5
+ # source.transformImport
6
+
7
+ Transform the import path, which can be used to modularly import the subpath of third-party packages. The functionality is similar to [babel-plugin-import](https://www.npmjs.com/package/babel-plugin-import)。
8
+
9
+ - **Type:**
10
+
11
+ ```ts
12
+ type TransformImport =
13
+ | false
14
+ | Array<{
15
+ libraryName: string;
16
+ libraryDirectory?: string;
17
+ style?: string | boolean;
18
+ styleLibraryDirectory?: string;
19
+ camelToDashComponentName?: boolean;
20
+ transformToDefaultImport?: boolean;
21
+ customName?: string;
22
+ customStyleName?: string;
23
+ }>
24
+ | Function;
25
+ ```
26
+
27
+ - **Default:** `undefined`
28
+
29
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
30
+
31
+ <RsbuildConfig configName="source.transformImport" />
@@ -0,0 +1,17 @@
1
+ # splitChunks
2
+
3
+ - **Type:**
4
+
5
+ ```ts
6
+ type SplitChunksConfig =
7
+ | (Rspack.OptimizationSplitChunksOptions & {
8
+ preset?: SplitChunksPreset;
9
+ })
10
+ | false;
11
+ ```
12
+
13
+ `splitChunks` is used to configure Rsbuild's chunk splitting strategy.
14
+
15
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
16
+
17
+ <RsbuildConfig configName="splitChunks" />
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: autoprefixer
3
+ ---
4
+
5
+ # tools.autoprefixer
6
+
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
9
+
10
+ ```js
11
+ {
12
+ flexbox: 'no-2009',
13
+ // Depends on the browserslist config in the project
14
+ // and the `output.overrideBrowserslist` (higher priority) config
15
+ overrideBrowserslist: browserslist,
16
+ }
17
+ ```
18
+
19
+ You can modify the config of [autoprefixer](https://github.com/postcss/autoprefixer) by `tools.autoprefixer`.
20
+
21
+ ### Object Type
22
+
23
+ When `tools.autoprefixer` is configured as `Object` type, it is merged with the default config through Object.assign. For example:
24
+
25
+ ```js
26
+ export default {
27
+ tools: {
28
+ autoprefixer: {
29
+ flexbox: 'no-2009',
30
+ },
31
+ },
32
+ };
33
+ ```
34
+
35
+ ### Function Type
36
+
37
+ When `tools.autoprefixer` is a Function, the default config is passed as the first parameter and can be directly modified or returned as the final result. For example:
38
+
39
+ ```js
40
+ export default {
41
+ tools: {
42
+ autoprefixer(config) {
43
+ // modify flexbox config
44
+ config.flexbox = 'no-2009';
45
+ },
46
+ },
47
+ };
48
+ ```
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: bundlerChain
3
+ ---
4
+
5
+ # tools.bundlerChain
6
+
7
+ - **Type:**
8
+
9
+ ```ts
10
+ type BundlerChainFn = (
11
+ chain: RspackChain,
12
+ utils: ModifyBundlerChainUtils,
13
+ ) => Promise<void> | void;
14
+ ```
15
+
16
+ - **Default:** `undefined`
17
+
18
+ You can modify the Rspack configuration by configuring `tools.bundlerChain` which is type of `Function`. The function receives two parameters, the first is the original bundler chain object, and the second is an object containing some utils.
19
+
20
+ :::tip What is BundlerChain
21
+
22
+ Bundler chain is a chainable configuration tool implemented based on the Rspack configuration API, which you can use to modify Rspack configuration.
23
+
24
+ Configurations modified via bundler chain will work on Rspack builds.
25
+
26
+ :::
27
+
28
+ > `tools.bundlerChain` is executed earlier than tools.rspack and thus will be overridden by changes in tools.rspack.
29
+
30
+ For more information, please refer to [Rsbuild#tools.bundlerChain](https://v2.rsbuild.rs/config/tools/bundler-chain).
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: cssExtract
3
+ ---
4
+
5
+ # tools.cssExtract
6
+
7
+ - **Type:**
8
+
9
+ ```ts
10
+ type CSSExtractOptions = {
11
+ pluginOptions?: Rspack.CssExtractRspackPluginOptions;
12
+ loaderOptions?: Rspack.CssExtractRspackLoaderOptions;
13
+ };
14
+ ```
15
+
16
+ - **Default:**
17
+
18
+ ```js
19
+ const defaultOptions = {
20
+ // The loader options
21
+ loaderOptions: {},
22
+ // The plugin options
23
+ pluginOptions: {
24
+ // The default value of cssPath is `static/css`
25
+ // while the default value of cssFilename is `[name].[contenthash:8].css`
26
+ filename: `${cssPath}/${cssFilename}`,
27
+ chunkFilename: `${cssPath}/async/${cssFilename}`,
28
+ ignoreOrder: true,
29
+ },
30
+ };
31
+ ```
32
+
33
+ The config of [CssExtractRspackPlugin](https://rspack.rs/plugins/rspack/css-extract-rspack-plugin) can be modified through `tools.cssExtract`.
34
+
35
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
36
+
37
+ <RsbuildConfig configName="tools.cssExtract" />
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: cssLoader
3
+ ---
4
+
5
+ # tools.cssLoader
6
+
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
9
+
10
+ ```js
11
+ const defaultOptions = {
12
+ modules: rsbuildConfig.output.cssModules,
13
+ sourceMap: rsbuildConfig.output.sourceMap.css,
14
+ };
15
+ ```
16
+
17
+ The config of [css-loader](https://github.com/webpack-contrib/css-loader) can be modified through `tools.cssLoader`.
18
+
19
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
20
+
21
+ <RsbuildConfig configName="tools.cssLoader" />
@@ -0,0 +1,117 @@
1
+ ---
2
+ title: devServer
3
+ ---
4
+
5
+ # tools.devServer
6
+
7
+ - **Type:** `Object`
8
+ - **Default:** `{}`
9
+
10
+ The config of DevServer can be modified through `tools.devServer`.
11
+
12
+ ### Options
13
+
14
+ #### compress
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use [dev.server.compress](https://modernjs.dev/en/configure/app/dev/server) instead.
18
+ :::
19
+
20
+ - **Type:** `boolean`
21
+ - **Default:** `true`
22
+
23
+ Whether to enable gzip compression for served static assets.
24
+
25
+ If you want to disable the gzip compression, you can set `compress` to `false`:
26
+
27
+ ```ts
28
+ export default {
29
+ tools: {
30
+ devServer: {
31
+ compress: false,
32
+ },
33
+ },
34
+ };
35
+ ```
36
+
37
+ #### headers
38
+
39
+ :::warning
40
+ **Deprecated**: This configuration is deprecated, please use [dev.server.headers](https://modernjs.dev/en/configure/app/dev/server) instead.
41
+ :::
42
+
43
+ - **Type:** `Record<string, string>`
44
+ - **Default:** `undefined`
45
+
46
+ Adds headers to all responses.
47
+
48
+ ```js
49
+ export default {
50
+ tools: {
51
+ devServer: {
52
+ headers: {
53
+ 'X-Custom-Foo': 'bar',
54
+ },
55
+ },
56
+ },
57
+ };
58
+ ```
59
+
60
+ #### historyApiFallback
61
+
62
+ :::warning
63
+ **Deprecated**: This configuration is deprecated, please use [dev.server.historyApiFallback](https://modernjs.dev/en/configure/app/dev/server) instead.
64
+ :::
65
+
66
+ - **Type:** `boolean | ConnectHistoryApiFallbackOptions`
67
+ - **Default:** `false`
68
+
69
+ The index.html page will likely have to be served in place of any 404 responses. Enable `devServer.historyApiFallback` by setting it to `true`:
70
+
71
+ ```js
72
+ export default {
73
+ tools: {
74
+ devServer: {
75
+ historyApiFallback: true,
76
+ },
77
+ },
78
+ };
79
+ ```
80
+
81
+ For more options and information, see the [connect-history-api-fallback](https://github.com/bripkens/connect-history-api-fallback) documentation.
82
+
83
+ #### proxy
84
+
85
+ :::warning
86
+ **Deprecated**: This configuration is deprecated, use [dev.server.proxy](https://modernjs.dev/en/configure/app/dev/server) instead.
87
+ :::
88
+
89
+ - **Type:** `ProxyOptions[] | Record<string, string | ProxyOptions>`
90
+ - **Default:** `undefined`
91
+
92
+ Configure proxy rules for the dev server, and forward requests to the specified service.
93
+
94
+ ```js
95
+ export default {
96
+ tools: {
97
+ devServer: {
98
+ proxy: {
99
+ // http://localhost:8080/api -> https://example.com/api
100
+ // http://localhost:8080/api/foo -> https://example.com/api/foo
101
+ '/api': 'https://example.com',
102
+ },
103
+ },
104
+ },
105
+ };
106
+ ```
107
+
108
+ #### watch
109
+
110
+ :::warning
111
+ **Deprecated**: This configuration is deprecated, please use [dev.server.watch](https://modernjs.dev/en/configure/app/dev/server) instead.
112
+ :::
113
+
114
+ - **Type:** `boolean`
115
+ - **Default:** `true`
116
+
117
+ Whether to watch files change in directories such as `mock/`, `server/`, `api/`.
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: htmlPlugin
3
+ ---
4
+
5
+ # tools.htmlPlugin
6
+
7
+ - **Type:** `boolean | Object | Function`
8
+ - **Default:**
9
+
10
+ ```js
11
+ const defaultOptions = {
12
+ meta, // 对应 `html.meta` 配置
13
+ title, // 对应 `html.title` 配置
14
+ inject, // 对应 `html.inject` 配置
15
+ favicon, // 对应 `html.favicon` 配置
16
+ template, // 对应 `html.template` 配置
17
+ filename, // 基于 `output.distPath` 和 `entryName` 生成
18
+ templateParameters, // 对应 `html.templateParameters` 配置
19
+ chunks: [entryName],
20
+ minify: {
21
+ // generated based on `output.minify`
22
+ removeComments: false,
23
+ useShortDoctype: true,
24
+ keepClosingSlash: true,
25
+ collapseWhitespace: true,
26
+ removeRedundantAttributes: true,
27
+ removeScriptTypeAttributes: true,
28
+ removeStyleLinkTypeAttributes: true,
29
+ removeEmptyAttributes: true,
30
+ minifyJS, // generated based on `output.charset`, `output.legalComments` and `performance.removeConsole`
31
+ minifyCSS: true,
32
+ minifyURLs: true,
33
+ },
34
+ };
35
+ ```
36
+
37
+ :::warning
38
+ SSR Application does not enable the `minify.removeComments` configuration, otherwise the SSR rendering will fail.
39
+ :::
40
+
41
+ The configs of [html-rspack-plugin](https://github.com/rstackjs/html-rspack-plugin) can be modified through `tools.htmlPlugin`.
42
+
43
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
44
+
45
+ <RsbuildConfig configName="tools.htmlPlugin" />
@@ -0,0 +1,85 @@
1
+ ---
2
+ title: less
3
+ ---
4
+
5
+ # tools.less
6
+
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
9
+
10
+ ```js
11
+ const defaultOptions = {
12
+ lessOptions: {
13
+ javascriptEnabled: true,
14
+ },
15
+ // CSS Source Map enabled by default in development environment
16
+ sourceMap: isDev,
17
+ };
18
+ ```
19
+
20
+ You can modify the config of [less-loader](https://github.com/webpack-contrib/less-loader) via `tools.less`.
21
+
22
+ ### Object Type
23
+
24
+ When `tools.less` is configured as `Object` type, it is merged with the default config through Object.assign in a shallow way. It should be noted that `lessOptions` is merged through deepMerge in a deep way. For example:
25
+
26
+ ```js
27
+ export default {
28
+ tools: {
29
+ less: {
30
+ lessOptions: {
31
+ javascriptEnabled: false,
32
+ },
33
+ },
34
+ },
35
+ };
36
+ ```
37
+
38
+ ### Function Type
39
+
40
+ When `tools.less` is a Function, the default config is passed as the first parameter, which can be directly modified or returned as the final result. The second parameter provides some utility functions that can be called directly. For example:
41
+
42
+ ```js
43
+ export default {
44
+ tools: {
45
+ less(config) {
46
+ // Modify the config of lessOptions
47
+ config.lessOptions = {
48
+ javascriptEnabled: false,
49
+ };
50
+ },
51
+ },
52
+ };
53
+ ```
54
+
55
+ ### Modifying Less Version
56
+
57
+ In some scenarios, if you need to use a specific version of Less instead of the built-in Less v4 in Modern.js, you can install the desired Less version in your project and set it up using the `implementation` option of the `less-loader`.
58
+
59
+ ```js
60
+ export default {
61
+ tools: {
62
+ less: {
63
+ implementation: require('less'),
64
+ },
65
+ },
66
+ };
67
+ ```
68
+
69
+ ### Util Function
70
+
71
+ #### addExcludes
72
+
73
+ - **Type:** `(excludes: RegExp | RegExp[]) => void`
74
+
75
+ Used to specify which files `less-loader` does not compile, You can pass in one or more regular expressions to match the path of less files, for example:
76
+
77
+ ```js
78
+ export default {
79
+ tools: {
80
+ less(config, { addExcludes }) {
81
+ addExcludes(/node_modules/);
82
+ },
83
+ },
84
+ };
85
+ ```
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: lightningcssLoader
3
+ ---
4
+
5
+ # tools.lightningcssLoader
6
+
7
+ - **Type:** `Rspack.LightningcssLoaderOptions | Function | boolean`
8
+ - **Default:** `Rspack.LightningcssLoaderOptions | Function | boolean`
9
+
10
+ You can configure [builtin:lightningcss-loader](https://rspack.rs/guide/features/builtin-lightningcss-loader) through `tools.lightningcssLoader`.
11
+
12
+ ## Enable loader
13
+
14
+ Set `tools.lightningcssLoader` to `true` to enable Rsbuild's built-in `lightningcss-loader`:
15
+
16
+ ```js
17
+ export default {
18
+ tools: {
19
+ lightningcssLoader: true,
20
+ },
21
+ };
22
+ ```
23
+
24
+ At this time, the default configuration is as follows:
25
+
26
+ ```js
27
+ const defaultOptions = {
28
+ // use current browserslist config
29
+ targets: browserslist,
30
+ // minify is enabled when output.injectStyles is true and in production mode
31
+ minify: config.mode === 'production' && config.output.injectStyles,
32
+ };
33
+ ```
34
+
35
+ It should be noted that when `lightningcss-loader` is turned on, `postcss-loader` will be turned off by default.
36
+
37
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
38
+
39
+ <RsbuildConfig configName="tools.lightningcssLoader" />
@@ -0,0 +1,57 @@
1
+ ---
2
+ title: minifyCss
3
+ ---
4
+
5
+ # tools.minifyCss
6
+
7
+ - **Type:** `Object | Function | undefined`
8
+ - **Default:**
9
+
10
+ ```js
11
+ const defaultOptions = {
12
+ minimizerOptions: {
13
+ preset: [
14
+ 'default',
15
+ {
16
+ mergeLonghand: false,
17
+ },
18
+ ],
19
+ },
20
+ };
21
+ ```
22
+
23
+ When building for production, Modern.js will minimize the CSS code through [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin). The config of [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin) can be modified via `tools.minifyCss`.
24
+
25
+ ### Object Type
26
+
27
+ When `tools.minifyCss` is `Object` type, it will be merged with the default config via `Object.assign`.
28
+
29
+ For example, modify the `preset` config of [cssnano](https://cssnano.co/):
30
+
31
+ ```js
32
+ export default {
33
+ tools: {
34
+ minifyCss: {
35
+ minimizerOptions: {
36
+ preset: require.resolve('cssnano-preset-simple'),
37
+ },
38
+ },
39
+ },
40
+ };
41
+ ```
42
+
43
+ ### Function Type
44
+
45
+ When `tools.minifyCss` is `Function` type, the default config is passed in as the first parameter, the config object can be modified directly, or a value can be returned as the final result.
46
+
47
+ ```js
48
+ export default {
49
+ tools: {
50
+ minifyCss: options => {
51
+ options.minimizerOptions = {
52
+ preset: require.resolve('cssnano-preset-simple'),
53
+ },
54
+ }
55
+ }
56
+ };
57
+ ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: postcss
3
+ ---
4
+
5
+ # tools.postcss
6
+
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
9
+
10
+ ```js
11
+ const defaultOptions = {
12
+ postcssOptions: {
13
+ plugins: [
14
+ // The following plugins are enabled by default
15
+ require('postcss-nesting'),
16
+ require('postcss-media-minmax'),
17
+ require('postcss-flexbugs-fixes'),
18
+ require('autoprefixer')({
19
+ flexbox: 'no-2009',
20
+ }),
21
+ // The following plugins are only enabled when compatible with legacy browsers
22
+ require('postcss-custom-properties'),
23
+ require('postcss-initial'),
24
+ require('postcss-page-break'),
25
+ require('postcss-font-variant'),
26
+ ],
27
+ sourceMap: isDev,
28
+ },
29
+ };
30
+ ```
31
+
32
+ Modern.js integrates PostCSS by default, you can configure [postcss-loader](https://github.com/webpack-contrib/postcss-loader) through `tools.postcss`.
33
+
34
+ It should be noted that when you enable the `tools.lightningcss` configuration, PostCSS will be disabled by default, including `postcss-loader` and its default plugins.
35
+
36
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
37
+
38
+ <RsbuildConfig configName="tools.postcss" />
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: rspack
3
+ ---
4
+
5
+ # tools.rspack
6
+
7
+ - **Type:** `Rspack.Configuration | Function | undefined`
8
+ - **Default:** `undefined`
9
+
10
+ `tools.rspack` is used to configure [Rspack](https://rspack.rs/).
11
+
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
13
+
14
+ <RsbuildConfig configName="tools.rspack" />