@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,7 +4,7 @@ title: ssg
4
4
 
5
5
  # output.ssg
6
6
 
7
- - **Type:** `boolean` | `object`
7
+ - **Type:** `boolean | object`
8
8
  - **Default Value:** `undefined`
9
9
 
10
10
  Configuration to enable the application’s SSG (Static Site Generation) feature.
@@ -65,13 +65,14 @@ When the value type is `Object`, the following attributes can be configured.
65
65
 
66
66
  ### Configuration Type
67
67
 
68
-
69
68
  ```ts
70
- type SSGRouteOptions = string | {
71
- url: string;
72
- params?: Record<string, any>[];
73
- headers?: Record<string, any>;
74
- };
69
+ type SSGRouteOptions =
70
+ | string
71
+ | {
72
+ url: string;
73
+ params?: Record<string, any>[];
74
+ headers?: Record<string, any>;
75
+ };
75
76
 
76
77
  type SSGOptions = {
77
78
  preventDefault?: string[];
@@ -91,23 +92,25 @@ export default defineConfig({
91
92
  output: {
92
93
  ssg: {
93
94
  routes: [
94
- '/',
95
- '/about',
95
+ '/',
96
+ '/about',
96
97
  {
97
98
  url: '/user/:id',
98
99
  headers: {
99
- cookies: "name=modernjs"
100
+ cookies: 'name=modernjs',
100
101
  },
101
- params: [{
102
- id: 'modernjs',
103
- }],
104
- }
102
+ params: [
103
+ {
104
+ id: 'modernjs',
105
+ },
106
+ ],
107
+ },
105
108
  ],
106
- }
107
- }
109
+ },
110
+ },
108
111
  });
109
112
  ```
110
113
 
111
114
  :::note
112
115
  The configuration method for multiple entries is the same as for a single entry, so it will not be explained further here.
113
- :::
116
+ :::
@@ -4,6 +4,31 @@ title: svgDefaultExport
4
4
 
5
5
  # output.svgDefaultExport
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/output/svgDefaultExport.md';
7
+ - **Type:** `'url' | 'component'`
8
+ - **Default:** `'url'`
8
9
 
9
- <Main />
10
+ `output.svgDefaultExport` is used to configure the default export type of SVG files.
11
+
12
+ When `output.svgDefaultExport` is set to `url` , the default export of SVG files is the URL of the file. For example:
13
+
14
+ ```js
15
+ import logo from './logo.svg';
16
+
17
+ console.log(logo); // => asset url
18
+ ```
19
+
20
+ When `output.svgDefaultExport` is set to `component` , the default export of SVG files is the React component of the file. For example:
21
+
22
+ ```js
23
+ import Logo from './logo.svg';
24
+
25
+ console.log(Logo); // => React Component
26
+ ```
27
+
28
+ At this time, you can also specify the `?url` query to import the URL, for example:
29
+
30
+ ```js
31
+ import logo from './logo.svg?url';
32
+
33
+ console.log(logo); // => asset url
34
+ ```
@@ -4,6 +4,82 @@ title: buildCache
4
4
 
5
5
  # performance.buildCache
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/buildCache.md';
7
+ - **Type:**
8
8
 
9
- <Main />
9
+ ```ts
10
+ type BuildCacheConfig =
11
+ | {
12
+ /**
13
+ * Base directory for the filesystem cache.
14
+ */
15
+ cacheDirectory?: string;
16
+ /**
17
+ * Set different cache names based on cacheDigest content.
18
+ */
19
+ cacheDigest?: Array<string | undefined>;
20
+ }
21
+ | boolean;
22
+ ```
23
+
24
+ - **Default:**
25
+
26
+ ```js
27
+ const defaultBuildCacheConfig = {
28
+ cacheDirectory: './node_modules/.cache/webpack',
29
+ };
30
+ ```
31
+
32
+ - **Bundler:** `only support webpack`
33
+
34
+ Controls the caching behavior during the build process.
35
+
36
+ Modern.js will enable build cache by default to improve the compile speed, the generated cache files are write to the `./node_modules/.cache/webpack` directory by default.
37
+
38
+ You can configure the cache path with `buildCache`, e.g.
39
+
40
+ ```js
41
+ export default {
42
+ performance: {
43
+ buildCache: {
44
+ cacheDirectory: './node_modules/.custom_cache/webpack',
45
+ },
46
+ },
47
+ };
48
+ ```
49
+
50
+ You can also disable the build cache by setting it to `false`:
51
+
52
+ ```js
53
+ export default {
54
+ performance: {
55
+ buildCache: false,
56
+ },
57
+ };
58
+ ```
59
+
60
+ ### cacheDigest
61
+
62
+ `cacheDigest` is used to add some environment variables that will affect the build results. Modern.js will set the cache name based on the `cacheDigest` content and the current build mode to ensure that different cacheDigests can hit different caches.
63
+
64
+ #### Example
65
+
66
+ The current project needs to set different extensions according to different `APP_ID`. By default, since the code & configuration & dependencies of the current project have not changed, the previous cache will be hit.
67
+
68
+ By adding `APP_ID` to `cacheDigest`, different cache results will be searched when APP_ID changes, thereby avoiding hitting cache results that do not meet expectations.
69
+
70
+ ```js
71
+ export default {
72
+ tools: {
73
+ bundlerChain: (chain: any) => {
74
+ if (process.env.APP_ID === 'xxx') {
75
+ chain.resolve.extensions.prepend('.ttp.ts');
76
+ }
77
+ },
78
+ },
79
+ performance: {
80
+ buildCache: {
81
+ cacheDigest: [process.env.APP_ID],
82
+ },
83
+ },
84
+ };
85
+ ```
@@ -1,9 +1,25 @@
1
1
  ---
2
2
  title: bundleAnalyze
3
+ configName: performance.bundleAnalyze
3
4
  ---
4
5
 
5
6
  # performance.bundleAnalyze
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/bundleAnalyze.md';
8
+ - **Type:** `Object | undefined`
8
9
 
9
- <Main />
10
+ Used to enable the [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) plugin to analyze the size of the output.
11
+
12
+ By default, Modern.js does not enable `webpack-bundle-analyzer`. When this feature is enabled, the default configuration is as follows:
13
+
14
+ ```js
15
+ const defaultConfig = {
16
+ analyzerMode: 'static',
17
+ openAnalyzer: false,
18
+ // Distinguish by target names, such as `web`, `node`, etc.
19
+ reportFilename: `report-${target}.html`,
20
+ };
21
+ ```
22
+
23
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
24
+
25
+ <RsbuildConig />
@@ -1,9 +1,45 @@
1
1
  ---
2
2
  title: chunkSplit
3
+ configName: performance.chunkSplit
3
4
  ---
4
5
 
5
6
  # performance.chunkSplit
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/chunkSplit.md';
8
+ - **Type:** `Object`
9
+ - **Default:** `{ strategy: 'split-by-experience' }`
8
10
 
9
- <Main />
11
+ `performance.chunkSplit` is used to configure the chunk splitting strategy. The type of `ChunkSplit` is as follows:
12
+
13
+ ```ts
14
+ type ForceSplitting = RegExp[] | Record<string, RegExp>;
15
+
16
+ interface BaseChunkSplit {
17
+ strategy?:
18
+ | 'split-by-module'
19
+ | 'split-by-experience'
20
+ | 'all-in-one'
21
+ | 'single-vendor';
22
+ override?: SplitChunks;
23
+ forceSplitting?: ForceSplitting;
24
+ }
25
+
26
+ interface SplitBySize {
27
+ strategy?: 'split-by-size';
28
+ minSize?: number;
29
+ maxSize?: number;
30
+ override?: SplitChunks;
31
+ forceSplitting?: ForceSplitting;
32
+ }
33
+
34
+ interface SplitCustom {
35
+ strategy?: 'custom';
36
+ splitChunks?: SplitChunks;
37
+ forceSplitting?: ForceSplitting;
38
+ }
39
+
40
+ export type ChunkSplit = BaseChunkSplit | SplitBySize | SplitCustom;
41
+ ```
42
+
43
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
44
+
45
+ <RsbuildConig />
@@ -1,9 +1,20 @@
1
1
  ---
2
2
  title: dnsPrefetch
3
+ configName: performance.dnsPrefetch
3
4
  ---
4
5
 
5
6
  # performance.dnsPrefetch
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/dnsPrefetch.md';
8
+ - **Type:** `undefined | string[]`
8
9
 
9
- <Main />
10
+ - **Default:** `undefined`
11
+
12
+ Specifies that the user agent should preemptively perform DNS resolution for the target resource's origin, refer to [dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/dns-prefetch).
13
+
14
+ After this property is set, the domain name can be resolved before the resource is requested, reducing request latency and improving loading performance.
15
+
16
+ See [Using dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch) for more details.
17
+
18
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
19
+
20
+ <RsbuildConig />
@@ -1,9 +1,21 @@
1
1
  ---
2
2
  title: preconnect
3
+ configName: performance.preconnect
3
4
  ---
4
5
 
5
6
  # performance.preconnect
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/preconnect.md';
8
+ - **Type:** `undefined | Array<string | PreconnectOption>`
8
9
 
9
- <Main />
10
+ ```ts
11
+ interface PreconnectOption {
12
+ href: string;
13
+ crossorigin?: boolean;
14
+ }
15
+ ```
16
+
17
+ - **Default:** `undefined`
18
+
19
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
20
+
21
+ <RsbuildConig />
@@ -1,9 +1,26 @@
1
1
  ---
2
2
  title: prefetch
3
+ configName: performance.prefetch
3
4
  ---
4
5
 
5
6
  # performance.prefetch
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/prefetch.md';
8
+ - **Type:** `undefined | true | PrefetchOption`
8
9
 
9
- <Main />
10
+ ```ts
11
+ type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
12
+
13
+ type Filter = Array<string | RegExp> | ((filename: string) => boolean);
14
+
15
+ interface PrefetchOption {
16
+ type?: IncludeType;
17
+ include?: Filter;
18
+ exclude?: Filter;
19
+ }
20
+ ```
21
+
22
+ - **Default:** `undefined`
23
+
24
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
25
+
26
+ <RsbuildConig />
@@ -1,9 +1,28 @@
1
1
  ---
2
2
  title: preload
3
+ configName: performance.preload
3
4
  ---
4
5
 
5
6
  # performance.preload
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/preload.md';
8
+ - **Type:** `undefined | true | PreloadOption`
8
9
 
9
- <Main />
10
+ ```ts
11
+ type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
12
+
13
+ type Filter = Array<string | RegExp> | ((filename: string) => boolean);
14
+
15
+ interface PreloadOption {
16
+ type?: IncludeType;
17
+ include?: Filter;
18
+ exclude?: Filter;
19
+ }
20
+ ```
21
+
22
+ - **Default:** `undefined`
23
+
24
+ Inject the [`<link rel="preload">`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Attributes/rel/preload) tags for the static assets generated by Rsbuild.
25
+
26
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
27
+
28
+ <RsbuildConig />
@@ -1,9 +1,45 @@
1
1
  ---
2
2
  title: printFileSize
3
+ configName: performance.printFileSize
3
4
  ---
4
5
 
5
6
  # performance.printFileSize
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/printFileSize.md';
8
+ - **Type:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type PrintFileSizeOptions =
12
+ | {
13
+ /**
14
+ * whether to print total size
15
+ */
16
+ total?: boolean;
17
+ /**
18
+ * whether to print size of each file
19
+ */
20
+ detail?: boolean;
21
+ /**
22
+ * whether to print gzip-compressed size
23
+ */
24
+ compressed?: boolean;
25
+ }
26
+ | boolean;
27
+ ```
28
+
29
+ - **Default:** `true`
30
+
31
+ Whether to print the file sizes after production build.
32
+
33
+ ```bash
34
+ info Production file sizes:
35
+
36
+ File Size Gzipped
37
+ dist/static/js/lib-react.09721b5c.js 152.6 kB 49.0 kB
38
+ dist/html/main/index.html 5.8 kB 2.5 kB
39
+ dist/static/js/main.3568a38e.js 3.5 kB 1.4 kB
40
+ dist/static/css/main.03221f72.css 1.4 kB 741 B
41
+ ```
42
+
43
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
44
+
45
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: profile
3
+ configName: performance.profile
3
4
  ---
4
5
 
5
6
  # performance.profile
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/profile.md';
8
+ - **Type:** `boolean`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether capture timing information for each module, same as the [profile](https://webpack.js.org/configuration/other-options/#profile) config of Rspack.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: removeConsole
3
+ configName: performance.removeConsole
3
4
  ---
4
5
 
5
6
  # performance.removeConsole
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/removeConsole.md';
8
+ - **Type:** `boolean | ConsoleType[]`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether to remove `console.[methodName]` in production build.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: removeMomentLocale
3
+ configName: performance.removeMomentLocale
3
4
  ---
4
5
 
5
6
  # performance.removeMomentLocale
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/removeMomentLocale.md';
8
+ - **Type:** `boolean`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Whether to remove the locales of [moment.js](https://momentjs.com/).
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,46 @@ title: transformLodash
4
4
 
5
5
  # performance.transformLodash
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/performance/transformLodash.md';
7
+ - **Type:** `boolean`
8
+ - **Default:** `true`
9
+ - **Bundler:** `only support webpack`
8
10
 
9
- <Main />
11
+ Specifies whether to modularize the import of [lodash](https://www.npmjs.com/package/lodash) and remove unused lodash modules to reduce the code size of lodash.
12
+
13
+ This optimization is implemented using [babel-plugin-lodash](https://www.npmjs.com/package/babel-plugin-lodash) and [swc-plugin-lodash](https://github.com/web-infra-dev/swc-plugins/tree/main/crates/plugin_lodash) under the hood.
14
+
15
+ ### Example
16
+
17
+ This option is enabled by default, and Modern.js will automatically redirects the code references of `lodash` to sub-paths.
18
+
19
+ For example:
20
+
21
+ ```ts title="input.js"
22
+ import _ from 'lodash';
23
+ import { add } from 'lodash/fp';
24
+
25
+ const addOne = add(1);
26
+ _.map([1, 2, 3], addOne);
27
+ ```
28
+
29
+ The transformed code will be:
30
+
31
+ ```ts title="output.js"
32
+ import _add from 'lodash/fp/add';
33
+ import _map from 'lodash/map';
34
+
35
+ const addOne = _add(1);
36
+ _map([1, 2, 3], addOne);
37
+ ```
38
+
39
+ ### Disabling the Transformation
40
+
41
+ In some cases, the import transformation of `lodash` may generate unexpected code. In such cases, you can manually disable this optimization:
42
+
43
+ ```js
44
+ export default {
45
+ performance: {
46
+ transformLodash: false,
47
+ },
48
+ };
49
+ ```
@@ -15,7 +15,7 @@ Refer to [How to Develop Plugins](/plugin/plugin-system/implement) for how to wr
15
15
 
16
16
  This option is used to configure framework plugins. If you need to configure other types of plugins, please choose the corresponding configuration method:
17
17
 
18
- - Use [builderPlugins](/configure/app/builder-plugins) to configure Modern.js Builder plugins.
18
+ - Use [builderPlugins](/configure/app/builder-plugins) to configure Rsbuild plugins.
19
19
  - Use [tools.bundlerChain](/configure/app/tools/bundler-chain) to configure Rspack or webpack plugins.
20
20
  - Use [tools.babel](/configure/app/tools/babel) to configure Babel plugins.
21
21
 
@@ -4,6 +4,70 @@ title: checkSyntax
4
4
 
5
5
  # security.checkSyntax
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/security/checkSyntax.md';
7
+ - **Type:**
8
8
 
9
- <Main />
9
+ ```ts
10
+ type CheckSyntax =
11
+ | boolean
12
+ | {
13
+ targets?: string[];
14
+ exclude?: RegExp | RegExp[];
15
+ ecmaVersion?: EcmaVersion;
16
+ };
17
+ ```
18
+
19
+ - **Default:** `false`
20
+
21
+ Used to analyze whether there is incompatible advanced syntax in the build artifacts under the current browser scope. If any incompatible syntax is found, detailed information will be printed to the terminal.
22
+
23
+ ### Enable Detection
24
+
25
+ You can set `checkSyntax` to `true` to enable syntax checking.
26
+
27
+ ```ts
28
+ export default {
29
+ security: {
30
+ checkSyntax: true,
31
+ },
32
+ };
33
+ ```
34
+
35
+ When you enable `checkSyntax`, Modern.js will perform the detection during production builds. If any incompatible advanced syntax is detected in the build artifacts, error logs will be printed to the terminal, and the current build process will be terminated.
36
+
37
+ ### Error Logs
38
+
39
+ The format of the error logs is as follows, including the source file, artifact location, error reason, and source code:
40
+
41
+ ```bash
42
+ error [Syntax Checker] Find some syntax errors after production build:
43
+
44
+ Error 1
45
+ source: /node_modules/foo/index.js:1:0
46
+ output: /dist/static/js/main.3f7a4d7e.js:2:39400
47
+ reason: Unexpected token (1:178)
48
+ code:
49
+ 9 |
50
+ 10 | var b = 2;
51
+ 11 |
52
+ > 12 | console.log(() => {
53
+ 13 | return a + b;
54
+ 14 | });
55
+ 15 |
56
+ ```
57
+
58
+ :::tip
59
+ Currently, syntax checking is implemented based on AST parser. Each time it performs a check, it can only identify the first incompatible syntax found in the file. If there are multiple incompatible syntaxes in the file, you need to fix the detected syntax and re-run the check.
60
+ If the corresponding source location is not shown in the log, try setting **output.disableMinimize** to true and rebuild again.
61
+ :::
62
+
63
+ ### Solutions
64
+
65
+ If a syntax error is detected, you can handle it in the following ways:
66
+
67
+ - If you want to downgrade this syntax to ensure good code compatibility, you can compile the corresponding module through the `source.include` config.
68
+ - If you don't want to downgrade the syntax, you can adjust the project's browserslist to match the syntax.
69
+ - If you do not want to check the syntax of certain products, you can use the `checkSyntax.exclude` configuration to exclude the files to be checked.
70
+
71
+ ### Options
72
+
73
+ `security.checkSyntax` is implemented based on `@rsbuild/plugin-check-syntax`. For specific options, please refer to [@rsbuild/plugin-check-syntax](https://github.com/rspack-contrib/rsbuild-plugin-check-syntax).
@@ -1,9 +1,20 @@
1
1
  ---
2
2
  title: nonce
3
+ configName: security.nonce
3
4
  ---
4
5
 
5
6
  # security.nonce
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/security/nonce.md';
8
+ - **Type:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type Nonce = string;
12
+ ```
13
+
14
+ - **Default:** `undefined`
15
+
16
+ Adding a `nonce` attribute to the scripts resources introduced for HTML. This allows the browser to determine whether the script can be executed when it parses inline scripts with matching nonce values.
17
+
18
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
19
+
20
+ <RsbuildConig />
@@ -1,9 +1,26 @@
1
1
  ---
2
2
  title: sri
3
+ configName: security.sri
3
4
  ---
4
5
 
5
6
  # security.sri
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/security/sri.md';
8
+ - **Type**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type SriOptions = {
12
+ hashFuncNames?: [string, ...string[]];
13
+ enabled?: 'auto' | true | false;
14
+ hashLoading?: 'eager' | 'lazy'; // only support webpack
15
+ };
16
+ ```
17
+
18
+ - **Default:** `undefined`
19
+
20
+ Adding an `integrity` attribute to `<script>` and `<link rel="stylesheet">` tags introduced by HTML allows the browser to verify the integrity of the introduced resource, thus preventing tampering with the downloaded resource.
21
+
22
+ :::info
23
+ For a specific introduction to SRI, you can refer to [Rsbuild security.sri](https://rsbuild.dev/zh/config/security/sri).
24
+
25
+ This configuration type is not completely consistent with Rsbuild and will be automatically converted during the build process.
26
+ :::
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: port
3
+ configName: server.port
3
4
  ---
4
5
 
5
6
  # server.port
@@ -36,3 +37,7 @@ export default defineConfig({
36
37
  },
37
38
  });
38
39
  ```
40
+
41
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
42
+
43
+ <RsbuildConig />