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

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
@@ -4,6 +4,299 @@ title: webpack
4
4
 
5
5
  # tools.webpack
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/tools/webpack.md';
7
+ - **类型:** `Object | Function | undefined`
8
+ - **默认值:** `undefined`
9
+ - **打包工具:** `仅支持 webpack`
8
10
 
9
- <Main />
11
+ `tools.webpack` 选项用于配置原生的 [webpack](https://webpack.js.org/)。
12
+
13
+ > `tools.bundlerChain` 同样可以修改 webpack 配置,并且功能更加强大,建议优先使用 `tools.bundlerChain`。
14
+
15
+ ### Object 类型
16
+
17
+ `tools.webpack` 可以配置为一个对象,这个对象将会和内置的 webpack 配置通过 [webpack-merge](https://github.com/survivejs/webpack-merge) 进行深层合并。
18
+
19
+ 比如添加 `resolve.alias` 配置:
20
+
21
+ ```js
22
+ export default {
23
+ tools: {
24
+ webpack: {
25
+ resolve: {
26
+ alias: {
27
+ '@util': 'src/util',
28
+ },
29
+ },
30
+ },
31
+ },
32
+ };
33
+ ```
34
+
35
+ ### Function 类型
36
+
37
+ `tools.webpack` 也可以配置为一个函数,这个函数的第一个入参为内置的 webpack 配置对象,你可以对这个对象进行修改,然后返回一份新的配置。比如:
38
+
39
+ ```js
40
+ export default {
41
+ tools: {
42
+ webpack: config => {
43
+ config.resolve.alias['@util'] = 'src/util';
44
+ return config;
45
+ },
46
+ },
47
+ };
48
+ ```
49
+
50
+ :::tip
51
+ `tools.webpack` 函数返回的对象会直接作为最终使用的 webpack 配置,不会再与内置的 webpack 配置进行合并。
52
+ :::
53
+
54
+ ### 工具集合
55
+
56
+ 这个函数的第二个参数是一个对象,包含了一些工具函数和属性,详情如下:
57
+
58
+ #### env
59
+
60
+ - **类型:** `'development' | 'production' | 'test'`
61
+
62
+ 通过 env 参数可以判断当前环境为 development、production 还是 test。比如:
63
+
64
+ ```js
65
+ export default {
66
+ tools: {
67
+ webpack: (config, { env }) => {
68
+ if (env === 'development') {
69
+ config.devtool = 'cheap-module-eval-source-map';
70
+ }
71
+ return config;
72
+ },
73
+ },
74
+ };
75
+ ```
76
+
77
+ #### isProd
78
+
79
+ - **类型:** `boolean`
80
+
81
+ 通过 isProd 参数可以判断当前环境是否为 production。比如:
82
+
83
+ ```js
84
+ export default {
85
+ tools: {
86
+ webpack: (config, { isProd }) => {
87
+ if (isProd) {
88
+ config.devtool = 'source-map';
89
+ }
90
+ return config;
91
+ },
92
+ },
93
+ };
94
+ ```
95
+
96
+ #### target
97
+
98
+ - **类型:** `'web' | 'node' | 'modern-web' | 'web-worker'`
99
+
100
+ 通过 target 参数可以判断当前构建的目标运行时环境。比如:
101
+
102
+ ```js
103
+ export default {
104
+ tools: {
105
+ webpack: (config, { target }) => {
106
+ if (target === 'node') {
107
+ // ...
108
+ }
109
+ return config;
110
+ },
111
+ },
112
+ };
113
+ ```
114
+
115
+ #### isServer
116
+
117
+ - **类型:** `boolean`
118
+
119
+ 判断当前构建的目标运行时环境是否为 `node`,等价于 `target === 'node'`。
120
+
121
+ ```js
122
+ export default {
123
+ tools: {
124
+ webpack: (config, { isServer }) => {
125
+ if (isServer) {
126
+ // ...
127
+ }
128
+ return config;
129
+ },
130
+ },
131
+ };
132
+ ```
133
+
134
+ #### isWebWorker
135
+
136
+ - **类型:** `boolean`
137
+
138
+ 判断当前构建的目标运行时环境是否为 `web-worker`,等价于 `target === 'web-worker'`。
139
+
140
+ ```js
141
+ export default {
142
+ tools: {
143
+ webpack: (config, { isWebWorker }) => {
144
+ if (isWebWorker) {
145
+ // ...
146
+ }
147
+ return config;
148
+ },
149
+ },
150
+ };
151
+ ```
152
+
153
+ #### webpack
154
+
155
+ - **类型:** `typeof import('webpack')`
156
+
157
+ 通过这个参数你可以拿到 webpack 实例。比如:
158
+
159
+ ```js
160
+ export default {
161
+ tools: {
162
+ webpack: (config, { webpack }) => {
163
+ config.plugins.push(new webpack.ProgressPlugin());
164
+ return config;
165
+ },
166
+ },
167
+ };
168
+ ```
169
+
170
+ #### HtmlWebpackPlugin
171
+
172
+ - **类型:** `typeof import('html-webpack-plugin')`
173
+
174
+ 通过这个参数你可以拿到 HtmlWebpackPlugin 实例。
175
+
176
+ ```js
177
+ export default {
178
+ tools: {
179
+ webpack: (chain, { HtmlWebpackPlugin }) => {
180
+ console.log(HtmlWebpackPlugin);
181
+ },
182
+ },
183
+ };
184
+ ```
185
+
186
+ #### addRules
187
+
188
+ - **类型:** `(rules: RuleSetRule | RuleSetRule[]) => void`
189
+
190
+ 添加额外的 [webpack rules](https://webpack.js.org/configuration/module/#modulerules)。
191
+
192
+ 示例:
193
+
194
+ ```ts
195
+ export default {
196
+ tools: {
197
+ webpack: (config, { addRules }) => {
198
+ // 添加单条规则
199
+ addRules({
200
+ test: /\.foo/,
201
+ loader: require.resolve('foo-loader'),
202
+ });
203
+
204
+ // 以数组形式添加多条规则
205
+ addRules([
206
+ {
207
+ test: /\.foo/,
208
+ loader: require.resolve('foo-loader'),
209
+ },
210
+ {
211
+ test: /\.bar/,
212
+ loader: require.resolve('bar-loader'),
213
+ },
214
+ ]);
215
+ },
216
+ },
217
+ };
218
+ ```
219
+
220
+ #### prependPlugins
221
+
222
+ - **类型:** `(plugins: WebpackPluginInstance | WebpackPluginInstance[]) => void`
223
+
224
+ 在内部 webpack 插件数组头部添加额外的插件,数组头部的插件会优先执行。
225
+
226
+ ```ts
227
+ export default {
228
+ tools: {
229
+ webpack: (config, { prependPlugins, webpack }) => {
230
+ // 添加单个插件
231
+ prependPlugins(
232
+ new webpack.BannerPlugin({
233
+ banner: 'hello world!',
234
+ }),
235
+ );
236
+
237
+ // 以数组形式添加多个插件
238
+ prependPlugins([new PluginA(), new PluginB()]);
239
+ },
240
+ },
241
+ };
242
+ ```
243
+
244
+ #### appendPlugins
245
+
246
+ - **类型:** `(plugins: WebpackPluginInstance | WebpackPluginInstance[]) => void`
247
+
248
+ 在内部 webpack 插件数组尾部添加额外的插件,数组尾部的插件会在最后执行。
249
+
250
+ ```ts
251
+ export default {
252
+ tools: {
253
+ webpack: (config, { appendPlugins, webpack }) => {
254
+ // 添加单个插件
255
+ appendPlugins([
256
+ new webpack.BannerPlugin({
257
+ banner: 'hello world!',
258
+ }),
259
+ ]);
260
+
261
+ // 以数组形式添加多个插件
262
+ appendPlugins([new PluginA(), new PluginB()]);
263
+ },
264
+ },
265
+ };
266
+ ```
267
+
268
+ #### removePlugin
269
+
270
+ - **类型:** `(name: string) => void`
271
+
272
+ 删除内部的 webpack 插件,参数为该插件的 `constructor.name`。
273
+
274
+ 例如,删除内部的 [fork-ts-checker-webpack-plugin](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin):
275
+
276
+ ```ts
277
+ export default {
278
+ tools: {
279
+ webpack: (config, { removePlugin }) => {
280
+ removePlugin('ForkTsCheckerWebpackPlugin');
281
+ },
282
+ },
283
+ };
284
+ ```
285
+
286
+ #### mergeConfig
287
+
288
+ - **类型:** `(...configs: WebpackConfig[]) => WebpackConfig`
289
+
290
+ 用于合并多份 webpack 配置,等价于 [webpack-merge](https://github.com/survivejs/webpack-merge)。
291
+
292
+ ```ts
293
+ export default {
294
+ tools: {
295
+ webpack: (config, { mergeConfig }) => {
296
+ return mergeConfig(config, {
297
+ devtool: 'eval',
298
+ });
299
+ },
300
+ },
301
+ };
302
+ ```
@@ -14,7 +14,6 @@
14
14
  },
15
15
  "build-performance",
16
16
  "compatibility",
17
- "eslint",
18
17
  "low-level",
19
18
  "source-build",
20
19
  "web-server"
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
 
5
5
  # 使用 Rspack
6
6
 
7
- import Rspack from '@modern-js/builder-doc/docs/zh/shared/rspackTip.mdx';
7
+ import Rspack from '@site-docs/components/rspackTip.mdx';
8
8
 
9
9
  <Rspack />
10
10
 
@@ -42,7 +42,7 @@ export default defineConfig({
42
42
  如果你当前版本低于 MAJOR_VERSION.59.0,可通过执行 `npx modern upgrade` 进行升级。
43
43
  :::
44
44
 
45
- import RspackPrecautions from '@modern-js/builder-doc/docs/zh/shared/rspackPrecautions.md';
45
+ import RspackPrecautions from '@site-docs/components/rspackPrecautions.mdx';
46
46
 
47
47
  <RspackPrecautions />
48
48
 
@@ -167,7 +167,7 @@ declare module '*.styl' {
167
167
 
168
168
  上述方法虽然可以解决 CSS Modules 在 TypeScript 中的类型问题,但是无法准确地提示出某个 CSS 文件导出了哪些类名。
169
169
 
170
- Builder 支持为 CSS Modules 生成准确的类型声明,你只需要开启 [output.enableCssModuleTSDeclaration](/configure/app/output/enable-css-module-tsdeclaration) 配置项,再执行构建命令,Builder 就会为项目中所有的 CSS Modules 文件生成相应的类型声明文件。
170
+ Modern.js 支持为 CSS Modules 生成准确的类型声明,你只需要开启 [output.enableCssModuleTSDeclaration](/configure/app/output/enable-css-module-tsdeclaration) 配置项,再执行构建命令,Modern.js 就会为项目中所有的 CSS Modules 文件生成相应的类型声明文件。
171
171
 
172
172
  ```ts
173
173
  export default {
@@ -42,7 +42,7 @@ dist
42
42
 
43
43
  ## 修改产物目录
44
44
 
45
- Builder 提供了多个配置项来修改产物目录和产物名称,你可以:
45
+ Modern.js 提供了多个配置项来修改产物目录和产物名称,你可以:
46
46
 
47
47
  - 通过 [output.filename](/configure/app/output/filename) 来修改产物的文件名。
48
48
  - 通过 [output.distPath](/configure/app/output/dist-path) 来修改产物的输出路径。
@@ -158,7 +158,7 @@ dist
158
158
 
159
159
  ## 产物不写入磁盘
160
160
 
161
- 默认情况下,Builder 会将构建产物写入磁盘,以方便开发者查看产物的内容,或是配置静态资源的代理规则。
161
+ 默认情况下,Modern.js 会将构建产物写入磁盘,以方便开发者查看产物的内容,或是配置静态资源的代理规则。
162
162
 
163
163
  在开发环境,你可以选择将构建产物保存在 Dev Server 的内存中,从而减少文件操作产生的开销。
164
164
 
@@ -4,7 +4,7 @@ sidebar_position: 2
4
4
 
5
5
  # 构建工具
6
6
 
7
- Modern.js 内部基于 [Rsbuild](https://rsbuild.dev/) 封装了自身的构建工具(Modern.js Builder),并支持在 Webpack 和 Rspack 两种打包工具间无缝切换。
7
+ Modern.js 构建是基于 [Rsbuild](https://rsbuild.dev/) 实现的,并支持在 Webpack 和 Rspack 两种打包工具间无缝切换。
8
8
 
9
9
  :::tip 什么是 Rsbuild
10
10
  Rsbuild 是基于 Rspack 的构建工具,是一个增强版的 Rspack CLI,更易用、开箱即用。
@@ -12,13 +12,13 @@ BFF 服务作为前端应用程序和服务端 API 之间的中介,可以为
12
12
 
13
13
  ## Bundler
14
14
 
15
- import Bundler from '@modern-js/builder-doc/docs/zh/shared/bundler.md';
15
+ import Bundler from '@site-docs/components/bundler.mdx';
16
16
 
17
17
  <Bundler />
18
18
 
19
19
  ## Builder
20
20
 
21
- import Builder from '@modern-js/builder-doc/docs/zh/shared/builder.md';
21
+ import Builder from '@site-docs/components/builder.mdx';
22
22
 
23
23
  <Builder />
24
24
 
@@ -36,25 +36,25 @@ CSR 是 "Client-Side Rendering"(客户端渲染)的缩写。它表示页面
36
36
 
37
37
  ## Micro-frontend
38
38
 
39
- import MicroFrontend from '@modern-js/builder-doc/docs/zh/shared/micro-frontend.md';
39
+ import MicroFrontend from '@site-docs/components/micro-frontend.mdx';
40
40
 
41
41
  <MicroFrontend />
42
42
 
43
43
  ## Module Federation
44
44
 
45
- import ModuleFederation from '@modern-js/builder-doc/docs/zh/shared/module-federation.md';
45
+ import ModuleFederation from '@site-docs/components/module-federation.mdx';
46
46
 
47
47
  <ModuleFederation />
48
48
 
49
49
  ## Rsbuild
50
50
 
51
- import Rsbuild from '@modern-js/builder-doc/docs/zh/shared/rsbuild.md';
51
+ import Rsbuild from '@site-docs/components/rsbuild.mdx';
52
52
 
53
53
  <Rsbuild />
54
54
 
55
55
  ## Rspack
56
56
 
57
- import Rspack from '@modern-js/builder-doc/docs/zh/shared/rspack.md';
57
+ import Rspack from '@site-docs/components/rspack.mdx';
58
58
 
59
59
  <Rspack />
60
60
 
@@ -76,6 +76,6 @@ SSG 是 "Static Site Generation"(静态网站生成)的缩写。它表示网
76
76
 
77
77
  ## SWC
78
78
 
79
- import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';
79
+ import SWC from '@site-docs/components/swc.mdx';
80
80
 
81
81
  <SWC />
@@ -72,7 +72,7 @@ export default defineConfig({
72
72
 
73
73
  - 提供 `modern dev`, `modern build` 等常用的 CLI 命令。
74
74
  - 集成 Modern.js Core,提供配置解析、插件加载等能力。
75
- - 集成 Modern.js Builder,提供构建能力。
75
+ - 集成 Rsbuild,提供构建能力。
76
76
  - 集成 Modern.js Server,提供开发和生产服务器相关能力。
77
77
 
78
78
  `@modern-js/app-tools` 是基于 Modern.js 的插件体系实现的,本质上是一个插件,因此你需要在配置文件的 `plugins` 字段中注册 `appTools`:
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
 
5
5
  # 微前端介绍
6
6
 
7
- import MicroFrontend from '@modern-js/builder-doc/docs/zh/shared/micro-frontend.md';
7
+ import MicroFrontend from '@site-docs/components/micro-frontend.mdx';
8
8
 
9
9
  <MicroFrontend />
10
10
 
@@ -40,8 +40,8 @@ Modern.js 提供 [inspect 命令](/apis/app/commands.html) 用于查看项目最
40
40
 
41
41
  Inspect config succeed, open following files to view the content:
42
42
 
43
- - Builder Config: /root/my-project/dist/builder.config.js
44
- - Rspack Config (web): /root/my-project/dist/rspack.config.web.js
43
+ - Rsbuild Config: /root/my-project/dist/rsbuild.config.mjs
44
+ - Rspack Config (web): /root/my-project/dist/rspack.config.web.mjs
45
45
  ```
46
46
 
47
47
  ---
@@ -11,7 +11,7 @@ sidebar_position: 2
11
11
 
12
12
  :::
13
13
 
14
- import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';
14
+ import SWC from '@site-docs/components/swc.mdx';
15
15
 
16
16
  <SWC />
17
17
 
@@ -51,9 +51,9 @@ import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';
51
51
 
52
52
  ### 在 Modern.js 框架中使用
53
53
 
54
- Modern.js 框架对 Builder 的 SWC 插件进行了封装,你可以通过以下方式来使用:
54
+ Modern.js 框架对 SWC 插件进行了封装,你可以通过以下方式来使用:
55
55
 
56
- import EnableSWC from '@modern-js/builder-doc/docs/zh/shared/enableSwc.md';
56
+ import EnableSWC from '@site-docs/components/enableSwc.mdx';
57
57
 
58
58
  <EnableSWC />
59
59
 
@@ -285,7 +285,7 @@ boolean | {
285
285
  #### extensions.pluginImport
286
286
 
287
287
  :::tip
288
- Builder 提供了 [source.transformImport](/configure/app/source/transform-import) 配置项,因此你不需要手动配置 `extensions.pluginImport`。
288
+ Modern.js 提供了 [source.transformImport](/configure/app/source/transform-import) 配置项,因此你不需要手动配置 `extensions.pluginImport`。
289
289
  :::
290
290
 
291
291
  移植自 [babel-plugin-import](https://github.com/umijs/babel-plugin-import),配置选项保持一致。
@@ -11,7 +11,7 @@ sidebar_position: 3
11
11
 
12
12
  :::
13
13
 
14
- import Esbuild from '@modern-js/builder-doc/docs/zh/shared/esbuild.md';
14
+ import Esbuild from '@site-docs/components/esbuild.mdx';
15
15
 
16
16
  <Esbuild />
17
17
 
@@ -19,7 +19,7 @@ import Esbuild from '@modern-js/builder-doc/docs/zh/shared/esbuild.md';
19
19
 
20
20
  ### 在 Modern.js 框架中使用
21
21
 
22
- Modern.js 框架默认集成了 Builder 的 esbuild 插件,因此,你不需要手动安装和注册插件,只需要使用 [tools.esbuild](/configure/app/tools/esbuild.html) 配置项即可:
22
+ Modern.js 框架默认集成了 esbuild 插件,因此,你不需要手动安装和注册插件,只需要使用 [tools.esbuild](/configure/app/tools/esbuild.html) 配置项即可:
23
23
 
24
24
  ```js
25
25
  export default defineConfig({
@@ -102,7 +102,7 @@ builderPluginEsbuild({
102
102
 
103
103
  #### 关闭代码转译
104
104
 
105
- 将 `loader` 设置为 `false` 来关闭 esbuild 代码转译,此时 Builder 会继续使用 Babel 来进行代码转译。
105
+ 将 `loader` 设置为 `false` 来关闭 esbuild 代码转译,此时 Modern.js 会继续使用 Babel 来进行代码转译。
106
106
 
107
107
  ```ts
108
108
  builderPluginEsbuild({
@@ -146,7 +146,7 @@ builderPluginEsbuild({
146
146
 
147
147
  #### 关闭代码压缩
148
148
 
149
- 将 `minimize` 设置为 `false` 来关闭 esbuild 代码压缩,此时 Builder 会继续使用 Terser 进行代码压缩。
149
+ 将 `minimize` 设置为 `false` 来关闭 esbuild 代码压缩,此时 Modern.js 会继续使用 Terser 进行代码压缩。
150
150
 
151
151
  ```ts
152
152
  builderPluginEsbuild({
@@ -156,7 +156,7 @@ builderPluginEsbuild({
156
156
 
157
157
  ## esbuild 局限性
158
158
 
159
- 虽然 esbuild 能给现有的 webpack 项目带来明显的构建性能提升,但这个工具在接入 Builder 时还存在一定的局限性,需要大家在接入的时候格外注意。
159
+ 虽然 esbuild 能给现有的 webpack 项目带来明显的构建性能提升,但这个工具在接入 Modern.js 时还存在一定的局限性,需要大家在接入的时候格外注意。
160
160
 
161
161
  ### 兼容性
162
162
 
@@ -190,7 +190,7 @@ builderPluginEsbuild({
190
190
 
191
191
  ### 不支持 Babel 插件
192
192
 
193
- 使用 esbuild 进行代码转译时,诸如 `babel-plugin-import` 等原有 Babel 插件的语法编译功能在开启 esbuild 后无法使用。并且由于 Builder 底层使用的是 esbuild 的 `Transform API`,因此不支持使用额外 esbuild 插件来进行自定义编译过程。
193
+ 使用 esbuild 进行代码转译时,诸如 `babel-plugin-import` 等原有 Babel 插件的语法编译功能在开启 esbuild 后无法使用。并且由于 Modern.js 底层使用的是 esbuild 的 `Transform API`,因此不支持使用额外 esbuild 插件来进行自定义编译过程。
194
194
 
195
195
  如果你有 `babel-plugin-import` 等 Babel 插件相关诉求,可以使用 SWC 插件。
196
196
 
package/package.json CHANGED
@@ -15,17 +15,14 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "0.0.0-nightly-20240912170717",
18
+ "version": "0.0.0-nightly-20240914170654",
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
21
21
  "access": "public",
22
22
  "provenance": true
23
23
  },
24
24
  "dependencies": {
25
- "@modern-js/sandpack-react": "0.0.0-nightly-20240912170717"
26
- },
27
- "peerDependencies": {
28
- "@modern-js/builder-doc": "0.0.0-nightly-20240912170717"
25
+ "@modern-js/sandpack-react": "0.0.0-nightly-20240914170654"
29
26
  },
30
27
  "devDependencies": {
31
28
  "@rspress/shared": "1.31.0",
@@ -38,14 +35,12 @@
38
35
  "react-dom": "^18",
39
36
  "rspress": "1.31.0",
40
37
  "ts-node": "^10.9.1",
41
- "typescript": "^5",
42
- "@modern-js/builder-doc": "0.0.0-nightly-20240912170717"
38
+ "typescript": "^5"
43
39
  },
44
40
  "scripts": {
45
41
  "dev": "rspress dev",
46
42
  "dev:no_lazy": "LAZY=false rspress dev",
47
- "build": "npx ts-node ./scripts/sync.ts",
48
- "build:doc": "rspress build",
43
+ "build": "rspress build",
49
44
  "preview": "rspress preview"
50
45
  }
51
46
  }
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { useLang } from 'rspress/runtime';
3
+
4
+ const RsbuildLInk = ({ configName }: { configName: string }) => {
5
+ const lang = useLang();
6
+ const href = `https://rsbuild.dev/${lang === 'zh' ? 'zh/' : ''}config/${configName
7
+ .split('.')
8
+ .join('/')
9
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
10
+ .toLowerCase()}`;
11
+
12
+ return (
13
+ <a href={href} target="__blank">
14
+ Rsbuild - {configName}
15
+ </a>
16
+ );
17
+ };
18
+
19
+ export default RsbuildLInk;