@modern-js/main-doc 2.60.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 (315) hide show
  1. package/docs/en/community/contributing-guide.mdx +0 -1
  2. package/docs/en/components/builder.mdx +3 -0
  3. package/docs/en/components/bundler.mdx +3 -0
  4. package/docs/en/components/enableSwc.mdx +17 -0
  5. package/docs/en/components/esbuild.mdx +3 -0
  6. package/docs/en/components/micro-frontend.mdx +6 -0
  7. package/docs/en/components/module-federation.mdx +7 -0
  8. package/docs/en/components/nodeVersion.mdx +26 -0
  9. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  10. package/docs/en/components/output-polyfill-extend.mdx +0 -0
  11. package/docs/en/components/prerequisites.mdx +1 -1
  12. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  13. package/docs/en/components/rsbuild.mdx +3 -0
  14. package/docs/en/components/rspack.mdx +3 -0
  15. package/docs/en/components/rspackPrecautions.mdx +6 -0
  16. package/docs/en/components/rspackTip.mdx +7 -0
  17. package/docs/en/components/swc.mdx +3 -0
  18. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  19. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  20. package/docs/en/configure/app/dev/client.mdx +20 -16
  21. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  22. package/docs/en/configure/app/dev/host.mdx +15 -2
  23. package/docs/en/configure/app/dev/https.mdx +71 -2
  24. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  25. package/docs/en/configure/app/dev/port.mdx +18 -2
  26. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  27. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  28. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  29. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  30. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  31. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  32. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  33. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  34. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  35. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  36. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  37. package/docs/en/configure/app/html/favicon.mdx +14 -2
  38. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  39. package/docs/en/configure/app/html/inject.mdx +8 -2
  40. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  41. package/docs/en/configure/app/html/meta.mdx +22 -2
  42. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  43. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  44. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  45. package/docs/en/configure/app/html/tags.mdx +13 -2
  46. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  47. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  48. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  49. package/docs/en/configure/app/html/template.mdx +8 -2
  50. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  51. package/docs/en/configure/app/html/title.mdx +16 -2
  52. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  53. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  54. package/docs/en/configure/app/output/charset.mdx +8 -2
  55. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  56. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  57. package/docs/en/configure/app/output/copy.mdx +5 -2
  58. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  59. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  60. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  61. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  62. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  63. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  64. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  65. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  66. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  67. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  68. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  69. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  70. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  71. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  72. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  73. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  74. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  75. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  76. package/docs/en/configure/app/output/externals.mdx +18 -2
  77. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  78. package/docs/en/configure/app/output/filename.mdx +47 -2
  79. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  80. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  81. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  82. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  83. package/docs/en/configure/app/output/minify.mdx +27 -0
  84. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  85. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  86. package/docs/en/configure/app/output/source-map.mdx +30 -0
  87. package/docs/en/configure/app/output/ssg.mdx +20 -17
  88. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  89. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  90. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  91. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  92. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  93. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  94. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  95. package/docs/en/configure/app/performance/preload.mdx +21 -2
  96. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  97. package/docs/en/configure/app/performance/profile.mdx +8 -2
  98. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  99. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  100. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  101. package/docs/en/configure/app/plugins.mdx +1 -1
  102. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  103. package/docs/en/configure/app/security/nonce.mdx +13 -2
  104. package/docs/en/configure/app/security/sri.mdx +19 -2
  105. package/docs/en/configure/app/server/port.mdx +5 -0
  106. package/docs/en/configure/app/server/ssr.mdx +10 -9
  107. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  108. package/docs/en/configure/app/source/alias.mdx +17 -2
  109. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  110. package/docs/en/configure/app/source/decorators.mdx +8 -21
  111. package/docs/en/configure/app/source/define.mdx +14 -2
  112. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  113. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  114. package/docs/en/configure/app/source/exclude.mdx +8 -2
  115. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  116. package/docs/en/configure/app/source/include.mdx +19 -2
  117. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  118. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  119. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  120. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  121. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  122. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  123. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  124. package/docs/en/configure/app/tools/babel.mdx +218 -2
  125. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  126. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  127. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  128. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  129. package/docs/en/configure/app/tools/esbuild.mdx +1 -1
  130. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  131. package/docs/en/configure/app/tools/less.mdx +78 -2
  132. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  133. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  134. package/docs/en/configure/app/tools/pug.mdx +47 -2
  135. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  136. package/docs/en/configure/app/tools/sass.mdx +75 -2
  137. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  138. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  139. package/docs/en/configure/app/tools/swc.mdx +33 -2
  140. package/docs/en/configure/app/tools/terser.mdx +49 -2
  141. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  142. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  143. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  144. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  145. package/docs/en/guides/advanced-features/_meta.json +0 -1
  146. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  147. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  148. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  149. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  150. package/docs/en/guides/concept/builder.mdx +1 -1
  151. package/docs/en/guides/get-started/glossary.mdx +7 -7
  152. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  153. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  154. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  155. package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
  156. package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  157. package/docs/zh/community/contributing-guide.mdx +0 -1
  158. package/docs/zh/components/builder.mdx +3 -0
  159. package/docs/zh/components/bundler.mdx +4 -0
  160. package/docs/zh/components/enableSwc.mdx +17 -0
  161. package/docs/zh/components/esbuild.mdx +3 -0
  162. package/docs/zh/components/micro-frontend.mdx +6 -0
  163. package/docs/zh/components/module-federation.mdx +7 -0
  164. package/docs/zh/components/nodeVersion.mdx +28 -0
  165. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  166. package/docs/zh/components/output-polyfill-extend.mdx +0 -0
  167. package/docs/zh/components/prerequisites.mdx +1 -1
  168. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  169. package/docs/zh/components/rsbuild.mdx +3 -0
  170. package/docs/zh/components/rspack.mdx +3 -0
  171. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  172. package/docs/zh/components/rspackTip.mdx +7 -0
  173. package/docs/zh/components/swc.mdx +3 -0
  174. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  175. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  176. package/docs/zh/configure/app/dev/client.mdx +20 -16
  177. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  178. package/docs/zh/configure/app/dev/host.mdx +15 -2
  179. package/docs/zh/configure/app/dev/https.mdx +72 -2
  180. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  181. package/docs/zh/configure/app/dev/port.mdx +18 -2
  182. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  183. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  184. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  185. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  186. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  187. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  188. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  189. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  190. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  191. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  192. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  193. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  194. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  195. package/docs/zh/configure/app/html/inject.mdx +8 -2
  196. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  197. package/docs/zh/configure/app/html/meta.mdx +22 -2
  198. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  199. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  200. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  201. package/docs/zh/configure/app/html/tags.mdx +13 -2
  202. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  203. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  204. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  205. package/docs/zh/configure/app/html/template.mdx +8 -2
  206. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  207. package/docs/zh/configure/app/html/title.mdx +16 -2
  208. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  209. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  210. package/docs/zh/configure/app/output/charset.mdx +8 -2
  211. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  212. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  213. package/docs/zh/configure/app/output/copy.mdx +6 -2
  214. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  215. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  216. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  217. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  218. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  219. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  220. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  221. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  222. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  223. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  224. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  225. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  226. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  227. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  228. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  229. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  230. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  231. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  232. package/docs/zh/configure/app/output/externals.mdx +18 -2
  233. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  234. package/docs/zh/configure/app/output/filename.mdx +47 -2
  235. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  236. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  237. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  238. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  239. package/docs/zh/configure/app/output/minify.mdx +27 -0
  240. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  241. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  242. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  243. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  244. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  245. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  246. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  247. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  248. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  249. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  250. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  251. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  252. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  253. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  254. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  255. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  256. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  257. package/docs/zh/configure/app/plugins.mdx +1 -1
  258. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  259. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  260. package/docs/zh/configure/app/security/sri.mdx +19 -2
  261. package/docs/zh/configure/app/server/port.mdx +5 -0
  262. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  263. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  264. package/docs/zh/configure/app/source/alias.mdx +17 -2
  265. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  266. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  267. package/docs/zh/configure/app/source/define.mdx +14 -2
  268. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  269. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  270. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  271. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  272. package/docs/zh/configure/app/source/include.mdx +19 -2
  273. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  274. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  275. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  276. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  277. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  278. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  279. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  280. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  281. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  282. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  283. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  284. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  285. package/docs/zh/configure/app/tools/esbuild.mdx +1 -1
  286. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  287. package/docs/zh/configure/app/tools/less.mdx +79 -2
  288. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  289. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  290. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  291. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  292. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  293. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  294. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  295. package/docs/zh/configure/app/tools/swc.mdx +33 -2
  296. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  297. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  298. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  299. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  300. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  301. package/docs/zh/guides/advanced-features/_meta.json +0 -1
  302. package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
  303. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  304. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  305. package/docs/zh/guides/concept/builder.mdx +1 -1
  306. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  307. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  308. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  309. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  310. package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
  311. package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  312. package/package.json +6 -12
  313. package/src/components/RsbuildLink/index.tsx +19 -0
  314. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  315. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
@@ -4,6 +4,439 @@ title: devServer
4
4
 
5
5
  # tools.devServer
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/devServer.md';
7
+ - **Type:** `Object`
8
+ - **Default:** `{}`
8
9
 
9
- <Main />
10
+ The config of DevServer can be modified through `tools.devServer`.
11
+
12
+ :::tip
13
+ Modern.js does not directly use [webpack-dev-server](https://webpack.js.org/api/webpack-dev-server/) or [@rspack/dev-server](https://www.rspack.dev/guide/dev-server.html), but implement DevServer based on [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware).
14
+ :::
15
+
16
+ ### Options
17
+
18
+ #### after
19
+
20
+ :::warning
21
+ **Deprecated**: This configuration is deprecated, please use [dev.setupMiddlewares](https://modernjs.dev/en/configure/app/dev/setup-middlewares) instead.
22
+ :::
23
+
24
+ - **Type:** `Array`
25
+ - **Default:** `[]`
26
+
27
+ Provides the ability to execute custom middleware after all other middleware internally within the server.
28
+
29
+ ```js
30
+ export default {
31
+ tools: {
32
+ devServer: {
33
+ after: [
34
+ async (req, res, next) => {
35
+ console.log('after dev middleware');
36
+ next();
37
+ },
38
+ ],
39
+ },
40
+ },
41
+ };
42
+ ```
43
+
44
+ `webpack-dev-server` uses Express as the server-side framework. Modern.js does not use any framework, and the `req` and `res` in the above middleware are all native Node objects. Therefore, the Express middleware used in `webpack-dev-server` may not be directly usable in Modern.js.
45
+
46
+ If you want to migrate the Express middleware used in `webpack-dev-server`, you can use the following method to pass the Express app as middleware:
47
+
48
+ ```js
49
+ import expressMiddleware from 'my-express-middleware';
50
+ import express from 'express';
51
+
52
+ // init Express app
53
+ const app = express();
54
+ app.use(expressMiddleware);
55
+
56
+ export default {
57
+ tools: {
58
+ devServer: {
59
+ after: [app],
60
+ },
61
+ },
62
+ };
63
+ ```
64
+
65
+ #### before
66
+
67
+ :::warning
68
+ **Deprecated**: This configuration is deprecated, please use [dev.setupMiddlewares](https://modernjs.dev/en/configure/app/dev/setup-middlewares) instead.
69
+ :::
70
+
71
+ - **Type:** `Array`
72
+ - **Default:** `[]`
73
+
74
+ Provides the ability to execute custom middleware prior to all other middleware internally within the server.
75
+
76
+ ```js
77
+ export default {
78
+ tools: {
79
+ devServer: {
80
+ before: [
81
+ async (req, res, next) => {
82
+ console.log('before dev middleware');
83
+ next();
84
+ },
85
+ ],
86
+ },
87
+ },
88
+ };
89
+ ```
90
+
91
+ #### client
92
+
93
+ :::warning
94
+ **Deprecated**: This configuration is deprecated, please use [dev.client](https://modernjs.dev/en/configure/app/dev/client) instead.
95
+ :::
96
+
97
+ - **Type:**
98
+
99
+ ```ts
100
+ {
101
+ /** Specify a protocol to use */
102
+ protocol?: string;
103
+ /** The path which the middleware is serving the event stream on */
104
+ path?: string;
105
+ /** Specify a port number to listen for requests on */
106
+ port?: string;
107
+ /** Specify a host to use */
108
+ host?: string;
109
+ }
110
+ ```
111
+
112
+ - **Default:**
113
+
114
+ ```js
115
+ const defaultConfig = {
116
+ path: '/webpack-hmr',
117
+ // By default it is set to the port number of the dev server
118
+ port: '',
119
+ // By default it is set to "location.hostname"
120
+ host: '',
121
+ // By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
122
+ protocol: '',
123
+ };
124
+ ```
125
+
126
+ The config of HMR client, which are usually used to set the WebSocket URL of HMR.
127
+
128
+ #### compress
129
+
130
+ - **Type:** `boolean`
131
+ - **Default:** `true`
132
+
133
+ Whether to enable gzip compression for served static assets.
134
+
135
+ If you want to disable the gzip compression, you can set `compress` to `false`:
136
+
137
+ ```ts
138
+ export default {
139
+ tools: {
140
+ devServer: {
141
+ compress: false,
142
+ },
143
+ },
144
+ };
145
+ ```
146
+
147
+ #### devMiddleware
148
+
149
+ :::warning
150
+ **Deprecated**: This configuration is deprecated, please use [dev.writeToDisk](https://modernjs.dev/en/configure/app/dev/write-to-disk) instead.
151
+ :::
152
+
153
+ - **Type:**
154
+
155
+ ```js
156
+ {
157
+ writeToDisk: boolean | ((filename: string) => boolean);
158
+ }
159
+ ```
160
+
161
+ - **Default:**
162
+
163
+ ```js
164
+ {
165
+ writeToDisk: (file: string) => !file.includes('.hot-update.'),
166
+ }
167
+ ```
168
+
169
+ The config of devMiddleware. Current options is the subset of [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware).
170
+
171
+ #### headers
172
+
173
+ - **Type:** `Record<string, string>`
174
+ - **Default:** `undefined`
175
+
176
+ Adds headers to all responses.
177
+
178
+ ```js
179
+ export default {
180
+ tools: {
181
+ devServer: {
182
+ headers: {
183
+ 'X-Custom-Foo': 'bar',
184
+ },
185
+ },
186
+ },
187
+ };
188
+ ```
189
+
190
+ #### historyApiFallback
191
+
192
+ - **Type:** `boolean | ConnectHistoryApiFallbackOptions`
193
+ - **Default:** `false`
194
+
195
+ The index.html page will likely have to be served in place of any 404 responses. Enable `devServer.historyApiFallback` by setting it to `true`:
196
+
197
+ ```js
198
+ export default {
199
+ tools: {
200
+ devServer: {
201
+ historyApiFallback: true,
202
+ },
203
+ },
204
+ };
205
+ ```
206
+
207
+ For more options and information, see the [connect-history-api-fallback](https://github.com/bripkens/connect-history-api-fallback) documentation.
208
+
209
+ #### hot
210
+
211
+ :::warning
212
+ **Deprecated**: This configuration is deprecated, please use [dev.hmr](https://modernjs.dev/en/configure/app/dev/hmr) instead.
213
+ :::
214
+
215
+ - **Type:** `boolean`
216
+ - **Default:** `true`
217
+
218
+ Enable [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) feature.
219
+
220
+ #### https
221
+
222
+ :::warning
223
+ **Deprecated**: This configuration is deprecated, please use [dev.https](https://modernjs.dev/en/configure/app/dev/https) instead.
224
+ :::
225
+
226
+ - **Type:** `boolean | { key: string; cert: string }`
227
+ - **Default:** `false`
228
+
229
+ By default, DevServer will be served over HTTP. It can optionally be served over HTTPS by setting `devServer.https` to `true`, and will disable the HTTP server.
230
+
231
+ You can also manually pass in the certificate and corresponding private key required by the HTTPS server:
232
+
233
+ ```ts
234
+ export default {
235
+ tools: {
236
+ devServer: {
237
+ https: {
238
+ key: fs.readFileSync('certificates/private.pem'),
239
+ cert: fs.readFileSync('certificates/public.pem'),
240
+ },
241
+ },
242
+ },
243
+ };
244
+ ```
245
+
246
+ #### liveReload
247
+
248
+ :::warning
249
+ **Deprecated**: This configuration is deprecated, please use [dev.liveReload](https://modernjs.dev/en/configure/app/dev/live-reload) instead.
250
+ :::
251
+
252
+ - **Type:** `boolean`
253
+ - **Default:** `true`
254
+
255
+ By default, the DevServer will reload/refresh the page when file changes are detected (`devServer.hot` option must be disabled in order for liveReload to take effect). Disable `devServer.liveReload` by setting it to `false`.
256
+
257
+ #### setupMiddlewares
258
+
259
+ :::warning
260
+ **Deprecated**: This configuration is deprecated, please use [dev.setupMiddlewares](https://modernjs.dev/en/configure/app/dev/setup-middlewares) instead.
261
+ :::
262
+
263
+ - **Type:**
264
+
265
+ ```js
266
+ Array<
267
+ (
268
+ middlewares: {
269
+ unshift: (...handlers: RequestHandler[]) => void;
270
+ push: (...handlers: RequestHandler[]) => void;
271
+ },
272
+ server: {
273
+ sockWrite: (
274
+ type: string,
275
+ data?: string | boolean | Record<string, any>,
276
+ ) => void;
277
+ },
278
+ ) => void
279
+ >;
280
+ ```
281
+
282
+ - **Default:** `undefined`
283
+
284
+ Provides the ability to execute a custom function and apply custom middlewares.
285
+
286
+ The order among several different types of middleware is: `devServer.before` => `unshift` => internal middlewares => `push` => `devServer.after`.
287
+
288
+ ```js
289
+ export default {
290
+ tools: {
291
+ devServer: {
292
+ setupMiddlewares: [
293
+ (middlewares, server) => {
294
+ middlewares.unshift((req, res, next) => {
295
+ next();
296
+ });
297
+
298
+ middlewares.push((req, res, next) => {
299
+ next();
300
+ });
301
+ },
302
+ ],
303
+ },
304
+ },
305
+ };
306
+ ```
307
+
308
+ It is possible to use some server api to meet special scenario requirements:
309
+
310
+ - sockWrite. Allow send some message to hmr client, and then the hmr client will take different actions depending on the message type. If you send a "content changed" message, the page will reload.
311
+
312
+ ```js
313
+ export default {
314
+ tools: {
315
+ devServer: {
316
+ setupMiddlewares: [
317
+ (middlewares, server) => {
318
+ // add custom watch & trigger page reload when change
319
+ watcher.on('change', changed => {
320
+ server.sockWrite('content-changed');
321
+ });
322
+ },
323
+ ],
324
+ },
325
+ },
326
+ };
327
+ ```
328
+
329
+ #### proxy
330
+
331
+ - **Type:** `Record<string, string> | Record<string, ProxyDetail>`
332
+ - **Default:** `undefined`
333
+
334
+ Proxying some URLs.
335
+
336
+ ```js
337
+ export default {
338
+ tools: {
339
+ devServer: {
340
+ proxy: {
341
+ '/api': 'http://localhost:3000',
342
+ },
343
+ },
344
+ },
345
+ };
346
+ ```
347
+
348
+ A request to /api/users will now proxy the request to http://localhost:3000/api/users.
349
+
350
+ If you don't want /api to be passed along, we need to rewrite the path:
351
+
352
+ ```js
353
+ export default {
354
+ tools: {
355
+ devServer: {
356
+ proxy: {
357
+ '/api': {
358
+ target: 'http://localhost:3000',
359
+ pathRewrite: { '^/api': '' },
360
+ },
361
+ },
362
+ },
363
+ },
364
+ };
365
+ ```
366
+
367
+ The DevServer Proxy makes use of the [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware/tree/2.x) package. Check out its documentation for more advanced usages.
368
+
369
+ The full type definition of DevServer Proxy is:
370
+
371
+ ```ts
372
+ import type { Options as HttpProxyOptions } from 'http-proxy-middleware';
373
+
374
+ type Filter = string | string[] | ((pathname: string, req: Request) => boolean);
375
+
376
+ type ProxyDetail = HttpProxyOptions & {
377
+ bypass?: (
378
+ req: IncomingMessage,
379
+ res: ServerResponse,
380
+ proxyOptions: ProxyOptions,
381
+ ) => string | undefined | null | false;
382
+ context?: Filter;
383
+ };
384
+
385
+ type ProxyOptions =
386
+ | Record<string, string>
387
+ | Record<string, ProxyDetail>
388
+ | ProxyDetail[]
389
+ | ProxyDetail;
390
+ ```
391
+
392
+ In addition to the http-proxy-middleware option, we also support the bypass and context configuration:
393
+
394
+ - bypass: bypass the proxy based on the return value of a function.
395
+ - Return `null` or `undefined` to continue processing the request with proxy.
396
+ - Return `false` to produce a 404 error for the request.
397
+ - Return a path to serve from, instead of continuing to proxy the request.
398
+ - context: If you want to proxy multiple, specific paths to the same target, you can use an array of one or more objects with a context property.
399
+
400
+ ```js
401
+ // custom bypass
402
+ export default {
403
+ tools: {
404
+ devServer: {
405
+ proxy: {
406
+ '/api': {
407
+ target: 'http://localhost:3000',
408
+ bypass: function (req, res, proxyOptions) {
409
+ if (req.headers.accept.indexOf('html') !== -1) {
410
+ console.log('Skipping proxy for browser request.');
411
+ return '/index.html';
412
+ }
413
+ },
414
+ },
415
+ },
416
+ },
417
+ },
418
+ };
419
+ ```
420
+
421
+ ```js
422
+ // proxy multiple
423
+ export default {
424
+ tools: {
425
+ devServer: {
426
+ proxy: [
427
+ {
428
+ context: ['/auth', '/api'],
429
+ target: 'http://localhost:3000',
430
+ },
431
+ ],
432
+ },
433
+ },
434
+ };
435
+ ```
436
+
437
+ #### watch
438
+
439
+ - **Type:** `boolean`
440
+ - **Default:** `true`
441
+
442
+ Whether to watch files change in directories such as `mock/`, `server/`, `api/`.
@@ -16,7 +16,7 @@ Please refer to [「Use Rspack」](/guides/advanced-features/rspack-start.html)
16
16
 
17
17
  ## Introduction
18
18
 
19
- import Esbuild from '@modern-js/builder-doc/docs/en/shared/esbuild.md';
19
+ import Esbuild from '@site-docs-en/components/esbuild.mdx';
20
20
 
21
21
  <Esbuild />
22
22
 
@@ -1,9 +1,28 @@
1
1
  ---
2
2
  title: htmlPlugin
3
+ configName: tools.htmlPlugin
3
4
  ---
4
5
 
5
6
  # tools.htmlPlugin
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/htmlPlugin.md';
8
+ - **Type:** `boolean | Object | Function`
9
+ - **Default:**
8
10
 
9
- <Main />
11
+ ```js
12
+ const defaultOptions = {
13
+ meta, // 对应 `html.meta` 配置
14
+ title, // 对应 `html.title` 配置
15
+ inject, // 对应 `html.inject` 配置
16
+ favicon, // 对应 `html.favicon` 配置
17
+ template, // 对应 `html.template` 配置
18
+ filename, // 基于 `output.distPath` 和 `entryName` 生成
19
+ templateParameters, // 对应 `html.templateParameters` 配置
20
+ chunks: [entryName],
21
+ };
22
+ ```
23
+
24
+ The configs of [html-rspack-plugin](https://github.com/rspack-contrib/html-rspack-plugin) or [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) can be modified through `tools.htmlPlugin`.
25
+
26
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
27
+
28
+ <RsbuildConig />
@@ -4,6 +4,82 @@ title: less
4
4
 
5
5
  # tools.less
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/less.md';
7
+ - **Type:** `Object | Function`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ const defaultOptions = {
12
+ lessOptions: {
13
+ javascriptEnabled: true,
14
+ },
15
+ // CSS Source Map enabled by default in development environment
16
+ sourceMap: isDev,
17
+ };
18
+ ```
19
+
20
+ You can modify the config of [less-loader](https://github.com/webpack-contrib/less-loader) via `tools.less`.
21
+
22
+ ### Object Type
23
+
24
+ When `tools.less` is configured as `Object` type, it is merged with the default config through Object.assign in a shallow way. It should be noted that `lessOptions` is merged through deepMerge in a deep way. For example:
25
+
26
+ ```js
27
+ export default {
28
+ tools: {
29
+ less: {
30
+ lessOptions: {
31
+ javascriptEnabled: false,
32
+ },
33
+ },
34
+ },
35
+ };
36
+ ```
37
+
38
+ ### Function Type
39
+
40
+ When `tools.less` is a Function, the default config is passed as the first parameter, which can be directly modified or returned as the final result. The second parameter provides some utility functions that can be called directly. For example:
41
+
42
+ ```js
43
+ export default {
44
+ tools: {
45
+ less(config) {
46
+ // Modify the config of lessOptions
47
+ config.lessOptions = {
48
+ javascriptEnabled: false,
49
+ };
50
+ },
51
+ },
52
+ };
53
+ ```
54
+
55
+ ### Modifying Less Version
56
+
57
+ In some scenarios, if you need to use a specific version of Less instead of the built-in Less v4 in Modern.js, you can install the desired Less version in your project and set it up using the `implementation` option of the `less-loader`.
58
+
59
+ ```js
60
+ export default {
61
+ tools: {
62
+ less: {
63
+ implementation: require('less'),
64
+ },
65
+ },
66
+ };
67
+ ```
68
+
69
+ ### Util Function
70
+
71
+ #### addExcludes
72
+
73
+ - **Type:** `(excludes: RegExp | RegExp[]) => void`
74
+
75
+ Used to specify which files `less-loader` does not compile, You can pass in one or more regular expressions to match the path of less files, for example:
76
+
77
+ ```js
78
+ export default {
79
+ tools: {
80
+ less(config, { addExcludes }) {
81
+ addExcludes(/node_modules/);
82
+ },
83
+ },
84
+ };
85
+ ```
@@ -4,6 +4,54 @@ title: minifyCss
4
4
 
5
5
  # tools.minifyCss
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/minifyCss.md';
7
+ - **Type:** `Object | Function | undefined`
8
+ - **Default:**
8
9
 
9
- <Main />
10
+ ```js
11
+ const defaultOptions = {
12
+ minimizerOptions: {
13
+ preset: [
14
+ 'default',
15
+ {
16
+ mergeLonghand: false,
17
+ },
18
+ ],
19
+ },
20
+ };
21
+ ```
22
+
23
+ When building for production, Modern.js will minimize the CSS code through [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin). The config of [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin) can be modified via `tools.minifyCss`.
24
+
25
+ ### Object Type
26
+
27
+ When `tools.minifyCss` is `Object` type, it will be merged with the default config via `Object.assign`.
28
+
29
+ For example, modify the `preset` config of [cssnano](https://cssnano.co/):
30
+
31
+ ```js
32
+ export default {
33
+ tools: {
34
+ minifyCss: {
35
+ minimizerOptions: {
36
+ preset: require.resolve('cssnano-preset-simple'),
37
+ },
38
+ },
39
+ },
40
+ };
41
+ ```
42
+
43
+ ### Function Type
44
+
45
+ When `tools.minifyCss` is `Function` type, the default config is passed in as the first parameter, the config object can be modified directly, or a value can be returned as the final result.
46
+
47
+ ```js
48
+ export default {
49
+ tools: {
50
+ minifyCss: options => {
51
+ options.minimizerOptions = {
52
+ preset: require.resolve('cssnano-preset-simple'),
53
+ },
54
+ }
55
+ }
56
+ };
57
+ ```
@@ -1,9 +1,37 @@
1
1
  ---
2
2
  title: postcss
3
+ configName: tools.postcss
3
4
  ---
4
5
 
5
6
  # tools.postcss
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/postcss.md';
8
+ - **Type:** `Object | Function`
9
+ - **Default:**
8
10
 
9
- <Main />
11
+ ```js
12
+ const defaultOptions = {
13
+ postcssOptions: {
14
+ plugins: [
15
+ // 以下插件默认启用
16
+ require('postcss-nesting'),
17
+ require('postcss-media-minmax'),
18
+ require('postcss-flexbugs-fixes'),
19
+ require('autoprefixer')({
20
+ flexbox: 'no-2009',
21
+ }),
22
+ // 以下插件仅在需要兼容低版本浏览器时启用
23
+ require('postcss-custom-properties'),
24
+ require('postcss-initial'),
25
+ require('postcss-page-break'),
26
+ require('postcss-font-variant'),
27
+ ],
28
+ // 默认在开发环境下启用 CSS 的 Source Map
29
+ sourceMap: isDev,
30
+ },
31
+ };
32
+ ```
33
+ Modern.js integrates PostCSS by default, you can configure [postcss-loader](https://github.com/webpack-contrib/postcss-loader) through `tools.postcss`.
34
+
35
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
36
+
37
+ <RsbuildConig />
@@ -4,6 +4,51 @@ title: pug
4
4
 
5
5
  # tools.pug
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/tools/pug.md';
7
+ - **Type:** `true | Object | Function | undefined`
8
+ - **Default:** `false`
8
9
 
9
- <Main />
10
+ Configure the [Pug](https://pugjs.org/) template engine.
11
+
12
+ ### Boolean Type
13
+
14
+ Pug template engine is not enabled by default, you can enable it by setting `tools.pug` to `true`.
15
+
16
+ ```ts
17
+ export default {
18
+ tools: {
19
+ pug: true,
20
+ },
21
+ };
22
+ ```
23
+
24
+ When enabled, you can use `index.pug` as the template file in `html.template` config.
25
+
26
+ ### Object Type
27
+
28
+ When `tools.terser` is `Object` type, you can passing the Pug options:
29
+
30
+ ```ts
31
+ export default {
32
+ tools: {
33
+ pug: {
34
+ doctype: 'xml',
35
+ },
36
+ },
37
+ };
38
+ ```
39
+
40
+ For detailed options, please refer to [Pug API Reference](https://pugjs.org/api/reference.html#options).
41
+
42
+ ### Function Type
43
+
44
+ When `tools.pug` is `Function` type, the default configuration is passed in as the first parameter, the configuration object can be modified directly, or a value can be returned as the final result.
45
+
46
+ ```ts
47
+ export default {
48
+ tools: {
49
+ pug(config) {
50
+ config.doctype = 'xml';
51
+ },
52
+ },
53
+ };
54
+ ```