@modern-js/main-doc 2.69.7 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/docs/en/{_meta.json → _nav.json} +5 -1
  2. package/docs/en/apis/app/commands.mdx +8 -33
  3. package/docs/en/apis/app/hooks/src/entry.mdx +1 -5
  4. package/docs/en/apis/app/hooks/src/entry.server.mdx +4 -5
  5. package/docs/en/apis/app/hooks/src/routes.mdx +2 -2
  6. package/docs/en/apis/app/runtime/_meta.json +0 -18
  7. package/docs/en/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  8. package/docs/en/apis/app/runtime/router/router.mdx +1 -1
  9. package/docs/en/apis/app/runtime/utility/css-in-js.mdx +3 -2
  10. package/docs/en/community/blog/v2-release-note.mdx +0 -2
  11. package/docs/en/community/contributing-guide.mdx +10 -12
  12. package/docs/en/components/bff-upload.mdx +19 -17
  13. package/docs/en/components/build-output.mdx +45 -0
  14. package/docs/en/components/bundler.mdx +1 -1
  15. package/docs/en/components/debug-app.mdx +1 -1
  16. package/docs/en/components/enable-bff-caution.mdx +2 -2
  17. package/docs/en/components/enable-bff.mdx +42 -8
  18. package/docs/en/components/enable-ssg.mdx +49 -0
  19. package/docs/en/components/entry-scan-logic.mdx +7 -0
  20. package/docs/en/components/esbuild.mdx +2 -2
  21. package/docs/en/components/extend-bff-function.mdx +2 -4
  22. package/docs/en/components/hono.mdx +119 -0
  23. package/docs/en/components/init-app.mdx +40 -17
  24. package/docs/en/components/international/custom-instance-code.mdx +16 -0
  25. package/docs/en/components/international/init-options-desc.mdx +1 -0
  26. package/docs/en/components/international/install-command.mdx +23 -0
  27. package/docs/en/components/international/instance-code.mdx +26 -0
  28. package/docs/en/components/international/introduce.mdx +2 -0
  29. package/docs/en/components/module-federation.mdx +4 -4
  30. package/docs/en/components/nodeVersion.mdx +2 -6
  31. package/docs/en/components/prerequisites.mdx +1 -1
  32. package/docs/en/components/ua-polyfill.mdx +16 -12
  33. package/docs/en/components/upgrade-config-deploy.mdx +0 -0
  34. package/docs/en/configure/_meta.json +7 -8
  35. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  36. package/docs/en/configure/app/builder-plugins.mdx +1 -2
  37. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  38. package/docs/en/configure/app/dev/server.mdx +211 -0
  39. package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
  40. package/docs/en/configure/app/experiments/source-build.mdx +0 -1
  41. package/docs/en/configure/app/html/app-icon.mdx +1 -23
  42. package/docs/en/configure/app/output/assets-retry.mdx +1 -1
  43. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
  44. package/docs/en/configure/app/output/filename.mdx +2 -4
  45. package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
  46. package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
  47. package/docs/en/configure/app/output/source-map.mdx +6 -3
  48. package/docs/en/configure/app/output/ssg.mdx +12 -43
  49. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  50. package/docs/en/configure/app/output/temp-dir.mdx +3 -3
  51. package/docs/en/configure/app/performance/build-cache.mdx +1 -5
  52. package/docs/en/configure/app/performance/profile.mdx +1 -1
  53. package/docs/en/configure/app/plugins.mdx +1 -3
  54. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  55. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  56. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  57. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  58. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  59. package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
  60. package/docs/en/configure/app/runtime/router.mdx +0 -4
  61. package/docs/en/configure/app/security/check-syntax.mdx +1 -1
  62. package/docs/en/configure/app/security/sri.mdx +0 -1
  63. package/docs/en/configure/app/server/port.mdx +1 -21
  64. package/docs/en/configure/app/server/rsc.mdx +30 -0
  65. package/docs/en/configure/app/server/ssr.mdx +20 -9
  66. package/docs/en/configure/app/source/alias.mdx +1 -1
  67. package/docs/en/configure/app/source/decorators.mdx +4 -2
  68. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  69. package/docs/en/configure/app/source/entries.mdx +0 -2
  70. package/docs/en/configure/app/source/include.mdx +2 -14
  71. package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
  72. package/docs/en/configure/app/source/transform-import.mdx +1 -59
  73. package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
  74. package/docs/en/configure/app/tools/css-extract.mdx +1 -1
  75. package/docs/en/configure/app/tools/dev-server.mdx +22 -256
  76. package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
  77. package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
  78. package/docs/en/configure/app/tools/swc.mdx +1 -43
  79. package/docs/en/configure/app/usage.mdx +5 -27
  80. package/docs/en/guides/_meta.json +5 -1
  81. package/docs/en/guides/advanced-features/_meta.json +6 -0
  82. package/docs/en/guides/advanced-features/bff/_meta.json +9 -1
  83. package/docs/en/guides/advanced-features/bff/cross-project.mdx +2 -8
  84. package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
  85. package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -15
  86. package/docs/en/guides/advanced-features/bff/function.mdx +6 -10
  87. package/docs/en/guides/advanced-features/bff/operators.mdx +628 -0
  88. package/docs/en/guides/advanced-features/bff/sdk.mdx +20 -12
  89. package/docs/en/guides/advanced-features/bff/upload.mdx +3 -1
  90. package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
  91. package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
  92. package/docs/en/guides/advanced-features/international/_meta.json +11 -0
  93. package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
  94. package/docs/en/guides/advanced-features/international/api.mdx +400 -0
  95. package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
  96. package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
  97. package/docs/en/guides/advanced-features/international/configuration.mdx +428 -0
  98. package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
  99. package/docs/en/guides/advanced-features/international/quick-start.mdx +126 -0
  100. package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
  101. package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
  102. package/docs/en/guides/advanced-features/international.mdx +37 -0
  103. package/docs/en/guides/advanced-features/low-level.mdx +21 -16
  104. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
  105. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  106. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
  107. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
  108. package/docs/en/guides/advanced-features/rspack-start.mdx +3 -23
  109. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
  110. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +121 -36
  111. package/docs/en/guides/advanced-features/web-server.mdx +82 -299
  112. package/docs/en/guides/basic-features/_meta.json +6 -1
  113. package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
  114. package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
  115. package/docs/en/guides/basic-features/css/css.mdx +3 -3
  116. package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
  117. package/docs/en/guides/basic-features/data/data-cache.mdx +65 -77
  118. package/docs/en/guides/basic-features/data/data-fetch.mdx +19 -18
  119. package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
  120. package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
  121. package/docs/en/guides/basic-features/debug/proxy.mdx +6 -17
  122. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
  123. package/docs/en/guides/basic-features/deploy.mdx +25 -18
  124. package/docs/en/guides/basic-features/env-vars.mdx +1 -1
  125. package/docs/en/guides/basic-features/html.mdx +1 -1
  126. package/docs/en/guides/basic-features/output-files.mdx +3 -3
  127. package/docs/en/guides/basic-features/render/_meta.json +1 -1
  128. package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
  129. package/docs/en/guides/basic-features/render/overview.mdx +51 -0
  130. package/docs/en/guides/basic-features/render/rsc.mdx +399 -0
  131. package/docs/en/guides/basic-features/render/ssg.mdx +26 -67
  132. package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -10
  133. package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
  134. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
  135. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  136. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  137. package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
  138. package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
  139. package/docs/en/guides/basic-features/static-assets/svg-assets.mdx +0 -4
  140. package/docs/en/guides/basic-features/static-assets.mdx +2 -2
  141. package/docs/en/guides/concept/builder.mdx +27 -12
  142. package/docs/en/guides/concept/entries.mdx +139 -147
  143. package/docs/en/guides/get-started/glossary.mdx +0 -18
  144. package/docs/en/guides/get-started/introduction.mdx +1 -4
  145. package/docs/en/guides/get-started/quick-start.mdx +4 -71
  146. package/docs/en/guides/get-started/tech-stack.mdx +7 -27
  147. package/docs/en/guides/get-started/upgrade.mdx +30 -23
  148. package/docs/en/guides/topic-detail/_meta.json +0 -12
  149. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
  150. package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
  151. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  152. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
  153. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
  154. package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
  155. package/docs/en/guides/troubleshooting/builder.mdx +3 -82
  156. package/docs/en/guides/troubleshooting/cli.mdx +6 -30
  157. package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
  158. package/docs/en/guides/upgrade/_meta.json +1 -0
  159. package/docs/en/guides/upgrade/config.mdx +936 -0
  160. package/docs/en/guides/upgrade/entry.mdx +463 -0
  161. package/docs/en/guides/upgrade/other.mdx +83 -0
  162. package/docs/en/guides/upgrade/overview.mdx +33 -0
  163. package/docs/en/guides/upgrade/tailwindcss.mdx +130 -0
  164. package/docs/en/guides/upgrade/web-server.mdx +91 -0
  165. package/docs/en/plugin/_meta.json +5 -0
  166. package/docs/en/plugin/cli-plugins/_meta.json +1 -1
  167. package/docs/en/plugin/cli-plugins/api.mdx +17 -68
  168. package/docs/en/plugin/cli-plugins/life-cycle.mdx +0 -4
  169. package/docs/en/plugin/introduction.mdx +44 -44
  170. package/docs/en/plugin/official/_meta.json +0 -5
  171. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
  172. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  173. package/docs/en/plugin/official/cli-plugins.mdx +0 -2
  174. package/docs/en/plugin/plugin-system.mdx +69 -62
  175. package/docs/en/plugin/runtime-plugins/_meta.json +1 -1
  176. package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
  177. package/docs/en/plugin/server-plugins/_meta.json +1 -0
  178. package/docs/en/plugin/server-plugins/api.mdx +210 -1
  179. package/docs/en/plugin/server-plugins/life-cycle.mdx +41 -1
  180. package/docs/en/tutorials/_meta.json +0 -10
  181. package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
  182. package/docs/en/tutorials/foundations/introduction.mdx +9 -25
  183. package/docs/zh/{_meta.json → _nav.json} +10 -6
  184. package/docs/zh/apis/app/commands.mdx +8 -33
  185. package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
  186. package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
  187. package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
  188. package/docs/zh/apis/app/runtime/_meta.json +0 -18
  189. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  190. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
  191. package/docs/zh/community/blog/v2-release-note.mdx +0 -2
  192. package/docs/zh/community/contributing-guide.mdx +10 -12
  193. package/docs/zh/components/auto-upgrade.mdx +0 -0
  194. package/docs/zh/components/bff-operator-code.mdx +5 -0
  195. package/docs/zh/components/bff-upload.mdx +8 -7
  196. package/docs/zh/components/build-output.mdx +45 -0
  197. package/docs/zh/components/bundler.mdx +1 -1
  198. package/docs/zh/components/debug-app.mdx +1 -1
  199. package/docs/zh/components/enable-bff-caution.mdx +1 -1
  200. package/docs/zh/components/enable-bff.mdx +41 -8
  201. package/docs/zh/components/enable-ssg.mdx +49 -0
  202. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  203. package/docs/zh/components/esbuild.mdx +2 -2
  204. package/docs/zh/components/extend-bff-function.mdx +2 -4
  205. package/docs/zh/components/hono.mdx +119 -0
  206. package/docs/zh/components/init-app.mdx +40 -18
  207. package/docs/zh/components/international/custom-instance-code.mdx +16 -0
  208. package/docs/zh/components/international/init-options-desc.mdx +1 -0
  209. package/docs/zh/components/international/install-command.mdx +23 -0
  210. package/docs/zh/components/international/instance-code.mdx +26 -0
  211. package/docs/zh/components/international/introduce.mdx +2 -0
  212. package/docs/zh/components/international/platform-support.mdx +0 -0
  213. package/docs/zh/components/module-federation.mdx +4 -4
  214. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  215. package/docs/zh/components/nodeVersion.mdx +3 -7
  216. package/docs/zh/components/prerequisites.mdx +1 -1
  217. package/docs/zh/components/self-route-example.mdx +3 -3
  218. package/docs/zh/components/ua-polyfill.mdx +11 -6
  219. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  220. package/docs/zh/components/upgrade-config-deploy.mdx +0 -0
  221. package/docs/zh/configure/_meta.json +7 -8
  222. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  223. package/docs/zh/configure/app/builder-plugins.mdx +1 -2
  224. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  225. package/docs/zh/configure/app/dev/server.mdx +211 -0
  226. package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
  227. package/docs/zh/configure/app/experiments/source-build.mdx +0 -1
  228. package/docs/zh/configure/app/html/app-icon.mdx +1 -23
  229. package/docs/zh/configure/app/output/assets-retry.mdx +1 -1
  230. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
  231. package/docs/zh/configure/app/output/filename.mdx +2 -4
  232. package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
  233. package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
  234. package/docs/zh/configure/app/output/source-map.mdx +10 -3
  235. package/docs/zh/configure/app/output/ssg.mdx +13 -45
  236. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  237. package/docs/zh/configure/app/output/temp-dir.mdx +3 -3
  238. package/docs/zh/configure/app/performance/build-cache.mdx +1 -5
  239. package/docs/zh/configure/app/performance/profile.mdx +1 -1
  240. package/docs/zh/configure/app/plugins.mdx +1 -2
  241. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  242. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  243. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  244. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  245. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  246. package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
  247. package/docs/zh/configure/app/runtime/router.mdx +0 -4
  248. package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
  249. package/docs/zh/configure/app/security/sri.mdx +0 -1
  250. package/docs/zh/configure/app/server/port.mdx +2 -21
  251. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  252. package/docs/zh/configure/app/server/ssr.mdx +21 -11
  253. package/docs/zh/configure/app/source/alias.mdx +1 -1
  254. package/docs/zh/configure/app/source/decorators.mdx +4 -4
  255. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  256. package/docs/zh/configure/app/source/entries.mdx +0 -2
  257. package/docs/zh/configure/app/source/include.mdx +2 -16
  258. package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
  259. package/docs/zh/configure/app/source/transform-import.mdx +1 -59
  260. package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
  261. package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
  262. package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
  263. package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
  264. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
  265. package/docs/zh/configure/app/tools/swc.mdx +1 -43
  266. package/docs/zh/configure/app/usage.mdx +6 -28
  267. package/docs/zh/guides/_meta.json +5 -1
  268. package/docs/zh/guides/advanced-features/_meta.json +6 -1
  269. package/docs/zh/guides/advanced-features/bff/_meta.json +9 -1
  270. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
  271. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
  272. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +2 -16
  273. package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
  274. package/docs/zh/guides/advanced-features/bff/operators.mdx +628 -0
  275. package/docs/zh/guides/advanced-features/bff/sdk.mdx +23 -16
  276. package/docs/zh/guides/advanced-features/bff/upload.mdx +3 -1
  277. package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
  278. package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
  279. package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
  280. package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
  281. package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
  282. package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
  283. package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
  284. package/docs/zh/guides/advanced-features/international/configuration.mdx +432 -0
  285. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
  286. package/docs/zh/guides/advanced-features/international/quick-start.mdx +126 -0
  287. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
  288. package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
  289. package/docs/zh/guides/advanced-features/international.mdx +36 -0
  290. package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
  291. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
  292. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  293. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
  294. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
  295. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
  296. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +120 -37
  297. package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
  298. package/docs/zh/guides/basic-features/_meta.json +6 -1
  299. package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
  300. package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
  301. package/docs/zh/guides/basic-features/css/css.mdx +2 -2
  302. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
  303. package/docs/zh/guides/basic-features/data/data-cache.mdx +55 -59
  304. package/docs/zh/guides/basic-features/data/data-fetch.mdx +14 -16
  305. package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
  306. package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
  307. package/docs/zh/guides/basic-features/debug/proxy.mdx +4 -15
  308. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
  309. package/docs/zh/guides/basic-features/deploy.mdx +24 -20
  310. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  311. package/docs/zh/guides/basic-features/html.mdx +2 -2
  312. package/docs/zh/guides/basic-features/output-files.mdx +3 -3
  313. package/docs/zh/guides/basic-features/render/_meta.json +1 -1
  314. package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
  315. package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
  316. package/docs/zh/guides/basic-features/render/rsc.mdx +399 -0
  317. package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
  318. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -9
  319. package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
  320. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
  321. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  322. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  323. package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
  324. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
  325. package/docs/zh/guides/basic-features/static-assets/svg-assets.mdx +0 -4
  326. package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
  327. package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
  328. package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
  329. package/docs/zh/guides/concept/builder.mdx +26 -11
  330. package/docs/zh/guides/concept/entries.mdx +95 -92
  331. package/docs/zh/guides/get-started/glossary.mdx +0 -18
  332. package/docs/zh/guides/get-started/introduction.mdx +1 -5
  333. package/docs/zh/guides/get-started/quick-start.mdx +5 -72
  334. package/docs/zh/guides/get-started/tech-stack.mdx +8 -28
  335. package/docs/zh/guides/get-started/upgrade.mdx +30 -23
  336. package/docs/zh/guides/topic-detail/_meta.json +0 -12
  337. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
  338. package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
  339. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  340. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
  341. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
  342. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -31
  343. package/docs/zh/guides/troubleshooting/builder.mdx +4 -85
  344. package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
  345. package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
  346. package/docs/zh/guides/upgrade/_meta.json +1 -0
  347. package/docs/zh/guides/upgrade/config.mdx +940 -0
  348. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  349. package/docs/zh/guides/upgrade/other.md +90 -0
  350. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  351. package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
  352. package/docs/zh/guides/upgrade/web-server.md +93 -0
  353. package/docs/zh/plugin/_meta.json +5 -0
  354. package/docs/zh/plugin/cli-plugins/_meta.json +1 -1
  355. package/docs/zh/plugin/cli-plugins/api.mdx +19 -70
  356. package/docs/zh/plugin/cli-plugins/life-cycle.mdx +0 -4
  357. package/docs/zh/plugin/introduction.mdx +40 -40
  358. package/docs/zh/plugin/official/_meta.json +0 -5
  359. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
  360. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  361. package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
  362. package/docs/zh/plugin/plugin-system.mdx +43 -51
  363. package/docs/zh/plugin/runtime-plugins/_meta.json +1 -1
  364. package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
  365. package/docs/zh/plugin/server-plugins/_meta.json +1 -0
  366. package/docs/zh/plugin/server-plugins/api.mdx +210 -1
  367. package/docs/zh/plugin/server-plugins/life-cycle.mdx +41 -1
  368. package/docs/zh/tutorials/_meta.json +0 -10
  369. package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
  370. package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
  371. package/i18n.json +0 -16
  372. package/package.json +12 -12
  373. package/rspress.config.ts +5 -8
  374. package/src/components/ContentCard/index.module.scss +11 -7
  375. package/src/components/ContentCard/index.tsx +1 -1
  376. package/src/components/FeatureLayout/index.module.css +1 -1
  377. package/src/components/Footer/index.tsx +2 -14
  378. package/src/components/Footer/styles.module.scss +5 -5
  379. package/src/components/FrameworkCode/index.tsx +605 -0
  380. package/src/components/ListCard/index.tsx +1 -1
  381. package/src/components/RandomMemberList/index.tsx +1 -1
  382. package/src/components/RsbuildLink/index.tsx +1 -1
  383. package/src/components/Sandpack/index.tsx +1 -1
  384. package/src/custom.scss +15 -0
  385. package/src/i18n/enUS.ts +2 -4
  386. package/src/i18n/index.ts +1 -1
  387. package/src/i18n/zhCN.ts +2 -4
  388. package/src/index.ts +2 -1
  389. package/src/pages/index.module.scss +59 -41
  390. package/src/pages/index.tsx +9 -24
  391. package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
  392. package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
  393. package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
  394. package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
  395. package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
  396. package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
  397. package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
  398. package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
  399. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  400. package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
  401. package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
  402. package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
  403. package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
  404. package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
  405. package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
  406. package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
  407. package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
  408. package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
  409. package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
  410. package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
  411. package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
  412. package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
  413. package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
  414. package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
  415. package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
  416. package/docs/en/components/bff-proxy-principle.mdx +0 -1
  417. package/docs/en/components/builder.mdx +0 -3
  418. package/docs/en/components/create-bff-api-app.mdx +0 -25
  419. package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
  420. package/docs/en/components/enable-micro-frontend.mdx +0 -30
  421. package/docs/en/components/enableSwc.mdx +0 -17
  422. package/docs/en/components/global-proxy-config.mdx +0 -85
  423. package/docs/en/components/global-proxy.mdx +0 -29
  424. package/docs/en/components/package-manager.mdx +0 -11
  425. package/docs/en/components/reduck-notify.mdx +0 -27
  426. package/docs/en/components/reduck-tip.mdx +0 -8
  427. package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
  428. package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
  429. package/docs/en/configure/app/dev/port.mdx +0 -25
  430. package/docs/en/configure/app/dev/proxy.mdx +0 -9
  431. package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
  432. package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
  433. package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
  434. package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
  435. package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
  436. package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
  437. package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
  438. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
  439. package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
  440. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
  441. package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
  442. package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
  443. package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
  444. package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
  445. package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
  446. package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
  447. package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
  448. package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
  449. package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
  450. package/docs/en/configure/app/performance/bundle-analyze.mdx +0 -24
  451. package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
  452. package/docs/en/configure/app/runtime/master-app.mdx +0 -36
  453. package/docs/en/configure/app/runtime/state.mdx +0 -52
  454. package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
  455. package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
  456. package/docs/en/configure/app/source/module-scopes.mdx +0 -72
  457. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
  458. package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
  459. package/docs/en/configure/app/tools/babel.mdx +0 -225
  460. package/docs/en/configure/app/tools/esbuild.mdx +0 -44
  461. package/docs/en/configure/app/tools/pug.mdx +0 -54
  462. package/docs/en/configure/app/tools/styled-components.mdx +0 -55
  463. package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
  464. package/docs/en/configure/app/tools/terser.mdx +0 -58
  465. package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
  466. package/docs/en/configure/app/tools/webpack-chain.mdx +0 -253
  467. package/docs/en/configure/app/tools/webpack.mdx +0 -309
  468. package/docs/en/guides/deprecated.md +0 -17
  469. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
  470. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
  471. package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
  472. package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  473. package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
  474. package/docs/en/guides/topic-detail/model/_meta.json +0 -14
  475. package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
  476. package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
  477. package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
  478. package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
  479. package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
  480. package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
  481. package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
  482. package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
  483. package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
  484. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
  485. package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
  486. package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  487. package/docs/en/plugin/cli-plugins/migration.mdx +0 -98
  488. package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
  489. package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  490. package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
  491. package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
  492. package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
  493. package/docs/en/plugin/runtime-plugins/migration.mdx +0 -101
  494. package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
  495. package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
  496. package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
  497. package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
  498. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
  499. package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
  500. package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
  501. package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
  502. package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
  503. package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
  504. package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
  505. package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
  506. package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
  507. package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
  508. package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
  509. package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
  510. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  511. package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
  512. package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
  513. package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
  514. package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
  515. package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
  516. package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
  517. package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
  518. package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
  519. package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
  520. package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
  521. package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
  522. package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
  523. package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
  524. package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
  525. package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
  526. package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
  527. package/docs/zh/components/bff-proxy-principle.mdx +0 -1
  528. package/docs/zh/components/builder.mdx +0 -3
  529. package/docs/zh/components/create-bff-api-app.mdx +0 -25
  530. package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
  531. package/docs/zh/components/default-mwa-generate.mdx +0 -4
  532. package/docs/zh/components/enable-micro-frontend.mdx +0 -30
  533. package/docs/zh/components/enableSwc.mdx +0 -17
  534. package/docs/zh/components/global-proxy-config.mdx +0 -85
  535. package/docs/zh/components/global-proxy.mdx +0 -29
  536. package/docs/zh/components/package-manager.mdx +0 -11
  537. package/docs/zh/components/reduck-notify.mdx +0 -27
  538. package/docs/zh/components/reduck-tip.mdx +0 -8
  539. package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
  540. package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
  541. package/docs/zh/configure/app/dev/port.mdx +0 -25
  542. package/docs/zh/configure/app/dev/proxy.mdx +0 -9
  543. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
  544. package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
  545. package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
  546. package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
  547. package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
  548. package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
  549. package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
  550. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
  551. package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
  552. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
  553. package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
  554. package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
  555. package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
  556. package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
  557. package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
  558. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
  559. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
  560. package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
  561. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
  562. package/docs/zh/configure/app/performance/bundle-analyze.mdx +0 -24
  563. package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
  564. package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
  565. package/docs/zh/configure/app/runtime/state.mdx +0 -52
  566. package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
  567. package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
  568. package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
  569. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
  570. package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
  571. package/docs/zh/configure/app/tools/babel.mdx +0 -224
  572. package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
  573. package/docs/zh/configure/app/tools/pug.mdx +0 -54
  574. package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
  575. package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
  576. package/docs/zh/configure/app/tools/terser.mdx +0 -58
  577. package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
  578. package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -257
  579. package/docs/zh/configure/app/tools/webpack.mdx +0 -309
  580. package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
  581. package/docs/zh/guides/deprecated.md +0 -19
  582. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
  583. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
  584. package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
  585. package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  586. package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
  587. package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
  588. package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
  589. package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
  590. package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
  591. package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
  592. package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
  593. package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
  594. package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
  595. package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
  596. package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
  597. package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
  598. package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
  599. package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  600. package/docs/zh/plugin/cli-plugins/migration.mdx +0 -98
  601. package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
  602. package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  603. package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
  604. package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
  605. package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
  606. package/docs/zh/plugin/runtime-plugins/migration.mdx +0 -101
  607. package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
  608. package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
  609. package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
  610. package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
  611. package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
  612. package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
  613. package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
  614. package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
  615. /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
  616. /package/docs/en/components/{router-legacy-tip.mdx → international/platform-support.mdx} +0 -0
  617. /package/docs/{zh/components/reduck-migration.mdx → en/components/new-entry-tooltip.mdx} +0 -0
  618. /package/docs/{zh/components/router-legacy-tip.mdx → en/components/upgrade-browserslist.mdx} +0 -0
@@ -0,0 +1,605 @@
1
+ import { Tab, Tabs } from '@rspress/core/theme';
2
+ import React, {
3
+ type PropsWithChildren,
4
+ useMemo,
5
+ cloneElement,
6
+ useRef,
7
+ useEffect,
8
+ } from 'react';
9
+
10
+ /**
11
+ * Framework transformation configuration
12
+ */
13
+ export interface FrameworkTransform {
14
+ /** Framework identifier (used as Tab value) */
15
+ id: string;
16
+ /** Framework display name (used as Tab label) */
17
+ label: string;
18
+ /** Target import path */
19
+ importPath: string;
20
+ /** Code transformation function that receives original code and returns transformed code */
21
+ transform?: (code: string) => string;
22
+ }
23
+
24
+ /**
25
+ * FrameworkCode component for displaying code examples that support multiple runtime frameworks
26
+ *
27
+ * - Single framework: Renders transformed code directly without Tabs
28
+ * - Multiple frameworks: Displays multiple framework versions using Tabs
29
+ *
30
+ * The component automatically replaces the source import path with each framework's target import path.
31
+ * The code in the document should use the sourcePath, which will be replaced with each framework's importPath.
32
+ */
33
+ interface FrameworkCodeProps {
34
+ /** Framework configuration list (optional, if empty and defaultImportPath is provided, will use it for replacement) */
35
+ frameworks?: FrameworkTransform[];
36
+ /** Default selected framework ID (only effective when multiple frameworks are provided) */
37
+ defaultTab?: string;
38
+ /** Source import path used in the document code (will be replaced with each framework's importPath) */
39
+ sourcePath: string;
40
+ /** Default import path to use when frameworks array is empty (optional) */
41
+ defaultImportPath?: string;
42
+ }
43
+
44
+ const FrameworkCode: React.FC<PropsWithChildren<FrameworkCodeProps>> = ({
45
+ children,
46
+ frameworks,
47
+ defaultTab,
48
+ sourcePath,
49
+ defaultImportPath,
50
+ }) => {
51
+ /**
52
+ * Replace source import path with target framework import path
53
+ * Only replaces import/export statements, avoiding comments and string literals
54
+ */
55
+ const replaceImportPath = (
56
+ code: string,
57
+ source: string,
58
+ target: string,
59
+ ): string => {
60
+ // Escape special regex characters in source path
61
+ const escapedSource = source.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
62
+
63
+ // Match import/export statements with the source path
64
+ // Supports:
65
+ // - import ... from 'source'
66
+ // - import type ... from 'source'
67
+ // - import ... from "source"
68
+ // - export ... from 'source'
69
+ // - export type ... from 'source'
70
+ // Uses a more precise regex that matches the full import/export statement
71
+ const importExportRegex = new RegExp(
72
+ `(import\\s+(?:type\\s+)?[^'"]*from\\s+|export\\s+(?:type\\s+)?[^'"]*from\\s+)(['"\`])${escapedSource}(['"\`])`,
73
+ 'g',
74
+ );
75
+
76
+ return code.replace(importExportRegex, `$1$2${target}$3`);
77
+ };
78
+
79
+ /**
80
+ * Component wrapper that clones ShikiPre and replaces import paths in the code
81
+ * This preserves shiki's syntax highlighting structure by only replacing the import path string
82
+ * in text nodes, without modifying the HTML structure
83
+ */
84
+ const ShikiPreWithCode: React.FC<{
85
+ originalElement: React.ReactElement;
86
+ newCode: string;
87
+ originalCode: string;
88
+ sourcePath: string;
89
+ targetPath: string;
90
+ }> = ({ originalElement, newCode, originalCode, sourcePath, targetPath }) => {
91
+ const containerRef = useRef<HTMLDivElement>(null);
92
+
93
+ useEffect(() => {
94
+ if (containerRef.current) {
95
+ // Find the pre element inside
96
+ const preElement = containerRef.current.querySelector('pre');
97
+ if (preElement) {
98
+ // Get the code element (usually inside pre)
99
+ const codeElement = preElement.querySelector('code') || preElement;
100
+
101
+ // Escape special regex characters in source path
102
+ const escapedSource = sourcePath.replace(
103
+ /[.*+?^${}()|[\]\\]/g,
104
+ '\\$&',
105
+ );
106
+ const regex = new RegExp(escapedSource, 'g');
107
+
108
+ // Replace import paths in all text nodes, preserving the HTML structure
109
+ const walker = document.createTreeWalker(
110
+ codeElement,
111
+ NodeFilter.SHOW_TEXT,
112
+ null,
113
+ );
114
+
115
+ let node;
116
+ while ((node = walker.nextNode())) {
117
+ if (node.nodeType === Node.TEXT_NODE && node.textContent) {
118
+ const originalText = node.textContent;
119
+ // Only replace if the text contains the source path
120
+ if (originalText.includes(sourcePath)) {
121
+ node.textContent = originalText.replace(regex, targetPath);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }, [sourcePath, targetPath]);
128
+
129
+ return <div ref={containerRef}>{cloneElement(originalElement)}</div>;
130
+ };
131
+ const parseCodeBlocks = (
132
+ children: React.ReactNode,
133
+ ): Array<{
134
+ meta: string;
135
+ code: string;
136
+ language: string;
137
+ title?: string;
138
+ originalElement?: React.ReactElement; // Save original ShikiPre element
139
+ }> => {
140
+ const blocks: Array<{
141
+ meta: string;
142
+ code: string;
143
+ language: string;
144
+ title?: string;
145
+ originalElement?: React.ReactElement;
146
+ }> = [];
147
+
148
+ const traverse = (node: any, depth = 0): void => {
149
+ if (!node) return;
150
+
151
+ // Handle Fragment (React.Fragment or <>...</>)
152
+ if (
153
+ node.type === React.Fragment ||
154
+ (typeof node.type === 'symbol' &&
155
+ node.type.toString().includes('Fragment'))
156
+ ) {
157
+ if (node.props?.children) {
158
+ React.Children.forEach(node.props.children, child =>
159
+ traverse(child, depth + 1),
160
+ );
161
+ }
162
+ return;
163
+ }
164
+
165
+ // Handle pre > code structure (rspress parsed code blocks)
166
+ if (node.props) {
167
+ // Check if this is ShikiPre component (rspress code block component)
168
+ const nodeType = node.type;
169
+ const isShikiPre =
170
+ (typeof nodeType === 'function' && nodeType.name === 'ShikiPre') ||
171
+ (node.props?.className === 'shiki css-variables' && node.props?.lang);
172
+
173
+ // Check if this is a <pre> element containing <code>
174
+ const isPre =
175
+ nodeType === 'pre' ||
176
+ (typeof nodeType === 'string' && nodeType === 'pre') ||
177
+ nodeType?.displayName === 'pre' ||
178
+ (typeof nodeType === 'function' && nodeType.name === 'pre');
179
+
180
+ // Handle ShikiPre component (rspress code blocks)
181
+ if (isShikiPre) {
182
+ const lang = node.props.lang || 'ts';
183
+ const title = node.props.title;
184
+
185
+ // Extract code content from children
186
+ let codeContent = '';
187
+ const children = node.props.children;
188
+
189
+ if (children) {
190
+ // ShikiPre's children is usually a <pre> element
191
+ if (typeof children === 'object' && children.props) {
192
+ // Try to get code from pre element's children
193
+ const preChildren = children.props.children;
194
+
195
+ // Recursive function to extract text from React elements
196
+ const extractText = (node: any): string => {
197
+ if (typeof node === 'string') {
198
+ return node;
199
+ }
200
+ if (Array.isArray(node)) {
201
+ return node.map(extractText).join('');
202
+ }
203
+ if (node?.props?.children) {
204
+ return extractText(node.props.children);
205
+ }
206
+ return '';
207
+ };
208
+
209
+ codeContent = extractText(preChildren);
210
+ } else if (typeof children === 'string') {
211
+ codeContent = children;
212
+ }
213
+ }
214
+
215
+ if (codeContent.trim()) {
216
+ blocks.push({
217
+ meta: title ? `title="${title}"` : '',
218
+ code: codeContent,
219
+ language: lang,
220
+ title,
221
+ originalElement: node, // Save original ShikiPre element
222
+ });
223
+ return;
224
+ }
225
+ }
226
+
227
+ // Also check for code elements directly (might be wrapped differently)
228
+ const isCode =
229
+ nodeType === 'code' ||
230
+ (typeof nodeType === 'string' && nodeType === 'code') ||
231
+ nodeType?.displayName === 'code' ||
232
+ (typeof nodeType === 'function' && nodeType.name === 'code') ||
233
+ node.props?.className?.includes('language-');
234
+
235
+ if (isPre && node.props.children) {
236
+ const codeElement = React.Children.toArray(node.props.children).find(
237
+ (child: any) => {
238
+ const childType = child?.type;
239
+ return (
240
+ childType === 'code' ||
241
+ (typeof childType === 'string' && childType === 'code') ||
242
+ child?.props?.className?.includes('language-')
243
+ );
244
+ },
245
+ ) as any;
246
+
247
+ if (codeElement) {
248
+ let codeContent = '';
249
+
250
+ if (typeof codeElement === 'string') {
251
+ codeContent = codeElement;
252
+ } else {
253
+ const children =
254
+ codeElement.props?.children || codeElement.children;
255
+ if (typeof children === 'string') {
256
+ codeContent = children;
257
+ } else if (Array.isArray(children)) {
258
+ codeContent = children
259
+ .map((c: any) =>
260
+ typeof c === 'string' ? c : c?.props?.children || '',
261
+ )
262
+ .join('');
263
+ } else if (children != null) {
264
+ codeContent = String(children);
265
+ }
266
+ }
267
+
268
+ // Extract language from className (e.g., "language-ts" -> "ts")
269
+ const className = codeElement.props?.className || '';
270
+ const languageMatch = className.match(/language-(\w+)/);
271
+ const language = languageMatch?.[1] || 'ts';
272
+
273
+ // Extract title from meta or data-title attribute
274
+ const meta =
275
+ codeElement.props?.meta || codeElement.props?.['data-meta'] || '';
276
+ const titleMatch = meta.match(/title="([^"]+)"/);
277
+ const title = titleMatch?.[1] || codeElement.props?.['data-title'];
278
+
279
+ if (codeContent) {
280
+ blocks.push({
281
+ meta,
282
+ code: codeContent,
283
+ language,
284
+ title,
285
+ });
286
+ }
287
+ return;
288
+ }
289
+ }
290
+
291
+ // Handle direct code element with className containing language- (rspress structure)
292
+ if (isCode && !isPre && node.props?.className?.includes('language-')) {
293
+ let codeContent = '';
294
+ const children = node.props?.children;
295
+
296
+ if (typeof children === 'string') {
297
+ codeContent = children;
298
+ } else if (Array.isArray(children)) {
299
+ codeContent = children
300
+ .map((c: any) =>
301
+ typeof c === 'string' ? c : c?.props?.children || '',
302
+ )
303
+ .join('');
304
+ } else if (children != null) {
305
+ codeContent = String(children);
306
+ }
307
+
308
+ if (codeContent) {
309
+ const className = node.props.className || '';
310
+ const languageMatch = className.match(/language-(\w+)/);
311
+ const language = languageMatch?.[1] || 'ts';
312
+ const meta = node.props?.meta || '';
313
+ const titleMatch = meta.match(/title="([^"]+)"/);
314
+ const title = titleMatch?.[1] || node.props?.['data-title'];
315
+
316
+ blocks.push({
317
+ meta,
318
+ code: codeContent,
319
+ language,
320
+ title,
321
+ });
322
+ return;
323
+ }
324
+ }
325
+
326
+ // Handle direct code element with meta prop (alternative MDX structure)
327
+ if (node.props.meta && node.props.children) {
328
+ const metaMatch = node.props.meta.match(
329
+ /(\w+)(?:\s+title="([^"]+)")?/,
330
+ );
331
+ const language = metaMatch?.[1] || 'ts';
332
+ const title = metaMatch?.[2];
333
+ const codeContent = node.props.children;
334
+
335
+ if (codeContent) {
336
+ blocks.push({
337
+ meta: node.props.meta,
338
+ code:
339
+ typeof codeContent === 'string'
340
+ ? codeContent
341
+ : String(codeContent),
342
+ language,
343
+ title,
344
+ });
345
+ return;
346
+ }
347
+ }
348
+
349
+ // Generic check: any element with language- className (rspress might use custom components)
350
+ if (
351
+ node.props?.className &&
352
+ typeof node.props.className === 'string' &&
353
+ node.props.className.includes('language-')
354
+ ) {
355
+ let codeContent = '';
356
+ const children = node.props?.children;
357
+
358
+ if (typeof children === 'string') {
359
+ codeContent = children;
360
+ } else if (Array.isArray(children)) {
361
+ codeContent = children
362
+ .map((c: any) => {
363
+ if (typeof c === 'string') return c;
364
+ // Try to extract text from nested elements
365
+ if (c?.props?.children) {
366
+ return typeof c.props.children === 'string'
367
+ ? c.props.children
368
+ : String(c.props.children);
369
+ }
370
+ return '';
371
+ })
372
+ .join('');
373
+ } else if (children != null) {
374
+ codeContent = String(children);
375
+ }
376
+
377
+ if (codeContent.trim()) {
378
+ const className = node.props.className;
379
+ const languageMatch = className.match(/language-(\w+)/);
380
+ const language = languageMatch?.[1] || 'ts';
381
+ const meta = node.props?.meta || '';
382
+ const titleMatch = meta.match(/title="([^"]+)"/);
383
+ const title = titleMatch?.[1] || node.props?.['data-title'];
384
+
385
+ blocks.push({
386
+ meta,
387
+ code: codeContent,
388
+ language,
389
+ title,
390
+ });
391
+ return; // Don't traverse children if we found a code block
392
+ }
393
+ }
394
+
395
+ // Recursively traverse children
396
+ if (node.props.children) {
397
+ React.Children.forEach(node.props.children, child =>
398
+ traverse(child, depth + 1),
399
+ );
400
+ }
401
+ }
402
+ };
403
+
404
+ // First, try to extract code blocks from children
405
+ React.Children.forEach(children, traverse);
406
+
407
+ return blocks;
408
+ };
409
+
410
+ const codeBlocks = useMemo(() => parseCodeBlocks(children), [children]);
411
+
412
+ // If no code blocks, return children as-is
413
+ if (codeBlocks.length === 0) {
414
+ return <>{children}</>;
415
+ }
416
+
417
+ // If frameworks is empty but defaultImportPath is provided, use it for replacement
418
+ if (!frameworks || frameworks.length === 0) {
419
+ if (defaultImportPath) {
420
+ return (
421
+ <>
422
+ {codeBlocks.map((block, index) => {
423
+ const transformedCode = replaceImportPath(
424
+ block.code,
425
+ sourcePath,
426
+ defaultImportPath,
427
+ );
428
+
429
+ return (
430
+ <pre key={block.title || block.meta || `block-${index}`}>
431
+ <code className={`language-${block.language}`}>
432
+ {transformedCode}
433
+ </code>
434
+ </pre>
435
+ );
436
+ })}
437
+ </>
438
+ );
439
+ }
440
+ return <>{children}</>;
441
+ }
442
+
443
+ // Single framework: render transformed code directly without Tabs
444
+ if (frameworks.length === 1) {
445
+ const framework = frameworks[0];
446
+ return (
447
+ <>
448
+ {codeBlocks.map((block, index) => {
449
+ // First replace source import path with framework's import path, then apply custom transform
450
+ let transformedCode = replaceImportPath(
451
+ block.code,
452
+ sourcePath,
453
+ framework.importPath,
454
+ );
455
+ if (framework.transform) {
456
+ transformedCode = framework.transform(transformedCode);
457
+ }
458
+
459
+ // If we have the original ShikiPre element, clone it with new code
460
+ if (block.originalElement) {
461
+ return (
462
+ <ShikiPreWithCode
463
+ key={block.title || block.meta || `block-${index}`}
464
+ originalElement={block.originalElement}
465
+ newCode={transformedCode}
466
+ originalCode={block.code}
467
+ sourcePath={sourcePath}
468
+ targetPath={framework.importPath}
469
+ />
470
+ );
471
+ }
472
+
473
+ // Fallback to simple pre/code if no original element
474
+ return (
475
+ <pre key={block.title || block.meta || `block-${index}`}>
476
+ <code className={`language-${block.language}`}>
477
+ {transformedCode}
478
+ </code>
479
+ </pre>
480
+ );
481
+ })}
482
+ </>
483
+ );
484
+ }
485
+
486
+ // Multiple frameworks: display using Tabs
487
+ // Try both formats: string array (labels) and object array
488
+ const defaultFrameworkId = defaultTab || frameworks[0]?.id || '';
489
+ const defaultFrameworkLabel =
490
+ frameworks.find(f => f.id === defaultFrameworkId)?.label ||
491
+ frameworks[0]?.label ||
492
+ '';
493
+ const frameworkValues = frameworks.map(f => f.label);
494
+
495
+ if (codeBlocks.length === 1) {
496
+ const block = codeBlocks[0];
497
+
498
+ return (
499
+ <div>
500
+ <Tabs
501
+ defaultValue={defaultFrameworkLabel}
502
+ values={frameworkValues}
503
+ {...({} as any)}
504
+ >
505
+ {frameworks.map(framework => {
506
+ // First replace source import path with framework's import path, then apply custom transform
507
+ let transformedCode = replaceImportPath(
508
+ block.code,
509
+ sourcePath,
510
+ framework.importPath,
511
+ );
512
+ if (framework.transform) {
513
+ transformedCode = framework.transform(transformedCode);
514
+ }
515
+
516
+ // If we have the original ShikiPre element, clone it with new code
517
+ const codeElement = block.originalElement ? (
518
+ <ShikiPreWithCode
519
+ originalElement={block.originalElement}
520
+ newCode={transformedCode}
521
+ originalCode={block.code}
522
+ sourcePath={sourcePath}
523
+ targetPath={framework.importPath}
524
+ />
525
+ ) : (
526
+ <pre>
527
+ <code className={`language-${block.language}`}>
528
+ {transformedCode}
529
+ </code>
530
+ </pre>
531
+ );
532
+
533
+ return (
534
+ <Tab
535
+ key={framework.id}
536
+ value={framework.label}
537
+ label={framework.label}
538
+ {...({} as any)}
539
+ >
540
+ {codeElement}
541
+ </Tab>
542
+ );
543
+ })}
544
+ </Tabs>
545
+ </div>
546
+ );
547
+ }
548
+
549
+ // Multiple code blocks: generate multiple framework versions for each block
550
+ return (
551
+ <>
552
+ {codeBlocks.map((block, blockIndex) => (
553
+ <div key={block.title || block.meta || `tabs-${blockIndex}`}>
554
+ <Tabs
555
+ defaultValue={defaultFrameworkLabel}
556
+ values={frameworkValues}
557
+ {...({} as any)}
558
+ >
559
+ {frameworks.map(framework => {
560
+ // First replace source import path with framework's import path, then apply custom transform
561
+ let transformedCode = replaceImportPath(
562
+ block.code,
563
+ sourcePath,
564
+ framework.importPath,
565
+ );
566
+ if (framework.transform) {
567
+ transformedCode = framework.transform(transformedCode);
568
+ }
569
+
570
+ // If we have the original ShikiPre element, clone it with new code
571
+ const codeElement = block.originalElement ? (
572
+ <ShikiPreWithCode
573
+ originalElement={block.originalElement}
574
+ newCode={transformedCode}
575
+ originalCode={block.code}
576
+ sourcePath={sourcePath}
577
+ targetPath={framework.importPath}
578
+ />
579
+ ) : (
580
+ <pre>
581
+ <code className={`language-${block.language}`}>
582
+ {transformedCode}
583
+ </code>
584
+ </pre>
585
+ );
586
+
587
+ return (
588
+ <Tab
589
+ key={framework.id}
590
+ value={framework.label}
591
+ label={framework.label}
592
+ {...({} as any)}
593
+ >
594
+ {codeElement}
595
+ </Tab>
596
+ );
597
+ })}
598
+ </Tabs>
599
+ </div>
600
+ ))}
601
+ </>
602
+ );
603
+ };
604
+
605
+ export default FrameworkCode;
@@ -1,5 +1,5 @@
1
+ import { withBase } from '@rspress/core/runtime';
1
2
  import type React from 'react';
2
- import { withBase } from 'rspress/runtime';
3
3
  import styles from './index.module.css';
4
4
 
5
5
  export interface ICardProps {
@@ -1,4 +1,4 @@
1
- import { NoSSR } from 'rspress/runtime';
1
+ import { NoSSR } from '@rspress/core/runtime';
2
2
  import style from './index.module.scss';
3
3
 
4
4
  interface Member {
@@ -1,5 +1,5 @@
1
+ import { useLang } from '@rspress/core/runtime';
1
2
  import React from 'react';
2
- import { useLang } from 'rspress/runtime';
3
3
 
4
4
  const RsbuildLink = ({ configName }: { configName: string }) => {
5
5
  const lang = useLang();
@@ -1,8 +1,8 @@
1
1
  import ModernSandpack, {
2
2
  type ModernSandpackProps,
3
3
  } from '@modern-js/sandpack-react';
4
+ import { NoSSR, useDark } from '@rspress/core/runtime';
4
5
  import React, { type PropsWithChildren } from 'react';
5
- import { NoSSR, useDark } from 'rspress/runtime';
6
6
 
7
7
  import './index.css';
8
8
 
@@ -0,0 +1,15 @@
1
+ :root {
2
+ --edenx-primary-color: #2f54eb;
3
+ --edenx-gradient-color-dark: var(--edenx-primary-color);
4
+ --edenx-gradient-color-light: #7cb2fa;
5
+
6
+ --edenx-home-hero-name-background: linear-gradient(
7
+ 274.85deg,
8
+ var(--edenx-gradient-color-dark) 3%,
9
+ var(--edenx-gradient-color-light) 97.17%
10
+ );
11
+ }
12
+
13
+ .rspress-announcement div {
14
+ background: var(--edenx-home-hero-name-background) !important;
15
+ }
package/src/i18n/enUS.ts CHANGED
@@ -9,7 +9,7 @@ export const EN_US = {
9
9
 
10
10
  // Features
11
11
  feature1: 'Rust Bundler',
12
- featureDesc1: 'Easily switch to Rspack bundler with faster build speed.',
12
+ featureDesc1: 'Built with Rspack bundler for faster build speed.',
13
13
  feature2: 'Integrated BFF',
14
14
  featureDesc2:
15
15
  'Develop BFF code in the same project, enjoy simple function calls.',
@@ -34,10 +34,8 @@ export const EN_US = {
34
34
  command: 'Command',
35
35
  runtime: 'Runtime',
36
36
  conventions: 'Conventions',
37
- microFrontend: 'Micro Frontend',
38
- stateManagement: 'State Management',
37
+ moduleFederation: 'Module Federation',
39
38
  pluginSystem: 'Plugin System',
40
- projectGenerator: 'Project Generator',
41
39
  githubDiscussion: 'Github Discussion',
42
40
  changelog: 'Changelog',
43
41
 
package/src/i18n/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { useLang, withBase } from 'rspress/runtime';
1
+ import { useLang, withBase } from '@rspress/core/runtime';
2
2
  import { EN_US } from './enUS';
3
3
  import { ZH_CN } from './zhCN';
4
4