@modern-js/main-doc 2.60.0 → 2.60.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) 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 +33 -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/_meta.json +0 -6
  155. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  156. package/docs/en/guides/topic-detail/model/quick-start.mdx +5 -0
  157. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  158. package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
  159. package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  160. package/docs/zh/apis/app/commands.mdx +0 -18
  161. package/docs/zh/community/contributing-guide.mdx +0 -1
  162. package/docs/zh/components/builder.mdx +3 -0
  163. package/docs/zh/components/bundler.mdx +4 -0
  164. package/docs/zh/components/enableSwc.mdx +17 -0
  165. package/docs/zh/components/esbuild.mdx +3 -0
  166. package/docs/zh/components/micro-frontend.mdx +6 -0
  167. package/docs/zh/components/module-federation.mdx +7 -0
  168. package/docs/zh/components/nodeVersion.mdx +28 -0
  169. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  170. package/docs/zh/components/output-polyfill-extend.mdx +1 -0
  171. package/docs/zh/components/prerequisites.mdx +1 -1
  172. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  173. package/docs/zh/components/rsbuild.mdx +3 -0
  174. package/docs/zh/components/rspack.mdx +3 -0
  175. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  176. package/docs/zh/components/rspackTip.mdx +7 -0
  177. package/docs/zh/components/swc.mdx +3 -0
  178. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  179. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  180. package/docs/zh/configure/app/dev/client.mdx +20 -16
  181. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  182. package/docs/zh/configure/app/dev/host.mdx +15 -2
  183. package/docs/zh/configure/app/dev/https.mdx +72 -2
  184. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  185. package/docs/zh/configure/app/dev/port.mdx +18 -2
  186. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  187. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  188. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  189. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  190. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  191. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  192. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  193. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  194. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  195. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  196. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  197. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  198. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  199. package/docs/zh/configure/app/html/inject.mdx +8 -2
  200. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  201. package/docs/zh/configure/app/html/meta.mdx +22 -2
  202. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  203. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  204. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  205. package/docs/zh/configure/app/html/tags.mdx +13 -2
  206. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  207. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  208. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  209. package/docs/zh/configure/app/html/template.mdx +8 -2
  210. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  211. package/docs/zh/configure/app/html/title.mdx +16 -2
  212. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  213. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  214. package/docs/zh/configure/app/output/charset.mdx +8 -2
  215. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  216. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  217. package/docs/zh/configure/app/output/copy.mdx +6 -2
  218. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  219. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  220. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  221. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  222. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  223. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  224. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  225. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  226. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  227. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  228. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  229. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  230. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  231. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  232. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  233. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  234. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  235. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  236. package/docs/zh/configure/app/output/externals.mdx +18 -2
  237. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  238. package/docs/zh/configure/app/output/filename.mdx +47 -2
  239. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  240. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  241. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  242. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  243. package/docs/zh/configure/app/output/minify.mdx +27 -0
  244. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  245. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  246. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  247. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  248. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  249. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  250. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  251. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  252. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  253. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  254. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  255. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  256. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  257. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  258. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  259. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  260. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  261. package/docs/zh/configure/app/plugins.mdx +1 -1
  262. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  263. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  264. package/docs/zh/configure/app/security/sri.mdx +19 -2
  265. package/docs/zh/configure/app/server/port.mdx +5 -0
  266. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  267. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  268. package/docs/zh/configure/app/source/alias.mdx +17 -2
  269. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  270. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  271. package/docs/zh/configure/app/source/define.mdx +14 -2
  272. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  273. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  274. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  275. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  276. package/docs/zh/configure/app/source/include.mdx +19 -2
  277. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  278. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  279. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  280. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  281. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  282. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  283. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  284. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  285. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  286. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  287. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  288. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  289. package/docs/zh/configure/app/tools/esbuild.mdx +1 -1
  290. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  291. package/docs/zh/configure/app/tools/less.mdx +79 -2
  292. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  293. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  294. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  295. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  296. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  297. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  298. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  299. package/docs/zh/configure/app/tools/swc.mdx +33 -2
  300. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  301. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  302. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  303. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  304. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  305. package/docs/zh/guides/advanced-features/_meta.json +0 -1
  306. package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
  307. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  308. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  309. package/docs/zh/guides/concept/builder.mdx +1 -1
  310. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  311. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  312. package/docs/zh/guides/topic-detail/_meta.json +0 -6
  313. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  314. package/docs/zh/guides/topic-detail/model/quick-start.mdx +5 -0
  315. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  316. package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
  317. package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  318. package/package.json +6 -11
  319. package/src/components/RsbuildLink/index.tsx +19 -0
  320. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  321. /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`:
@@ -10,11 +10,5 @@
10
10
  "name": "model",
11
11
  "label": "reduck",
12
12
  "collapsed": true
13
- },
14
- {
15
- "type": "dir",
16
- "name": "generator",
17
- "label": "generator",
18
- "collapsed": true
19
13
  }
20
14
  ]
@@ -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
 
@@ -2,6 +2,11 @@
2
2
  sidebar_position: 1
3
3
  title: 快速上手
4
4
  ---
5
+
6
+ :::caution
7
+ 新项目不再推荐使用 Reduck,可以使用社区中的状态管理工具,例如 [Jotai](https://jotai.org/)、[zustand](https://zustand.docs.pmnd.rs/getting-started/introduction)、[valtio](https://valtio.dev/docs/introduction/getting-started) 等。
8
+ :::
9
+
5
10
  # 快速上手
6
11
 
7
12
  import ReduckMigration from "@site-docs/components/reduck-migration"
@@ -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,20 +15,17 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.60.0",
18
+ "version": "2.60.1",
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": "2.60.0"
26
- },
27
- "peerDependencies": {
28
- "@modern-js/builder-doc": "^2.60.0"
25
+ "@modern-js/sandpack-react": "2.60.1"
29
26
  },
30
27
  "devDependencies": {
31
- "@rspress/shared": "1.28.2",
28
+ "@rspress/shared": "1.31.0",
32
29
  "@types/fs-extra": "9.0.13",
33
30
  "@types/node": "^16",
34
31
  "classnames": "^2",
@@ -36,16 +33,14 @@
36
33
  "fs-extra": "^10",
37
34
  "react": "^18",
38
35
  "react-dom": "^18",
39
- "rspress": "1.28.2",
36
+ "rspress": "1.31.0",
40
37
  "ts-node": "^10.9.1",
41
- "typescript": "^5",
42
- "@modern-js/builder-doc": "2.60.0"
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;