@modern-js/main-doc 2.59.0 → 2.60.1-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (414) hide show
  1. package/docs/en/_meta.json +10 -5
  2. package/docs/en/apis/app/hooks/api/lambda.mdx +4 -48
  3. package/docs/en/apis/app/hooks/api/middleware.mdx +11 -0
  4. package/docs/en/community/blog/v2-release-note.mdx +1 -1
  5. package/docs/en/community/contributing-guide.mdx +0 -1
  6. package/docs/en/components/builder.mdx +3 -0
  7. package/docs/en/components/bundler.mdx +3 -0
  8. package/docs/en/components/enable-bff.mdx +19 -2
  9. package/docs/en/components/enableSwc.mdx +17 -0
  10. package/docs/en/components/esbuild.mdx +3 -0
  11. package/docs/en/components/extend-bff-function.mdx +5 -0
  12. package/docs/en/components/micro-frontend.mdx +6 -0
  13. package/docs/en/components/module-federation.mdx +7 -0
  14. package/docs/en/components/nodeVersion.mdx +26 -0
  15. package/docs/en/components/other-plugins.mdx +0 -0
  16. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  17. package/docs/en/components/output-polyfill-extend.mdx +0 -0
  18. package/docs/en/components/prerequisites.mdx +1 -1
  19. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  20. package/docs/en/components/rsbuild.mdx +3 -0
  21. package/docs/en/components/rspack.mdx +3 -0
  22. package/docs/en/components/rspackPrecautions.mdx +6 -0
  23. package/docs/en/components/rspackTip.mdx +7 -0
  24. package/docs/en/components/swc.mdx +3 -0
  25. package/docs/en/configure/app/auto-load-plugin.mdx +4 -0
  26. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  27. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  28. package/docs/en/configure/app/dev/client.mdx +20 -16
  29. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  30. package/docs/en/configure/app/dev/host.mdx +15 -2
  31. package/docs/en/configure/app/dev/https.mdx +71 -2
  32. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  33. package/docs/en/configure/app/dev/port.mdx +18 -2
  34. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  35. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  36. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  37. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  38. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  39. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  40. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  41. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  42. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  43. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  44. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  45. package/docs/en/configure/app/html/favicon.mdx +14 -2
  46. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  47. package/docs/en/configure/app/html/inject.mdx +8 -2
  48. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  49. package/docs/en/configure/app/html/meta.mdx +22 -2
  50. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  51. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  52. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  53. package/docs/en/configure/app/html/tags.mdx +13 -2
  54. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  55. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  56. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  57. package/docs/en/configure/app/html/template.mdx +8 -2
  58. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  59. package/docs/en/configure/app/html/title.mdx +16 -2
  60. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  61. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  62. package/docs/en/configure/app/output/charset.mdx +8 -2
  63. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  64. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  65. package/docs/en/configure/app/output/copy.mdx +5 -2
  66. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  67. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  68. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  69. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  70. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  71. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  72. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  73. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  74. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  75. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  76. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  77. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  78. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  79. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  80. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  81. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  82. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  83. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  84. package/docs/en/configure/app/output/externals.mdx +18 -2
  85. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  86. package/docs/en/configure/app/output/filename.mdx +47 -2
  87. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  88. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  89. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  90. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  91. package/docs/en/configure/app/output/minify.mdx +27 -0
  92. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  93. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  94. package/docs/en/configure/app/output/source-map.mdx +30 -0
  95. package/docs/en/configure/app/output/ssg.mdx +20 -17
  96. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  97. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  98. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  99. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  100. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  101. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  102. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  103. package/docs/en/configure/app/performance/preload.mdx +21 -2
  104. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  105. package/docs/en/configure/app/performance/profile.mdx +8 -2
  106. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  107. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  108. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  109. package/docs/en/configure/app/plugins.mdx +3 -3
  110. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  111. package/docs/en/configure/app/security/nonce.mdx +13 -2
  112. package/docs/en/configure/app/security/sri.mdx +19 -2
  113. package/docs/en/configure/app/server/port.mdx +5 -0
  114. package/docs/en/configure/app/server/ssr.mdx +10 -9
  115. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  116. package/docs/en/configure/app/source/alias.mdx +17 -2
  117. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  118. package/docs/en/configure/app/source/decorators.mdx +8 -21
  119. package/docs/en/configure/app/source/define.mdx +14 -2
  120. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  121. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  122. package/docs/en/configure/app/source/exclude.mdx +8 -2
  123. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  124. package/docs/en/configure/app/source/include.mdx +19 -2
  125. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  126. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  127. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  128. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  129. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  130. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  131. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  132. package/docs/en/configure/app/tools/babel.mdx +218 -2
  133. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  134. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  135. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  136. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  137. package/docs/en/configure/app/tools/esbuild.mdx +2 -2
  138. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  139. package/docs/en/configure/app/tools/less.mdx +78 -2
  140. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  141. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  142. package/docs/en/configure/app/tools/pug.mdx +47 -2
  143. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  144. package/docs/en/configure/app/tools/sass.mdx +75 -2
  145. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  146. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  147. package/docs/en/configure/app/tools/swc.mdx +34 -3
  148. package/docs/en/configure/app/tools/terser.mdx +49 -2
  149. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  150. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  151. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  152. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  153. package/docs/en/guides/_meta.json +0 -5
  154. package/docs/en/guides/advanced-features/_meta.json +7 -5
  155. package/docs/en/guides/advanced-features/bff/_meta.json +1 -1
  156. package/docs/en/guides/advanced-features/bff/extend-server.mdx +154 -0
  157. package/docs/en/guides/advanced-features/bff/frameworks.mdx +52 -123
  158. package/docs/en/guides/advanced-features/bff/function.mdx +108 -80
  159. package/docs/en/guides/advanced-features/bff/sdk.mdx +40 -51
  160. package/docs/en/guides/advanced-features/build-performance.mdx +6 -21
  161. package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -0
  162. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  163. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  164. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  165. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  166. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +1 -1
  167. package/docs/en/guides/basic-features/routes.mdx +2 -3
  168. package/docs/en/guides/basic-features/static-assets.mdx +1 -1
  169. package/docs/en/guides/concept/builder.mdx +1 -1
  170. package/docs/en/guides/deprecated.md +2 -0
  171. package/docs/en/guides/get-started/glossary.mdx +7 -7
  172. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  173. package/docs/en/guides/topic-detail/_meta.json +0 -6
  174. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  175. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  176. package/docs/en/plugin/_meta.json +19 -0
  177. package/docs/en/plugin/cli-plugins/_meta.json +1 -0
  178. package/docs/en/plugin/cli-plugins/plugin-bff.mdx +5 -0
  179. package/docs/en/plugin/cli-plugins/plugin-ssg.mdx +5 -0
  180. package/docs/en/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
  181. package/docs/en/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
  182. package/docs/en/plugin/cli-plugins.mdx +6 -0
  183. package/docs/en/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +34 -9
  184. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
  185. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
  186. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
  187. package/docs/en/plugin/rsbuild-plugins/_meta.json +1 -0
  188. package/docs/en/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  189. package/docs/en/plugin/rsbuild-plugins.mdx +3 -0
  190. package/docs/zh/_meta.json +10 -5
  191. package/docs/zh/apis/app/hooks/api/lambda.mdx +5 -48
  192. package/docs/zh/apis/app/hooks/api/middleware.mdx +11 -0
  193. package/docs/zh/community/blog/v2-release-note.mdx +1 -1
  194. package/docs/zh/community/contributing-guide.mdx +0 -1
  195. package/docs/zh/components/builder.mdx +3 -0
  196. package/docs/zh/components/bundler.mdx +4 -0
  197. package/docs/zh/components/enable-bff.mdx +19 -2
  198. package/docs/zh/components/enableSwc.mdx +17 -0
  199. package/docs/zh/components/esbuild.mdx +3 -0
  200. package/docs/zh/components/extend-bff-function.mdx +5 -0
  201. package/docs/zh/components/micro-frontend.mdx +6 -0
  202. package/docs/zh/components/module-federation.mdx +7 -0
  203. package/docs/zh/components/nodeVersion.mdx +28 -0
  204. package/docs/zh/components/other-plugins.mdx +0 -0
  205. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  206. package/docs/zh/components/output-polyfill-extend.mdx +0 -0
  207. package/docs/zh/components/prerequisites.mdx +1 -1
  208. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  209. package/docs/zh/components/rsbuild.mdx +3 -0
  210. package/docs/zh/components/rspack.mdx +3 -0
  211. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  212. package/docs/zh/components/rspackTip.mdx +7 -0
  213. package/docs/zh/components/swc.mdx +3 -0
  214. package/docs/zh/configure/app/auto-load-plugin.mdx +4 -0
  215. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  216. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  217. package/docs/zh/configure/app/dev/client.mdx +20 -16
  218. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  219. package/docs/zh/configure/app/dev/host.mdx +15 -2
  220. package/docs/zh/configure/app/dev/https.mdx +72 -2
  221. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  222. package/docs/zh/configure/app/dev/port.mdx +18 -2
  223. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  224. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  225. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  226. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  227. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  228. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  229. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  230. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  231. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  232. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  233. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  234. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  235. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  236. package/docs/zh/configure/app/html/inject.mdx +8 -2
  237. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  238. package/docs/zh/configure/app/html/meta.mdx +22 -2
  239. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  240. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  241. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  242. package/docs/zh/configure/app/html/tags.mdx +13 -2
  243. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  244. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  245. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  246. package/docs/zh/configure/app/html/template.mdx +8 -2
  247. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  248. package/docs/zh/configure/app/html/title.mdx +16 -2
  249. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  250. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  251. package/docs/zh/configure/app/output/charset.mdx +8 -2
  252. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  253. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  254. package/docs/zh/configure/app/output/copy.mdx +6 -2
  255. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  256. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  257. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  258. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  259. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  260. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  261. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  262. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  263. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  264. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  265. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  266. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  267. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  268. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  269. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  270. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  271. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  272. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  273. package/docs/zh/configure/app/output/externals.mdx +18 -2
  274. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  275. package/docs/zh/configure/app/output/filename.mdx +47 -2
  276. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  277. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  278. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  279. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  280. package/docs/zh/configure/app/output/minify.mdx +27 -0
  281. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  282. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  283. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  284. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  285. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  286. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  287. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  288. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  289. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  290. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  291. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  292. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  293. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  294. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  295. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  296. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  297. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  298. package/docs/zh/configure/app/plugins.mdx +3 -3
  299. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  300. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  301. package/docs/zh/configure/app/security/sri.mdx +19 -2
  302. package/docs/zh/configure/app/server/port.mdx +5 -0
  303. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  304. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  305. package/docs/zh/configure/app/source/alias.mdx +17 -2
  306. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  307. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  308. package/docs/zh/configure/app/source/define.mdx +14 -2
  309. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  310. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  311. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  312. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  313. package/docs/zh/configure/app/source/include.mdx +19 -2
  314. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  315. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  316. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  317. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  318. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  319. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  320. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  321. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  322. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  323. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  324. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  325. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  326. package/docs/zh/configure/app/tools/esbuild.mdx +2 -2
  327. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  328. package/docs/zh/configure/app/tools/less.mdx +79 -2
  329. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  330. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  331. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  332. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  333. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  334. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  335. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  336. package/docs/zh/configure/app/tools/swc.mdx +34 -3
  337. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  338. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  339. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  340. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  341. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  342. package/docs/zh/guides/_meta.json +0 -5
  343. package/docs/zh/guides/advanced-features/_meta.json +7 -5
  344. package/docs/zh/guides/advanced-features/bff/_meta.json +1 -1
  345. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +156 -0
  346. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +51 -117
  347. package/docs/zh/guides/advanced-features/bff/function.mdx +69 -59
  348. package/docs/zh/guides/advanced-features/bff/sdk.mdx +27 -36
  349. package/docs/zh/guides/advanced-features/build-performance.mdx +6 -21
  350. package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -0
  351. package/docs/zh/guides/advanced-features/rspack-start.mdx +4 -4
  352. package/docs/zh/guides/basic-features/alias.mdx +5 -11
  353. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  354. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  355. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  356. package/docs/zh/guides/basic-features/routes.mdx +1 -2
  357. package/docs/zh/guides/basic-features/static-assets.mdx +1 -1
  358. package/docs/zh/guides/concept/builder.mdx +1 -1
  359. package/docs/zh/guides/deprecated.md +4 -0
  360. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  361. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  362. package/docs/zh/guides/topic-detail/_meta.json +0 -6
  363. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  364. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  365. package/docs/zh/plugin/_meta.json +19 -0
  366. package/docs/zh/plugin/cli-plugins/_meta.json +1 -0
  367. package/docs/zh/plugin/cli-plugins/plugin-bff.mdx +5 -0
  368. package/docs/zh/plugin/cli-plugins/plugin-ssg.mdx +5 -0
  369. package/docs/zh/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
  370. package/docs/zh/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
  371. package/docs/zh/plugin/cli-plugins.mdx +6 -0
  372. package/docs/zh/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +36 -11
  373. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
  374. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
  375. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
  376. package/docs/zh/plugin/rsbuild-plugins/_meta.json +1 -0
  377. package/docs/zh/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  378. package/docs/zh/plugin/rsbuild-plugins.mdx +4 -0
  379. package/i18n.json +27 -3
  380. package/package.json +8 -13
  381. package/rspress.config.ts +1 -58
  382. package/src/components/Footer/index.tsx +1 -1
  383. package/src/components/RsbuildLink/index.tsx +19 -0
  384. package/src/pages/index.tsx +0 -1
  385. package/docs/en/apis/app/hooks/api/api.mdx +0 -80
  386. package/docs/en/apis/app/hooks/api/app.mdx +0 -12
  387. package/docs/en/guides/advanced-features/bff/type.mdx +0 -46
  388. package/docs/en/guides/advanced-features/eslint.mdx +0 -148
  389. package/docs/zh/apis/app/hooks/api/api.mdx +0 -81
  390. package/docs/zh/apis/app/hooks/api/app.mdx +0 -12
  391. package/docs/zh/guides/advanced-features/bff/type.mdx +0 -46
  392. package/docs/zh/guides/advanced-features/eslint.mdx +0 -152
  393. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  394. /package/docs/en/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
  395. /package/docs/en/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
  396. /package/docs/en/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
  397. /package/docs/en/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
  398. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
  399. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
  400. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
  401. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
  402. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
  403. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
  404. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  405. /package/docs/zh/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
  406. /package/docs/zh/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
  407. /package/docs/zh/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
  408. /package/docs/zh/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
  409. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
  410. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
  411. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
  412. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
  413. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
  414. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
@@ -1,9 +1,23 @@
1
1
  ---
2
2
  title: legalComments
3
+ configName: output.legalComments
3
4
  ---
4
5
 
5
6
  # output.legalComments
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/output/legalComments.md';
8
+ - **Type:** `'linked' | 'inline' | 'none'`
9
+ - **Default:** `'linked'`
8
10
 
9
- <Main />
11
+ Configure how to handle the legal comment.
12
+
13
+ A "legal comment" is considered to be any statement-level comment in JS or rule-level comment in CSS that contains `@license` or `@preserve` or that starts with `//!` or `/*!`. These comments are preserved in output files by default since that follows the intent of the original authors of the code.
14
+
15
+ This behavior can be configured by using one of the following options:
16
+
17
+ - `linked`: Extract all legal comments to a .LEGAL.txt file and link to them with a comment.
18
+ - `inline`: Preserve all legal comments in original position.
19
+ - `none`: Remove all legal comments.
20
+
21
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
22
+
23
+ <RsbuildConig />
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: minify
3
+ configName: output.minify
4
+ ---
5
+
6
+ # output.minify
7
+
8
+ - **Type:**
9
+
10
+ ```ts
11
+ type Minify =
12
+ | boolean
13
+ | {
14
+ js?: boolean;
15
+ jsOptions?: SwcJsMinimizerRspackPluginOptions;
16
+ css?: boolean;
17
+ cssOptions?: LightningCssMinimizerRspackPluginOptions;
18
+ };
19
+ ```
20
+
21
+ - **Default:** `true`
22
+
23
+ Configure whether to enable code minification in production mode, or to configure minimizer options.
24
+
25
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
26
+
27
+ <RsbuildConig />
@@ -1,9 +1,25 @@
1
1
  ---
2
2
  title: overrideBrowserslist
3
+ configName: output.overrideBrowserslist
3
4
  ---
4
5
 
5
6
  # output.overrideBrowserslist
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/output/overrideBrowserslist.md';
8
+ - **Type:** `string[] | undefined`
9
+ - **Default:**
8
10
 
9
- <Main />
11
+ ```ts
12
+ const defaultBrowserListMap: Record<RsbuildTarget, string[]> = {
13
+ web: ['> 0.01%', 'not dead', 'not op_mini all'],
14
+ node: ['node >= 14'],
15
+ 'web-worker': ['> 0.01%', 'not dead', 'not op_mini all'],
16
+ };
17
+ ```
18
+
19
+ Modern.js will give priority to using the configuration in the `.browserslistrc` file in the project root directory.
20
+
21
+ Specifies the range of target browsers that the project is compatible with. This value will be used by [SWC](https://github.com/swc-project/swc) and [autoprefixer](https://github.com/postcss/autoprefixer) to identify the JavaScript syntax that need to be transformed and the CSS browser prefixes that need to be added.
22
+
23
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
24
+
25
+ <RsbuildConig />
@@ -1,9 +1,19 @@
1
1
  ---
2
2
  title: polyfill
3
+ configName: output.polyfill
3
4
  ---
4
5
 
5
6
  # output.polyfill
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/output/polyfill.md';
8
+ - **Type:** `'entry' | 'usage' | 'ua' | 'off'`
9
+ - **Default:** `'entry'`
8
10
 
9
- <Main />
11
+ Via `output.polyfill` you can configure how the polyfill is injected.
12
+
13
+ import OutputPolyfillExtend from '@site-docs-en/components/output-polyfill-extend';
14
+
15
+ <OutputPolyfillExtend />
16
+
17
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
18
+
19
+ <RsbuildConig />
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: sourceMap
3
+ configName: output.sourceMap
4
+ ---
5
+
6
+ # output.sourceMap
7
+
8
+ - **Type:**
9
+
10
+ ```ts
11
+ type SourceMap = {
12
+ js?: Rspack.Configuration['devtool'];
13
+ css?: boolean;
14
+ };
15
+ ```
16
+
17
+ - **Default:**
18
+
19
+ ```ts
20
+ const defaultSourceMap = {
21
+ js: isDev ? 'cheap-module-source-map' : false,
22
+ css: false,
23
+ };
24
+ ```
25
+
26
+ Used to set whether to generate source map files, and which format of source map to generate.
27
+
28
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
29
+
30
+ <RsbuildConig />
@@ -4,7 +4,7 @@ title: ssg
4
4
 
5
5
  # output.ssg
6
6
 
7
- - **Type:** `boolean` | `object`
7
+ - **Type:** `boolean | object`
8
8
  - **Default Value:** `undefined`
9
9
 
10
10
  Configuration to enable the application’s SSG (Static Site Generation) feature.
@@ -65,13 +65,14 @@ When the value type is `Object`, the following attributes can be configured.
65
65
 
66
66
  ### Configuration Type
67
67
 
68
-
69
68
  ```ts
70
- type SSGRouteOptions = string | {
71
- url: string;
72
- params?: Record<string, any>[];
73
- headers?: Record<string, any>;
74
- };
69
+ type SSGRouteOptions =
70
+ | string
71
+ | {
72
+ url: string;
73
+ params?: Record<string, any>[];
74
+ headers?: Record<string, any>;
75
+ };
75
76
 
76
77
  type SSGOptions = {
77
78
  preventDefault?: string[];
@@ -91,23 +92,25 @@ export default defineConfig({
91
92
  output: {
92
93
  ssg: {
93
94
  routes: [
94
- '/',
95
- '/about',
95
+ '/',
96
+ '/about',
96
97
  {
97
98
  url: '/user/:id',
98
99
  headers: {
99
- cookies: "name=modernjs"
100
+ cookies: 'name=modernjs',
100
101
  },
101
- params: [{
102
- id: 'modernjs',
103
- }],
104
- }
102
+ params: [
103
+ {
104
+ id: 'modernjs',
105
+ },
106
+ ],
107
+ },
105
108
  ],
106
- }
107
- }
109
+ },
110
+ },
108
111
  });
109
112
  ```
110
113
 
111
114
  :::note
112
115
  The configuration method for multiple entries is the same as for a single entry, so it will not be explained further here.
113
- :::
116
+ :::
@@ -4,6 +4,31 @@ title: svgDefaultExport
4
4
 
5
5
  # output.svgDefaultExport
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/output/svgDefaultExport.md';
7
+ - **Type:** `'url' | 'component'`
8
+ - **Default:** `'url'`
8
9
 
9
- <Main />
10
+ `output.svgDefaultExport` is used to configure the default export type of SVG files.
11
+
12
+ When `output.svgDefaultExport` is set to `url` , the default export of SVG files is the URL of the file. For example:
13
+
14
+ ```js
15
+ import logo from './logo.svg';
16
+
17
+ console.log(logo); // => asset url
18
+ ```
19
+
20
+ When `output.svgDefaultExport` is set to `component` , the default export of SVG files is the React component of the file. For example:
21
+
22
+ ```js
23
+ import Logo from './logo.svg';
24
+
25
+ console.log(Logo); // => React Component
26
+ ```
27
+
28
+ At this time, you can also specify the `?url` query to import the URL, for example:
29
+
30
+ ```js
31
+ import logo from './logo.svg?url';
32
+
33
+ console.log(logo); // => asset url
34
+ ```
@@ -4,6 +4,82 @@ title: buildCache
4
4
 
5
5
  # performance.buildCache
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/buildCache.md';
7
+ - **Type:**
8
8
 
9
- <Main />
9
+ ```ts
10
+ type BuildCacheConfig =
11
+ | {
12
+ /**
13
+ * Base directory for the filesystem cache.
14
+ */
15
+ cacheDirectory?: string;
16
+ /**
17
+ * Set different cache names based on cacheDigest content.
18
+ */
19
+ cacheDigest?: Array<string | undefined>;
20
+ }
21
+ | boolean;
22
+ ```
23
+
24
+ - **Default:**
25
+
26
+ ```js
27
+ const defaultBuildCacheConfig = {
28
+ cacheDirectory: './node_modules/.cache/webpack',
29
+ };
30
+ ```
31
+
32
+ - **Bundler:** `only support webpack`
33
+
34
+ Controls the caching behavior during the build process.
35
+
36
+ Modern.js will enable build cache by default to improve the compile speed, the generated cache files are write to the `./node_modules/.cache/webpack` directory by default.
37
+
38
+ You can configure the cache path with `buildCache`, e.g.
39
+
40
+ ```js
41
+ export default {
42
+ performance: {
43
+ buildCache: {
44
+ cacheDirectory: './node_modules/.custom_cache/webpack',
45
+ },
46
+ },
47
+ };
48
+ ```
49
+
50
+ You can also disable the build cache by setting it to `false`:
51
+
52
+ ```js
53
+ export default {
54
+ performance: {
55
+ buildCache: false,
56
+ },
57
+ };
58
+ ```
59
+
60
+ ### cacheDigest
61
+
62
+ `cacheDigest` is used to add some environment variables that will affect the build results. Modern.js will set the cache name based on the `cacheDigest` content and the current build mode to ensure that different cacheDigests can hit different caches.
63
+
64
+ #### Example
65
+
66
+ The current project needs to set different extensions according to different `APP_ID`. By default, since the code & configuration & dependencies of the current project have not changed, the previous cache will be hit.
67
+
68
+ By adding `APP_ID` to `cacheDigest`, different cache results will be searched when APP_ID changes, thereby avoiding hitting cache results that do not meet expectations.
69
+
70
+ ```js
71
+ export default {
72
+ tools: {
73
+ bundlerChain: (chain: any) => {
74
+ if (process.env.APP_ID === 'xxx') {
75
+ chain.resolve.extensions.prepend('.ttp.ts');
76
+ }
77
+ },
78
+ },
79
+ performance: {
80
+ buildCache: {
81
+ cacheDigest: [process.env.APP_ID],
82
+ },
83
+ },
84
+ };
85
+ ```
@@ -1,9 +1,25 @@
1
1
  ---
2
2
  title: bundleAnalyze
3
+ configName: performance.bundleAnalyze
3
4
  ---
4
5
 
5
6
  # performance.bundleAnalyze
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/bundleAnalyze.md';
8
+ - **Type:** `Object | undefined`
8
9
 
9
- <Main />
10
+ Used to enable the [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) plugin to analyze the size of the output.
11
+
12
+ By default, Modern.js does not enable `webpack-bundle-analyzer`. When this feature is enabled, the default configuration is as follows:
13
+
14
+ ```js
15
+ const defaultConfig = {
16
+ analyzerMode: 'static',
17
+ openAnalyzer: false,
18
+ // Distinguish by target names, such as `web`, `node`, etc.
19
+ reportFilename: `report-${target}.html`,
20
+ };
21
+ ```
22
+
23
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
24
+
25
+ <RsbuildConig />
@@ -1,9 +1,45 @@
1
1
  ---
2
2
  title: chunkSplit
3
+ configName: performance.chunkSplit
3
4
  ---
4
5
 
5
6
  # performance.chunkSplit
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/chunkSplit.md';
8
+ - **Type:** `Object`
9
+ - **Default:** `{ strategy: 'split-by-experience' }`
8
10
 
9
- <Main />
11
+ `performance.chunkSplit` is used to configure the chunk splitting strategy. The type of `ChunkSplit` is as follows:
12
+
13
+ ```ts
14
+ type ForceSplitting = RegExp[] | Record<string, RegExp>;
15
+
16
+ interface BaseChunkSplit {
17
+ strategy?:
18
+ | 'split-by-module'
19
+ | 'split-by-experience'
20
+ | 'all-in-one'
21
+ | 'single-vendor';
22
+ override?: SplitChunks;
23
+ forceSplitting?: ForceSplitting;
24
+ }
25
+
26
+ interface SplitBySize {
27
+ strategy?: 'split-by-size';
28
+ minSize?: number;
29
+ maxSize?: number;
30
+ override?: SplitChunks;
31
+ forceSplitting?: ForceSplitting;
32
+ }
33
+
34
+ interface SplitCustom {
35
+ strategy?: 'custom';
36
+ splitChunks?: SplitChunks;
37
+ forceSplitting?: ForceSplitting;
38
+ }
39
+
40
+ export type ChunkSplit = BaseChunkSplit | SplitBySize | SplitCustom;
41
+ ```
42
+
43
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
44
+
45
+ <RsbuildConig />
@@ -1,9 +1,20 @@
1
1
  ---
2
2
  title: dnsPrefetch
3
+ configName: performance.dnsPrefetch
3
4
  ---
4
5
 
5
6
  # performance.dnsPrefetch
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/dnsPrefetch.md';
8
+ - **Type:** `undefined | string[]`
8
9
 
9
- <Main />
10
+ - **Default:** `undefined`
11
+
12
+ Specifies that the user agent should preemptively perform DNS resolution for the target resource's origin, refer to [dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/dns-prefetch).
13
+
14
+ After this property is set, the domain name can be resolved before the resource is requested, reducing request latency and improving loading performance.
15
+
16
+ See [Using dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch) for more details.
17
+
18
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
19
+
20
+ <RsbuildConig />
@@ -1,9 +1,21 @@
1
1
  ---
2
2
  title: preconnect
3
+ configName: performance.preconnect
3
4
  ---
4
5
 
5
6
  # performance.preconnect
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/preconnect.md';
8
+ - **Type:** `undefined | Array<string | PreconnectOption>`
8
9
 
9
- <Main />
10
+ ```ts
11
+ interface PreconnectOption {
12
+ href: string;
13
+ crossorigin?: boolean;
14
+ }
15
+ ```
16
+
17
+ - **Default:** `undefined`
18
+
19
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
20
+
21
+ <RsbuildConig />
@@ -1,9 +1,26 @@
1
1
  ---
2
2
  title: prefetch
3
+ configName: performance.prefetch
3
4
  ---
4
5
 
5
6
  # performance.prefetch
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/prefetch.md';
8
+ - **Type:** `undefined | true | PrefetchOption`
8
9
 
9
- <Main />
10
+ ```ts
11
+ type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
12
+
13
+ type Filter = Array<string | RegExp> | ((filename: string) => boolean);
14
+
15
+ interface PrefetchOption {
16
+ type?: IncludeType;
17
+ include?: Filter;
18
+ exclude?: Filter;
19
+ }
20
+ ```
21
+
22
+ - **Default:** `undefined`
23
+
24
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
25
+
26
+ <RsbuildConig />
@@ -1,9 +1,28 @@
1
1
  ---
2
2
  title: preload
3
+ configName: performance.preload
3
4
  ---
4
5
 
5
6
  # performance.preload
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/preload.md';
8
+ - **Type:** `undefined | true | PreloadOption`
8
9
 
9
- <Main />
10
+ ```ts
11
+ type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
12
+
13
+ type Filter = Array<string | RegExp> | ((filename: string) => boolean);
14
+
15
+ interface PreloadOption {
16
+ type?: IncludeType;
17
+ include?: Filter;
18
+ exclude?: Filter;
19
+ }
20
+ ```
21
+
22
+ - **Default:** `undefined`
23
+
24
+ Inject the [`<link rel="preload">`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Attributes/rel/preload) tags for the static assets generated by Rsbuild.
25
+
26
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
27
+
28
+ <RsbuildConig />
@@ -1,9 +1,45 @@
1
1
  ---
2
2
  title: printFileSize
3
+ configName: performance.printFileSize
3
4
  ---
4
5
 
5
6
  # performance.printFileSize
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/printFileSize.md';
8
+ - **Type:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type PrintFileSizeOptions =
12
+ | {
13
+ /**
14
+ * whether to print total size
15
+ */
16
+ total?: boolean;
17
+ /**
18
+ * whether to print size of each file
19
+ */
20
+ detail?: boolean;
21
+ /**
22
+ * whether to print gzip-compressed size
23
+ */
24
+ compressed?: boolean;
25
+ }
26
+ | boolean;
27
+ ```
28
+
29
+ - **Default:** `true`
30
+
31
+ Whether to print the file sizes after production build.
32
+
33
+ ```bash
34
+ info Production file sizes:
35
+
36
+ File Size Gzipped
37
+ dist/static/js/lib-react.09721b5c.js 152.6 kB 49.0 kB
38
+ dist/html/main/index.html 5.8 kB 2.5 kB
39
+ dist/static/js/main.3568a38e.js 3.5 kB 1.4 kB
40
+ dist/static/css/main.03221f72.css 1.4 kB 741 B
41
+ ```
42
+
43
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
44
+
45
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: profile
3
+ configName: performance.profile
3
4
  ---
4
5
 
5
6
  # performance.profile
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/profile.md';
8
+ - **Type:** `boolean`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether capture timing information for each module, same as the [profile](https://webpack.js.org/configuration/other-options/#profile) config of Rspack.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: removeConsole
3
+ configName: performance.removeConsole
3
4
  ---
4
5
 
5
6
  # performance.removeConsole
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/removeConsole.md';
8
+ - **Type:** `boolean | ConsoleType[]`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether to remove `console.[methodName]` in production build.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: removeMomentLocale
3
+ configName: performance.removeMomentLocale
3
4
  ---
4
5
 
5
6
  # performance.removeMomentLocale
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/removeMomentLocale.md';
8
+ - **Type:** `boolean`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether to remove the locales of [moment.js](https://momentjs.com/).
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,46 @@ title: transformLodash
4
4
 
5
5
  # performance.transformLodash
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/transformLodash.md';
7
+ - **Type:** `boolean`
8
+ - **Default:** `true`
9
+ - **Bundler:** `only support webpack`
8
10
 
9
- <Main />
11
+ Specifies whether to modularize the import of [lodash](https://www.npmjs.com/package/lodash) and remove unused lodash modules to reduce the code size of lodash.
12
+
13
+ This optimization is implemented using [babel-plugin-lodash](https://www.npmjs.com/package/babel-plugin-lodash) and [swc-plugin-lodash](https://github.com/web-infra-dev/swc-plugins/tree/main/crates/plugin_lodash) under the hood.
14
+
15
+ ### Example
16
+
17
+ This option is enabled by default, and Modern.js will automatically redirects the code references of `lodash` to sub-paths.
18
+
19
+ For example:
20
+
21
+ ```ts title="input.js"
22
+ import _ from 'lodash';
23
+ import { add } from 'lodash/fp';
24
+
25
+ const addOne = add(1);
26
+ _.map([1, 2, 3], addOne);
27
+ ```
28
+
29
+ The transformed code will be:
30
+
31
+ ```ts title="output.js"
32
+ import _add from 'lodash/fp/add';
33
+ import _map from 'lodash/map';
34
+
35
+ const addOne = _add(1);
36
+ _map([1, 2, 3], addOne);
37
+ ```
38
+
39
+ ### Disabling the Transformation
40
+
41
+ In some cases, the import transformation of `lodash` may generate unexpected code. In such cases, you can manually disable this optimization:
42
+
43
+ ```js
44
+ export default {
45
+ performance: {
46
+ transformLodash: false,
47
+ },
48
+ };
49
+ ```