@modern-js/main-doc 0.0.0-nightly-20240912170717 → 0.0.0-nightly-20240913170631

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 (317) hide show
  1. package/docs/en/apis/app/commands.mdx +0 -16
  2. package/docs/en/community/contributing-guide.mdx +0 -1
  3. package/docs/en/components/builder.mdx +3 -0
  4. package/docs/en/components/bundler.mdx +3 -0
  5. package/docs/en/components/enableSwc.mdx +17 -0
  6. package/docs/en/components/esbuild.mdx +3 -0
  7. package/docs/en/components/micro-frontend.mdx +6 -0
  8. package/docs/en/components/module-federation.mdx +7 -0
  9. package/docs/en/components/nodeVersion.mdx +26 -0
  10. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  11. package/docs/en/components/output-polyfill-extend.mdx +1 -0
  12. package/docs/en/components/prerequisites.mdx +1 -1
  13. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  14. package/docs/en/components/rsbuild.mdx +3 -0
  15. package/docs/en/components/rspack.mdx +3 -0
  16. package/docs/en/components/rspackPrecautions.mdx +6 -0
  17. package/docs/en/components/rspackTip.mdx +7 -0
  18. package/docs/en/components/swc.mdx +3 -0
  19. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  20. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  21. package/docs/en/configure/app/dev/client.mdx +20 -16
  22. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  23. package/docs/en/configure/app/dev/host.mdx +15 -2
  24. package/docs/en/configure/app/dev/https.mdx +71 -2
  25. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  26. package/docs/en/configure/app/dev/port.mdx +18 -2
  27. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  28. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  29. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  30. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  31. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  32. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  33. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  34. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  35. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  36. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  37. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  38. package/docs/en/configure/app/html/favicon.mdx +14 -2
  39. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  40. package/docs/en/configure/app/html/inject.mdx +8 -2
  41. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  42. package/docs/en/configure/app/html/meta.mdx +22 -2
  43. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  44. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  45. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  46. package/docs/en/configure/app/html/tags.mdx +13 -2
  47. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  48. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  49. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  50. package/docs/en/configure/app/html/template.mdx +8 -2
  51. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  52. package/docs/en/configure/app/html/title.mdx +16 -2
  53. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  54. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  55. package/docs/en/configure/app/output/charset.mdx +8 -2
  56. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  57. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  58. package/docs/en/configure/app/output/copy.mdx +5 -2
  59. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  60. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  61. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  62. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  63. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  64. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  65. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  66. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  67. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  68. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  69. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  70. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  71. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  72. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  73. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  74. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  75. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  76. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  77. package/docs/en/configure/app/output/externals.mdx +18 -2
  78. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  79. package/docs/en/configure/app/output/filename.mdx +47 -2
  80. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  81. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  82. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  83. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  84. package/docs/en/configure/app/output/minify.mdx +27 -0
  85. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  86. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  87. package/docs/en/configure/app/output/source-map.mdx +30 -0
  88. package/docs/en/configure/app/output/ssg.mdx +20 -17
  89. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  90. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  91. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  92. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  93. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  94. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  95. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  96. package/docs/en/configure/app/performance/preload.mdx +21 -2
  97. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  98. package/docs/en/configure/app/performance/profile.mdx +8 -2
  99. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  100. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  101. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  102. package/docs/en/configure/app/plugins.mdx +1 -1
  103. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  104. package/docs/en/configure/app/security/nonce.mdx +13 -2
  105. package/docs/en/configure/app/security/sri.mdx +19 -2
  106. package/docs/en/configure/app/server/port.mdx +5 -0
  107. package/docs/en/configure/app/server/ssr.mdx +10 -9
  108. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  109. package/docs/en/configure/app/source/alias.mdx +17 -2
  110. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  111. package/docs/en/configure/app/source/decorators.mdx +8 -21
  112. package/docs/en/configure/app/source/define.mdx +14 -2
  113. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  114. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  115. package/docs/en/configure/app/source/exclude.mdx +8 -2
  116. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  117. package/docs/en/configure/app/source/include.mdx +19 -2
  118. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  119. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  120. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  121. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  122. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  123. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  124. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  125. package/docs/en/configure/app/tools/babel.mdx +218 -2
  126. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  127. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  128. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  129. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  130. package/docs/en/configure/app/tools/esbuild.mdx +1 -1
  131. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  132. package/docs/en/configure/app/tools/less.mdx +78 -2
  133. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  134. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  135. package/docs/en/configure/app/tools/pug.mdx +47 -2
  136. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  137. package/docs/en/configure/app/tools/sass.mdx +75 -2
  138. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  139. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  140. package/docs/en/configure/app/tools/swc.mdx +2 -2
  141. package/docs/en/configure/app/tools/terser.mdx +49 -2
  142. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  143. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  144. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  145. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  146. package/docs/en/guides/advanced-features/_meta.json +0 -1
  147. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  148. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  149. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  150. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  151. package/docs/en/guides/concept/builder.mdx +1 -1
  152. package/docs/en/guides/get-started/glossary.mdx +7 -7
  153. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  154. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  155. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  156. package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
  157. package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  158. package/docs/zh/apis/app/commands.mdx +0 -18
  159. package/docs/zh/community/contributing-guide.mdx +0 -1
  160. package/docs/zh/components/builder.mdx +3 -0
  161. package/docs/zh/components/bundler.mdx +4 -0
  162. package/docs/zh/components/enableSwc.mdx +17 -0
  163. package/docs/zh/components/esbuild.mdx +3 -0
  164. package/docs/zh/components/micro-frontend.mdx +6 -0
  165. package/docs/zh/components/module-federation.mdx +7 -0
  166. package/docs/zh/components/nodeVersion.mdx +28 -0
  167. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  168. package/docs/zh/components/output-polyfill-extend.mdx +1 -0
  169. package/docs/zh/components/prerequisites.mdx +1 -1
  170. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  171. package/docs/zh/components/rsbuild.mdx +3 -0
  172. package/docs/zh/components/rspack.mdx +3 -0
  173. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  174. package/docs/zh/components/rspackTip.mdx +7 -0
  175. package/docs/zh/components/swc.mdx +3 -0
  176. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  177. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  178. package/docs/zh/configure/app/dev/client.mdx +20 -16
  179. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  180. package/docs/zh/configure/app/dev/host.mdx +15 -2
  181. package/docs/zh/configure/app/dev/https.mdx +72 -2
  182. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  183. package/docs/zh/configure/app/dev/port.mdx +18 -2
  184. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  185. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  186. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  187. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  188. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  189. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  190. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  191. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  192. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  193. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  194. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  195. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  196. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  197. package/docs/zh/configure/app/html/inject.mdx +8 -2
  198. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  199. package/docs/zh/configure/app/html/meta.mdx +22 -2
  200. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  201. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  202. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  203. package/docs/zh/configure/app/html/tags.mdx +13 -2
  204. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  205. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  206. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  207. package/docs/zh/configure/app/html/template.mdx +8 -2
  208. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  209. package/docs/zh/configure/app/html/title.mdx +16 -2
  210. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  211. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  212. package/docs/zh/configure/app/output/charset.mdx +8 -2
  213. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  214. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  215. package/docs/zh/configure/app/output/copy.mdx +6 -2
  216. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  217. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  218. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  219. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  220. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  221. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  222. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  223. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  224. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  225. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  226. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  227. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  228. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  229. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  230. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  231. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  232. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  233. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  234. package/docs/zh/configure/app/output/externals.mdx +18 -2
  235. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  236. package/docs/zh/configure/app/output/filename.mdx +47 -2
  237. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  238. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  239. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  240. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  241. package/docs/zh/configure/app/output/minify.mdx +27 -0
  242. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  243. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  244. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  245. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  246. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  247. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  248. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  249. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  250. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  251. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  252. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  253. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  254. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  255. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  256. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  257. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  258. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  259. package/docs/zh/configure/app/plugins.mdx +1 -1
  260. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  261. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  262. package/docs/zh/configure/app/security/sri.mdx +19 -2
  263. package/docs/zh/configure/app/server/port.mdx +5 -0
  264. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  265. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  266. package/docs/zh/configure/app/source/alias.mdx +17 -2
  267. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  268. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  269. package/docs/zh/configure/app/source/define.mdx +14 -2
  270. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  271. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  272. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  273. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  274. package/docs/zh/configure/app/source/include.mdx +19 -2
  275. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  276. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  277. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  278. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  279. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  280. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  281. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  282. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  283. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  284. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  285. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  286. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  287. package/docs/zh/configure/app/tools/esbuild.mdx +1 -1
  288. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  289. package/docs/zh/configure/app/tools/less.mdx +79 -2
  290. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  291. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  292. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  293. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  294. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  295. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  296. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  297. package/docs/zh/configure/app/tools/swc.mdx +2 -2
  298. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  299. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  300. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  301. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  302. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  303. package/docs/zh/guides/advanced-features/_meta.json +0 -1
  304. package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
  305. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  306. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  307. package/docs/zh/guides/concept/builder.mdx +1 -1
  308. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  309. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  310. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  311. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  312. package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
  313. package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  314. package/package.json +4 -9
  315. package/src/components/RsbuildLink/index.tsx +19 -0
  316. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  317. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: rspack
3
+ configName: tools.rspack
3
4
  ---
4
5
 
5
6
  # tools.rspack
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/rspack.md';
8
+ - **Type:** `Rspack.Configuration | Function | undefined`
9
+ - **Default:** `undefined`
8
10
 
9
- <Main />
11
+ `tools.rspack` is used to configure [Rspack](https://rspack.dev/).
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,79 @@ title: sass
4
4
 
5
5
  # tools.sass
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/sass.md';
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ const defaultOptions = {
12
+ // CSS Source Map enabled by default in development environment
13
+ sourceMap: isDev,
14
+ };
15
+ ```
16
+
17
+ You can modify the config of [sass-loader](https://github.com/webpack-contrib/sass-loader) via `tools.sass`.
18
+
19
+ ### Object Type
20
+
21
+ When `tools.sass` is `Object` type, it is merged with the default config through Object.assign. It should be noted that `sassOptions` is merged through deepMerge in a deep way.
22
+
23
+ For example:
24
+
25
+ ```js
26
+ export default {
27
+ tools: {
28
+ sass: {
29
+ sourceMap: true,
30
+ },
31
+ },
32
+ };
33
+ ```
34
+
35
+ ### Function Type
36
+
37
+ When `tools.sass` 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:
38
+
39
+ ```js
40
+ export default {
41
+ tools: {
42
+ sass(config) {
43
+ // Modify sourceMap config
44
+ config.additionalData = async (content, loaderContext) => {
45
+ // ...
46
+ };
47
+ },
48
+ },
49
+ };
50
+ ```
51
+
52
+ ### Modifying Sass Version
53
+
54
+ In some scenarios, if you need to use a specific version of Sass instead of the built-in Dart Sass v1 in Modern.js, you can install the desired Sass version in your project and set it up using the `implementation` option of the `sass-loader`.
55
+
56
+ ```js
57
+ export default {
58
+ tools: {
59
+ sass: {
60
+ implementation: require('sass'),
61
+ },
62
+ },
63
+ };
64
+ ```
65
+
66
+ ### Utility Function
67
+
68
+ #### addExcludes
69
+
70
+ - **Type:** `(excludes: RegExp | RegExp[]) => void`
71
+
72
+ Used to specify which files `sass-loader` does not compile, You can pass in one or more regular expressions to match the path of sass files, for example:
73
+
74
+ ```js
75
+ export default {
76
+ tools: {
77
+ sass(config, { addExcludes }) {
78
+ addExcludes(/node_modules/);
79
+ },
80
+ },
81
+ };
82
+ ```
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: styleLoader
3
+ configName: tools.styleLoader
3
4
  ---
4
5
 
5
6
  # tools.styleLoader
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/styleLoader.md';
8
+ - **Type:** `Object | Function`
9
+ - **Default:** `{}`
8
10
 
9
- <Main />
11
+ The config of [style-loader](https://github.com/webpack-contrib/style-loader) can be set through `tools.styleLoader`.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,52 @@ title: styledComponents
4
4
 
5
5
  # tools.styledComponents
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/styledComponents.md';
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ {
12
+ displayName: true,
13
+ // `isSSR` is true in SSR build
14
+ ssr: isSSR,
15
+ // `pure` is enabled in production to reduce bundle size
16
+ pure: isProd,
17
+ transpileTemplateLiterals: true,
18
+ }
19
+ ```
20
+
21
+ `tools.styledComponents` config is corresponding to [babel-plugin-styled-components](https://github.com/styled-components/babel-plugin-styled-components), or [@swc/plugin-styled-components](https://github.com/swc-project/plugins/tree/main/packages/styled-components) when using SWC plugin.
22
+
23
+ When the value is an Object, use the Object.assign function to merge with the default config. For example:
24
+
25
+ ```js
26
+ export default {
27
+ tools: {
28
+ styledComponents: {
29
+ pure: false,
30
+ },
31
+ },
32
+ };
33
+ ```
34
+
35
+ When the config is a Function, the first parameter is the default configuration, and the second parameter provides some utility functions that can be called directly:
36
+
37
+ ```js
38
+ export default {
39
+ tools: {
40
+ styledComponents(config) {
41
+ config.pure = false;
42
+ },
43
+ },
44
+ };
45
+ ```
46
+
47
+ The feature is enabled by default, and you can configure `tools.styledComponents` to `false` to disable this behavior, which can improve build performance:
48
+
49
+ ```js
50
+ export default {
51
+ tools: {
52
+ styledComponents: false,
53
+ },
54
+ };
55
+ ```
@@ -9,7 +9,7 @@ title: swc
9
9
 
10
10
  ## Introduction
11
11
 
12
- import SWC from '@modern-js/builder-doc/docs/en/shared/swc.md';
12
+ import SWC from '@site-docs-en/components/swc.mdx';
13
13
 
14
14
  <SWC />
15
15
 
@@ -70,7 +70,7 @@ For details, please refer to [Rsbuild - SWC Plugin Version](https://rsbuild.dev/
70
70
 
71
71
  ## Used in Webpack mode
72
72
 
73
- import EnableSWC from '@modern-js/builder-doc/docs/en/shared/enableSwc.md';
73
+ import EnableSWC from '@site-docs-en/components/enableSwc.mdx';
74
74
 
75
75
  <EnableSWC />
76
76
 
@@ -4,6 +4,53 @@ title: terser
4
4
 
5
5
  # tools.terser
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/terser.md';
7
+ - **Type:** `Object | Function | undefined`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ const defaultTerserOptions = {
12
+ terserOptions: {
13
+ mangle: {
14
+ safari10: true,
15
+ },
16
+ },
17
+ };
18
+ ```
19
+
20
+ - **Bundler:** `only support webpack`
21
+
22
+ When building for production, Modern.js will minimize the JavaScript code through [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin). The config of [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) can be modified via `tools.terser`.
23
+
24
+ ### Object Type
25
+
26
+ When `tools.terser` is `Object` type, it will be merged with the default config via `Object.assign`.
27
+
28
+ For example, to exclude some files from minification:
29
+
30
+ ```js
31
+ export default {
32
+ tools: {
33
+ terser: {
34
+ exclude: /\/excludes/,
35
+ },
36
+ },
37
+ };
38
+ ```
39
+
40
+ ### Function Type
41
+
42
+ When `tools.terser` 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.
43
+
44
+ ```js
45
+ export default {
46
+ tools: {
47
+ terser: opts => {
48
+ opts.exclude = /\/excludes/;
49
+ },
50
+ },
51
+ };
52
+ ```
53
+
54
+ :::tip Disable code minification
55
+ If you need to disable code minification, you can use the [output.disableMinimize](https://modernjs.dev/builder/en/api/config-output.html#outputdisableminimize) configuration.
56
+ :::
@@ -4,6 +4,53 @@ title: tsChecker
4
4
 
5
5
  # tools.tsChecker
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/tsChecker.md';
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ const defaultOptions = {
12
+ typescript: {
13
+ // avoid OOM issue
14
+ memoryLimit: 8192,
15
+ // use tsconfig of user project
16
+ configFile: tsconfigPath,
17
+ // use typescript of user project
18
+ typescriptPath: require.resolve('typescript'),
19
+ },
20
+ issue: {
21
+ exclude: [
22
+ { file: '**/*.(spec|test).ts' },
23
+ { file: '**/node_modules/**/*' },
24
+ ],
25
+ },
26
+ logger: {
27
+ log() {
28
+ // do nothing
29
+ // we only want to display error messages
30
+ },
31
+ error(message: string) {
32
+ console.error(message.replace(/ERROR/g, 'Type Error'));
33
+ },
34
+ },
35
+ },
36
+ ```
37
+
38
+ By default, the [@rsbuild/plugin-type-check](https://rsbuild.dev/plugins/list/plugin-type-check) is enabled for type checking. You can use `output.disableTsChecker` config to disable it.
39
+
40
+ ## Example
41
+
42
+ When the value of `tsChecker` is of type Object, it will be deeply merged with the default configuration.
43
+
44
+ ```ts
45
+ export default {
46
+ tools: {
47
+ tsChecker: {
48
+ issue: {
49
+ exclude: [({ file = '' }) => /[\\/]some-folder[\\/]/.test(file)],
50
+ },
51
+ },
52
+ },
53
+ };
54
+ ```
55
+
56
+ > Please refer to [@rsbuild/plugin-type-check](https://rsbuild.dev/plugins/list/plugin-type-check) for more details.
@@ -4,6 +4,67 @@ title: tsLoader
4
4
 
5
5
  # tools.tsLoader
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/tsLoader.md';
7
+ - **Type:** `Object | Function | undefined`
8
+ - **Default:** `undefined`
9
+ - **Bundler:** `only support webpack`
8
10
 
9
- <Main />
11
+ :::warning Alternatives for ts-loader
12
+ Using [babel-loader](https://modernjs.dev/builder/en/guide/basic/typescript.html#why-babel-is-the-default-option) or [Rspack](https://modernjs.dev/en/guide/advanced/rspack-start.html) instead of ts-loader can significantly improve compilation speed and provide better extendability.
13
+
14
+ ts-loader cannot be used with certain features such as [source.transformImport](https://modernjs.dev/en/configure/app/source/transform-import.html) and [tools.styledComponents](https://modernjs.dev/en/configure/app/tools/styled-components.html) provided by Babel & SWC.
15
+ :::
16
+
17
+ `ts-loader` is not enabled by default in the project. When `tools.tsLoader` is not undefined, builder will use ts-loader instead of babel-loader to compile TypeScript code.
18
+
19
+ ### Object Type
20
+
21
+ When this value is an Object, it is merged with the default configuration via Object.assign.
22
+
23
+ The default configuration is as follows:
24
+
25
+ ```json
26
+ {
27
+ "compilerOptions": {
28
+ "target": "es5",
29
+ "module": "ESNext"
30
+ },
31
+ "transpileOnly": true,
32
+ "allowTsInNodeModules": true
33
+ }
34
+ ```
35
+
36
+ You can override the default configuration via the `tools.tsLoader` configuration option:
37
+
38
+ ```ts
39
+ export default {
40
+ tools: {
41
+ tsLoader: {
42
+ allowTsInNodeModules: false,
43
+ },
44
+ },
45
+ };
46
+ ```
47
+
48
+ ### Function Type
49
+
50
+ When this value is a Function, the default configuration is passed in as the first parameter, the configuration object can be modified directly, or an object can be returned as the final configuration.The second parameter is the util functions to modify the `ts-loader` configuration. For example:
51
+
52
+ ```ts
53
+ export default {
54
+ tools: {
55
+ tsLoader: opts => {
56
+ opts.allowTsInNodeModules = false;
57
+ },
58
+ },
59
+ };
60
+ ```
61
+
62
+ ### Util Functions
63
+
64
+ #### addIncludes
65
+
66
+ Deprecated, please use [source.include](https://modernjs.dev/en/configure/app/source/include.html) instead, both have the same functionality.
67
+
68
+ #### addExcludes
69
+
70
+ Deprecated, please use [source.exclude](https://modernjs.dev/en/configure/app/source/exclude.html) instead, both have the same functionality.
@@ -4,6 +4,243 @@ title: webpackChain
4
4
 
5
5
  # tools.webpackChain
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/webpackChain.md';
7
+ - **Type:** `Function | undefined`
8
+ - **Default:** `undefined`
9
+ - **Bundler:** `only support webpack`
8
10
 
9
- <Main />
11
+ You can modify the webpack configuration by configuring `tools.webpackChain` which is type of `Function`. The function receives two parameters, the first is the original webpack chain object, and the second is an object containing some utils.
12
+
13
+ Compared with `tools.webpack`, **webpack-chain not only supports chained calls, but also can locate built-in Rule or Plugin based on aliases, so as to achieve precise config modification**. We recommend using `tools.webpackChain` instead of `tools.webpack`.
14
+
15
+ > `tools.webpackChain` is executed earlier than tools.webpack and thus will be overridden by changes in `tools.webpack`.
16
+
17
+ ### Utils
18
+
19
+ #### env
20
+
21
+ - **Type:** `'development' | 'production' | 'test'`
22
+
23
+ The `env` parameter can be used to determine whether the current environment is development, production or test. For example:
24
+
25
+ ```js
26
+ export default {
27
+ tools: {
28
+ webpackChain: (chain, { env }) => {
29
+ if (env === 'development') {
30
+ chain.devtool('cheap-module-eval-source-map');
31
+ }
32
+ },
33
+ },
34
+ };
35
+ ```
36
+
37
+ #### isProd
38
+
39
+ - **Type:** `boolean`
40
+
41
+ The `isProd` parameter can be used to determine whether the current environment is production. For example:
42
+
43
+ ```js
44
+ export default {
45
+ tools: {
46
+ webpackChain: (chain, { isProd }) => {
47
+ if (isProd) {
48
+ chain.devtool('source-map');
49
+ }
50
+ },
51
+ },
52
+ };
53
+ ```
54
+
55
+ #### target
56
+
57
+ - **Type:** `'web' | 'node' | 'modern-web' | 'web-worker'`
58
+
59
+ The `target` parameter can be used to determine the current environment. For example:
60
+
61
+ ```js
62
+ export default {
63
+ tools: {
64
+ webpackChain: (chain, { target }) => {
65
+ if (target === 'node') {
66
+ // ...
67
+ }
68
+ },
69
+ },
70
+ };
71
+ ```
72
+
73
+ #### isServer
74
+
75
+ - **Type:** `boolean`
76
+
77
+ Determines whether the target environment is `node`, equivalent to `target === 'node'`.
78
+
79
+ ```js
80
+ export default {
81
+ tools: {
82
+ webpackChain: (chain, { isServer }) => {
83
+ if (isServer) {
84
+ // ...
85
+ }
86
+ },
87
+ },
88
+ };
89
+ ```
90
+
91
+ #### isWebWorker
92
+
93
+ - **Type:** `boolean`
94
+
95
+ Determines whether the target environment is `web-worker`, equivalent to `target === 'web-worker'`.
96
+
97
+ ```js
98
+ export default {
99
+ tools: {
100
+ webpackChain: (chain, { isWebWorker }) => {
101
+ if (isWebWorker) {
102
+ // ...
103
+ }
104
+ },
105
+ },
106
+ };
107
+ ```
108
+
109
+ #### webpack
110
+
111
+ - **Type:** `typeof import('webpack')`
112
+
113
+ The webpack instance. For example:
114
+
115
+ ```js
116
+ export default {
117
+ tools: {
118
+ webpackChain: (chain, { webpack }) => {
119
+ chain.plugin('my-progress').use(webpack.ProgressPlugin);
120
+ },
121
+ },
122
+ };
123
+ ```
124
+
125
+ #### HtmlWebpackPlugin
126
+
127
+ - **Type:** `typeof import('html-webpack-plugin')`
128
+
129
+ The HtmlWebpackPlugin instance:
130
+
131
+ ```js
132
+ export default {
133
+ tools: {
134
+ webpackChain: (chain, { HtmlWebpackPlugin }) => {
135
+ console.log(HtmlWebpackPlugin);
136
+ },
137
+ },
138
+ };
139
+ ```
140
+
141
+ #### CHAIN_ID
142
+
143
+ Some common Chain IDs are predefined in the Modern.js, and you can use these IDs to locate the built-in Rule or Plugin.
144
+
145
+ :::tip
146
+ Please note that some of the rules or plugins listed below are not available by default. They will only be included in the webpack configuration when you enable specific options or register certain plugins.
147
+
148
+ For example, the `RULE.STYLUS` rule exists only when the Stylus plugin is registered.
149
+ :::
150
+
151
+ #### CHAIN_ID.RULE
152
+
153
+ | ID | Description |
154
+ | ------------- | ------------------------------------------------------------------------------------------- |
155
+ | `RULE.JS` | Rule for `js` |
156
+ | `RULE.TS` | Rule for `ts` |
157
+ | `RULE.CSS` | Rule for `css` |
158
+ | `RULE.LESS` | Rule for `less` |
159
+ | `RULE.SASS` | Rule for `sass` |
160
+ | `RULE.STYLUS` | Rule for `stylus`(requires [Stylus plugin](https://rsbuild.dev/plugins/list/plugin-stylus)) |
161
+ | `RULE.SVG` | Rule for `svg` |
162
+ | `RULE.PUG` | Rule for `pug` |
163
+ | `RULE.TOML` | Rule for `toml` |
164
+ | `RULE.YAML` | Rule for `yaml` |
165
+ | `RULE.WASM` | Rule for `WASM` |
166
+ | `RULE.NODE` | Rule for `node` |
167
+ | `RULE.FONT` | Rule for `font` |
168
+ | `RULE.IMAGE` | Rule for `image` |
169
+ | `RULE.MEDIA` | Rule for `media` |
170
+
171
+ #### CHAIN_ID.ONE_OF
172
+
173
+ `ONE_OF.XXX` can match a certain type of rule in the rule array.
174
+
175
+ | ID | Description |
176
+ | ------------------- | ------------------------------------------------------------------ |
177
+ | `ONE_OF.SVG` | Rules for SVG, automatic choice between data URI and separate file |
178
+ | `ONE_OF.SVG_URL` | Rules for SVG, output as a separate file |
179
+ | `ONE_OF.SVG_INLINE` | Rules for SVG, inlined into bundles as data URIs |
180
+ | `ONE_OF.SVG_ASSETS` | Rules for SVG, automatic choice between data URI and separate file |
181
+
182
+ #### CHAIN_ID.USE
183
+
184
+ `USE.XXX` can match a certain loader.
185
+
186
+ | ID | Description |
187
+ | --------------------------------- | ---------------------------------------------- |
188
+ | `USE.TS` | correspond to `ts-loader` |
189
+ | `USE.CSS` | correspond to `css-loader` |
190
+ | `USE.LESS` | correspond to `less-loader` |
191
+ | `USE.SASS` | correspond to `sass-loader` |
192
+ | `USE.STYLUS` | correspond to `stylus-loader` |
193
+ | `USE.PUG` | correspond to `pug-loader` |
194
+ | `USE.VUE` | correspond to `vue-loader` |
195
+ | `USE.TOML` | correspond to `toml-loader` |
196
+ | `USE.YAML` | correspond to `yaml-loader` |
197
+ | `USE.NODE` | correspond to `node-loader` |
198
+ | `USE.URL` | correspond to `url-loader` |
199
+ | `USE.SVGR` | correspond to `@svgr/webpack` |
200
+ | `USE.BABEL` | correspond to `babel-loader` |
201
+ | `USE.STYLE` | correspond to `style-loader` |
202
+ | `USE.POSTCSS` | correspond to `postcss-loader` |
203
+ | `USE.CSS_MODULES_TS` | correspond to `css-modules-typescript-loader` |
204
+ | `USE.MINI_CSS_EXTRACT` | correspond to `mini-css-extract-plugin.loader` |
205
+ | `USE.RESOLVE_URL_LOADER_FOR_SASS` | correspond to `resolve-url-loader` |
206
+
207
+ #### CHAIN_ID.PLUGIN
208
+
209
+ `PLUGIN.XXX` can match a certain webpack plugin.
210
+
211
+ | ID | Description |
212
+ | ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
213
+ | `PLUGIN.HMR` | correspond to `HotModuleReplacementPlugin` |
214
+ | `PLUGIN.COPY` | correspond to `CopyWebpackPlugin` |
215
+ | `PLUGIN.HTML` | correspond to `HtmlWebpackPlugin`, you need to splice the entry name when using: `${PLUGIN.HTML}-${entryName}` |
216
+ | `PLUGIN.DEFINE` | correspond to `DefinePlugin` |
217
+ | `PLUGIN.IGNORE` | correspond to `IgnorePlugin` |
218
+ | `PLUGIN.BANNER` | correspond to `BannerPlugin` |
219
+ | `PLUGIN.PROGRESS` | correspond to `Webpackbar` |
220
+ | `PLUGIN.APP_ICON` | correspond to `AppIconPlugin` |
221
+ | `PLUGIN.MANIFEST` | correspond to `WebpackManifestPlugin` |
222
+ | `PLUGIN.TS_CHECKER` | correspond to `ForkTsCheckerWebpackPlugin` |
223
+ | `PLUGIN.INLINE_HTML` | correspond to `InlineChunkHtmlPlugin` |
224
+ | `PLUGIN.BUNDLE_ANALYZER` | correspond to `WebpackBundleAnalyzer` |
225
+ | `PLUGIN.MINI_CSS_EXTRACT` | correspond to `MiniCssExtractPlugin` |
226
+ | `PLUGIN.VUE_LOADER_PLUGIN` | correspond to `VueLoaderPlugin` |
227
+ | `PLUGIN.REACT_FAST_REFRESH` | correspond to `ReactFastRefreshPlugin` |
228
+ | `PLUGIN.NODE_POLYFILL_PROVIDE` | correspond to `ProvidePlugin` for node polyfills |
229
+ | `PLUGIN.SUBRESOURCE_INTEGRITY` | correspond to `webpack-subresource-integrity` |
230
+ | `PLUGIN.ASSETS_RETRY` | correspond to webpack static asset retry plugin |
231
+ | `PLUGIN.AUTO_SET_ROOT_SIZE` | correspond to automatically set root font size plugin |
232
+
233
+ #### CHAIN_ID.MINIMIZER
234
+
235
+ `MINIMIZER.XXX` can match a certain minimizer.
236
+
237
+ | ID | Description |
238
+ | ------------------- | ----------------------------------------- |
239
+ | `MINIMIZER.JS` | correspond to `TerserWebpackPlugin` |
240
+ | `MINIMIZER.CSS` | correspond to `CssMinimizerWebpackPlugin` |
241
+ | `MINIMIZER.ESBUILD` | correspond to `ESBuildPlugin` |
242
+ | `MINIMIZER.SWC` | correspond to `SwcWebpackPlugin` |
243
+
244
+ ### Examples
245
+
246
+ For usage examples, please refer to: [WebpackChain usage examples](https://modernjs.dev/builder/en/guide/advanced/custom-webpack-config.html#webpack-chain-basics).