@modern-js/main-doc 2.69.5 → 3.0.0-alpha.0

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 (540) hide show
  1. package/docs/en/{_meta.json → _nav.json} +5 -1
  2. package/docs/en/apis/app/commands.mdx +2 -3
  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 +16 -12
  13. package/docs/en/components/build-output.mdx +45 -0
  14. package/docs/en/components/debug-app.mdx +1 -1
  15. package/docs/en/components/enable-bff-caution.mdx +2 -2
  16. package/docs/en/components/enable-bff.mdx +38 -8
  17. package/docs/en/components/enable-ssg.mdx +48 -0
  18. package/docs/en/components/entry-scan-logic.mdx +7 -0
  19. package/docs/en/components/init-app.mdx +40 -17
  20. package/docs/en/components/international/install-command.mdx +9 -0
  21. package/docs/en/components/international/introduce.mdx +2 -0
  22. package/docs/en/components/module-federation.mdx +4 -4
  23. package/docs/en/components/new-entry-tooltip.mdx +0 -0
  24. package/docs/en/components/nodeVersion.mdx +2 -6
  25. package/docs/en/components/prerequisites.mdx +1 -1
  26. package/docs/en/components/ua-polyfill.mdx +16 -12
  27. package/docs/en/components/upgrade-browserslist.mdx +0 -0
  28. package/docs/en/configure/_meta.json +7 -8
  29. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  30. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  31. package/docs/en/configure/app/dev/server.mdx +103 -0
  32. package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
  33. package/docs/en/configure/app/html/app-icon.mdx +1 -23
  34. package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
  35. package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
  36. package/docs/en/configure/app/output/source-map.mdx +6 -3
  37. package/docs/en/configure/app/output/ssg.mdx +12 -43
  38. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  39. package/docs/en/configure/app/performance/build-cache.mdx +0 -4
  40. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  41. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  42. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  43. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  44. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  45. package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
  46. package/docs/en/configure/app/security/check-syntax.mdx +1 -1
  47. package/docs/en/configure/app/server/port.mdx +1 -21
  48. package/docs/en/configure/app/server/rsc.mdx +30 -0
  49. package/docs/en/configure/app/server/ssr.mdx +20 -9
  50. package/docs/en/configure/app/source/decorators.mdx +4 -2
  51. package/docs/en/configure/app/source/entries.mdx +0 -2
  52. package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
  53. package/docs/en/configure/app/source/transform-import.mdx +1 -59
  54. package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
  55. package/docs/en/configure/app/tools/css-extract.mdx +1 -1
  56. package/docs/en/configure/app/tools/dev-server.mdx +14 -248
  57. package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
  58. package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
  59. package/docs/en/configure/app/tools/swc.mdx +1 -43
  60. package/docs/en/configure/app/usage.mdx +7 -17
  61. package/docs/en/guides/_meta.json +1 -2
  62. package/docs/en/guides/advanced-features/_meta.json +6 -0
  63. package/docs/en/guides/advanced-features/bff/cross-project.mdx +1 -7
  64. package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
  65. package/docs/en/guides/advanced-features/bff/frameworks.mdx +1 -1
  66. package/docs/en/guides/advanced-features/bff/function.mdx +2 -6
  67. package/docs/en/guides/advanced-features/bff/sdk.mdx +3 -3
  68. package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
  69. package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
  70. package/docs/en/guides/advanced-features/international/_meta.json +11 -0
  71. package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
  72. package/docs/en/guides/advanced-features/international/api.mdx +400 -0
  73. package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
  74. package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
  75. package/docs/en/guides/advanced-features/international/configuration.mdx +437 -0
  76. package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
  77. package/docs/en/guides/advanced-features/international/quick-start.mdx +154 -0
  78. package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
  79. package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
  80. package/docs/en/guides/advanced-features/international.mdx +37 -0
  81. package/docs/en/guides/advanced-features/low-level.mdx +21 -16
  82. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
  83. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  84. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  85. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  86. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -22
  87. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
  88. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +62 -34
  89. package/docs/en/guides/advanced-features/web-server.mdx +82 -299
  90. package/docs/en/guides/basic-features/_meta.json +6 -1
  91. package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
  92. package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
  93. package/docs/en/guides/basic-features/css/css.mdx +3 -3
  94. package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
  95. package/docs/en/guides/basic-features/data/data-cache.mdx +5 -1
  96. package/docs/en/guides/basic-features/data/data-fetch.mdx +4 -4
  97. package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
  98. package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
  99. package/docs/en/guides/basic-features/debug/proxy.mdx +0 -8
  100. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
  101. package/docs/en/guides/basic-features/deploy.mdx +25 -18
  102. package/docs/en/guides/basic-features/env-vars.mdx +1 -1
  103. package/docs/en/guides/basic-features/html.mdx +1 -1
  104. package/docs/en/guides/basic-features/output-files.mdx +3 -3
  105. package/docs/en/guides/basic-features/render/_meta.json +1 -1
  106. package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
  107. package/docs/en/guides/basic-features/render/overview.mdx +51 -0
  108. package/docs/en/guides/basic-features/render/rsc.mdx +394 -0
  109. package/docs/en/guides/basic-features/render/ssg.mdx +26 -62
  110. package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -6
  111. package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
  112. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
  113. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  114. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  115. package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
  116. package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
  117. package/docs/en/guides/basic-features/static-assets.mdx +2 -2
  118. package/docs/en/guides/concept/builder.mdx +24 -9
  119. package/docs/en/guides/concept/entries.mdx +139 -147
  120. package/docs/en/guides/get-started/glossary.mdx +0 -18
  121. package/docs/en/guides/get-started/introduction.mdx +1 -4
  122. package/docs/en/guides/get-started/quick-start.mdx +8 -73
  123. package/docs/en/guides/get-started/tech-stack.mdx +7 -25
  124. package/docs/en/guides/get-started/upgrade.mdx +30 -23
  125. package/docs/en/guides/topic-detail/_meta.json +0 -12
  126. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
  127. package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
  128. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  129. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
  130. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
  131. package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
  132. package/docs/en/guides/troubleshooting/builder.mdx +3 -82
  133. package/docs/en/guides/troubleshooting/cli.mdx +6 -30
  134. package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
  135. package/docs/en/plugin/cli-plugins/api.mdx +4 -5
  136. package/docs/en/plugin/cli-plugins/migration.mdx +33 -48
  137. package/docs/en/plugin/introduction.mdx +39 -27
  138. package/docs/en/plugin/official/_meta.json +0 -5
  139. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
  140. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  141. package/docs/en/plugin/official/cli-plugins.mdx +0 -2
  142. package/docs/en/plugin/plugin-system.mdx +68 -61
  143. package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
  144. package/docs/en/plugin/runtime-plugins/migration.mdx +29 -20
  145. package/docs/en/tutorials/_meta.json +0 -10
  146. package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
  147. package/docs/en/tutorials/foundations/introduction.mdx +9 -25
  148. package/docs/zh/{_meta.json → _nav.json} +10 -6
  149. package/docs/zh/apis/app/commands.mdx +2 -3
  150. package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
  151. package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
  152. package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
  153. package/docs/zh/apis/app/runtime/_meta.json +0 -18
  154. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  155. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
  156. package/docs/zh/community/blog/v2-release-note.mdx +0 -2
  157. package/docs/zh/community/contributing-guide.mdx +10 -12
  158. package/docs/zh/components/auto-upgrade.mdx +0 -0
  159. package/docs/zh/components/bff-upload.mdx +8 -5
  160. package/docs/zh/components/build-output.mdx +45 -0
  161. package/docs/zh/components/debug-app.mdx +1 -1
  162. package/docs/zh/components/enable-bff-caution.mdx +1 -1
  163. package/docs/zh/components/enable-bff.mdx +37 -8
  164. package/docs/zh/components/enable-ssg.mdx +47 -0
  165. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  166. package/docs/zh/components/init-app.mdx +40 -18
  167. package/docs/zh/components/international/install-command.mdx +8 -0
  168. package/docs/zh/components/international/introduce.mdx +2 -0
  169. package/docs/zh/components/international/platform-support.mdx +0 -0
  170. package/docs/zh/components/module-federation.mdx +4 -4
  171. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  172. package/docs/zh/components/nodeVersion.mdx +3 -7
  173. package/docs/zh/components/prerequisites.mdx +1 -1
  174. package/docs/zh/components/self-route-example.mdx +3 -3
  175. package/docs/zh/components/ua-polyfill.mdx +11 -6
  176. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  177. package/docs/zh/configure/_meta.json +7 -8
  178. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  179. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  180. package/docs/zh/configure/app/dev/server.mdx +104 -0
  181. package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
  182. package/docs/zh/configure/app/html/app-icon.mdx +1 -23
  183. package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
  184. package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
  185. package/docs/zh/configure/app/output/source-map.mdx +10 -3
  186. package/docs/zh/configure/app/output/ssg.mdx +13 -45
  187. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  188. package/docs/zh/configure/app/performance/build-cache.mdx +0 -4
  189. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  190. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  191. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  192. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  193. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  194. package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
  195. package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
  196. package/docs/zh/configure/app/server/port.mdx +2 -21
  197. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  198. package/docs/zh/configure/app/server/ssr.mdx +21 -11
  199. package/docs/zh/configure/app/source/decorators.mdx +4 -4
  200. package/docs/zh/configure/app/source/entries.mdx +0 -2
  201. package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
  202. package/docs/zh/configure/app/source/transform-import.mdx +1 -59
  203. package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
  204. package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
  205. package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
  206. package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
  207. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
  208. package/docs/zh/configure/app/tools/swc.mdx +1 -43
  209. package/docs/zh/configure/app/usage.mdx +8 -18
  210. package/docs/zh/guides/_meta.json +5 -1
  211. package/docs/zh/guides/advanced-features/_meta.json +6 -1
  212. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
  213. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
  214. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +1 -1
  215. package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
  216. package/docs/zh/guides/advanced-features/bff/sdk.mdx +4 -4
  217. package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
  218. package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
  219. package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
  220. package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
  221. package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
  222. package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
  223. package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
  224. package/docs/zh/guides/advanced-features/international/configuration.mdx +441 -0
  225. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
  226. package/docs/zh/guides/advanced-features/international/quick-start.mdx +149 -0
  227. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
  228. package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
  229. package/docs/zh/guides/advanced-features/international.mdx +36 -0
  230. package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
  231. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
  232. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  233. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  234. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  235. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
  236. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +63 -35
  237. package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
  238. package/docs/zh/guides/basic-features/_meta.json +6 -1
  239. package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
  240. package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
  241. package/docs/zh/guides/basic-features/css/css.mdx +2 -2
  242. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
  243. package/docs/zh/guides/basic-features/data/data-cache.mdx +8 -5
  244. package/docs/zh/guides/basic-features/data/data-fetch.mdx +6 -5
  245. package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
  246. package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
  247. package/docs/zh/guides/basic-features/debug/proxy.mdx +0 -8
  248. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
  249. package/docs/zh/guides/basic-features/deploy.mdx +24 -20
  250. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  251. package/docs/zh/guides/basic-features/html.mdx +2 -2
  252. package/docs/zh/guides/basic-features/output-files.mdx +3 -3
  253. package/docs/zh/guides/basic-features/render/_meta.json +1 -1
  254. package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
  255. package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
  256. package/docs/zh/guides/basic-features/render/rsc.mdx +413 -0
  257. package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
  258. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -5
  259. package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
  260. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
  261. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  262. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  263. package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
  264. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
  265. package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
  266. package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
  267. package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
  268. package/docs/zh/guides/concept/builder.mdx +24 -9
  269. package/docs/zh/guides/concept/entries.mdx +95 -92
  270. package/docs/zh/guides/get-started/glossary.mdx +0 -18
  271. package/docs/zh/guides/get-started/introduction.mdx +1 -5
  272. package/docs/zh/guides/get-started/quick-start.mdx +5 -72
  273. package/docs/zh/guides/get-started/tech-stack.mdx +8 -26
  274. package/docs/zh/guides/get-started/upgrade.mdx +30 -23
  275. package/docs/zh/guides/topic-detail/_meta.json +0 -12
  276. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
  277. package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
  278. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  279. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
  280. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
  281. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -32
  282. package/docs/zh/guides/troubleshooting/builder.mdx +3 -84
  283. package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
  284. package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
  285. package/docs/zh/guides/upgrade/_meta.json +1 -0
  286. package/docs/zh/guides/upgrade/config.mdx +809 -0
  287. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  288. package/docs/zh/guides/upgrade/other.md +90 -0
  289. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  290. package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
  291. package/docs/zh/guides/upgrade/web-server.md +93 -0
  292. package/docs/zh/plugin/cli-plugins/api.mdx +4 -5
  293. package/docs/zh/plugin/cli-plugins/migration.mdx +30 -45
  294. package/docs/zh/plugin/introduction.mdx +36 -24
  295. package/docs/zh/plugin/official/_meta.json +0 -5
  296. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
  297. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  298. package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
  299. package/docs/zh/plugin/plugin-system.mdx +45 -42
  300. package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
  301. package/docs/zh/plugin/runtime-plugins/migration.mdx +26 -17
  302. package/docs/zh/tutorials/_meta.json +0 -10
  303. package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
  304. package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
  305. package/i18n.json +0 -16
  306. package/package.json +12 -12
  307. package/rspress.config.ts +5 -8
  308. package/src/components/ContentCard/index.module.scss +11 -7
  309. package/src/components/ContentCard/index.tsx +1 -1
  310. package/src/components/FeatureLayout/index.module.css +1 -1
  311. package/src/components/Footer/index.tsx +2 -14
  312. package/src/components/Footer/styles.module.scss +5 -5
  313. package/src/components/ListCard/index.tsx +1 -1
  314. package/src/components/RandomMemberList/index.tsx +1 -1
  315. package/src/components/RsbuildLink/index.tsx +1 -1
  316. package/src/components/Sandpack/index.tsx +1 -1
  317. package/src/custom.scss +15 -0
  318. package/src/i18n/enUS.ts +2 -4
  319. package/src/i18n/index.ts +1 -1
  320. package/src/i18n/zhCN.ts +2 -4
  321. package/src/index.ts +2 -1
  322. package/src/pages/index.module.scss +59 -41
  323. package/src/pages/index.tsx +9 -24
  324. package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
  325. package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
  326. package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
  327. package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
  328. package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
  329. package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
  330. package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
  331. package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
  332. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  333. package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
  334. package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
  335. package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
  336. package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
  337. package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
  338. package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
  339. package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
  340. package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
  341. package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
  342. package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
  343. package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
  344. package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
  345. package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
  346. package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
  347. package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
  348. package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
  349. package/docs/en/components/bff-proxy-principle.mdx +0 -1
  350. package/docs/en/components/builder.mdx +0 -3
  351. package/docs/en/components/create-bff-api-app.mdx +0 -25
  352. package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
  353. package/docs/en/components/enable-micro-frontend.mdx +0 -30
  354. package/docs/en/components/enableSwc.mdx +0 -17
  355. package/docs/en/components/global-proxy-config.mdx +0 -85
  356. package/docs/en/components/global-proxy.mdx +0 -29
  357. package/docs/en/components/package-manager.mdx +0 -11
  358. package/docs/en/components/reduck-notify.mdx +0 -27
  359. package/docs/en/components/reduck-tip.mdx +0 -8
  360. package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
  361. package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
  362. package/docs/en/configure/app/dev/port.mdx +0 -25
  363. package/docs/en/configure/app/dev/proxy.mdx +0 -9
  364. package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
  365. package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
  366. package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
  367. package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
  368. package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
  369. package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
  370. package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
  371. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
  372. package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
  373. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
  374. package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
  375. package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
  376. package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
  377. package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
  378. package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
  379. package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
  380. package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
  381. package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
  382. package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
  383. package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
  384. package/docs/en/configure/app/runtime/master-app.mdx +0 -36
  385. package/docs/en/configure/app/runtime/state.mdx +0 -52
  386. package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
  387. package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
  388. package/docs/en/configure/app/source/module-scopes.mdx +0 -72
  389. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
  390. package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
  391. package/docs/en/configure/app/tools/esbuild.mdx +0 -44
  392. package/docs/en/configure/app/tools/pug.mdx +0 -54
  393. package/docs/en/configure/app/tools/styled-components.mdx +0 -55
  394. package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
  395. package/docs/en/configure/app/tools/terser.mdx +0 -58
  396. package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
  397. package/docs/en/configure/app/tools/webpack-chain.mdx +0 -249
  398. package/docs/en/configure/app/tools/webpack.mdx +0 -305
  399. package/docs/en/guides/deprecated.md +0 -17
  400. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
  401. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
  402. package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
  403. package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  404. package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
  405. package/docs/en/guides/topic-detail/model/_meta.json +0 -14
  406. package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
  407. package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
  408. package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
  409. package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
  410. package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
  411. package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
  412. package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
  413. package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
  414. package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
  415. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
  416. package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
  417. package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  418. package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
  419. package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  420. package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
  421. package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
  422. package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
  423. package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
  424. package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
  425. package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
  426. package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
  427. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
  428. package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
  429. package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
  430. package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
  431. package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
  432. package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
  433. package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
  434. package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
  435. package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
  436. package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
  437. package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
  438. package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
  439. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  440. package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
  441. package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
  442. package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
  443. package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
  444. package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
  445. package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
  446. package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
  447. package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
  448. package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
  449. package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
  450. package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
  451. package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
  452. package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
  453. package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
  454. package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
  455. package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
  456. package/docs/zh/components/bff-proxy-principle.mdx +0 -1
  457. package/docs/zh/components/builder.mdx +0 -3
  458. package/docs/zh/components/create-bff-api-app.mdx +0 -25
  459. package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
  460. package/docs/zh/components/enable-micro-frontend.mdx +0 -30
  461. package/docs/zh/components/enableSwc.mdx +0 -17
  462. package/docs/zh/components/global-proxy-config.mdx +0 -85
  463. package/docs/zh/components/global-proxy.mdx +0 -29
  464. package/docs/zh/components/package-manager.mdx +0 -11
  465. package/docs/zh/components/reduck-notify.mdx +0 -27
  466. package/docs/zh/components/reduck-tip.mdx +0 -8
  467. package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
  468. package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
  469. package/docs/zh/configure/app/dev/port.mdx +0 -25
  470. package/docs/zh/configure/app/dev/proxy.mdx +0 -9
  471. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
  472. package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
  473. package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
  474. package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
  475. package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
  476. package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
  477. package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
  478. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
  479. package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
  480. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
  481. package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
  482. package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
  483. package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
  484. package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
  485. package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
  486. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
  487. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
  488. package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
  489. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
  490. package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
  491. package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
  492. package/docs/zh/configure/app/runtime/state.mdx +0 -52
  493. package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
  494. package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
  495. package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
  496. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
  497. package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
  498. package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
  499. package/docs/zh/configure/app/tools/pug.mdx +0 -54
  500. package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
  501. package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
  502. package/docs/zh/configure/app/tools/terser.mdx +0 -58
  503. package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
  504. package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -253
  505. package/docs/zh/configure/app/tools/webpack.mdx +0 -305
  506. package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
  507. package/docs/zh/guides/deprecated.md +0 -19
  508. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
  509. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
  510. package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
  511. package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  512. package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
  513. package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
  514. package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
  515. package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
  516. package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
  517. package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
  518. package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
  519. package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
  520. package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
  521. package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
  522. package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
  523. package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
  524. package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
  525. package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  526. package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
  527. package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  528. package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
  529. package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
  530. package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
  531. package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
  532. package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
  533. package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
  534. package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
  535. package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
  536. package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
  537. package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
  538. package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
  539. /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
  540. /package/docs/{zh/components/reduck-migration.mdx → en/components/international/platform-support.mdx} +0 -0
@@ -6,15 +6,13 @@ Modern.js 采用高度可扩展的插件化架构,其核心功能和扩展能
6
6
 
7
7
  Modern.js 秉承“一切皆插件”的设计哲学,将框架的各项功能模块化,通过插件的形式进行组装和扩展。这种设计带来了诸多优势,包括:
8
8
 
9
- - **高内聚,低耦合**:各功能模块独立开发、测试和维护,降低系统复杂度。
10
- - **灵活可扩展**:用户可通过编写或组合插件,轻松定制框架行为,无需修改核心代码。
11
- - **易于复用**:插件可跨项目共享,提高开发效率。
12
- - **渐进式增强**:按需引入插件,无需一开始就承载所有功能的复杂性。
9
+ - **高内聚,低耦合**:各功能模块独立开发、测试和维护,降低系统复杂度。
10
+ - **灵活可扩展**:用户可通过编写或组合插件,轻松定制框架行为,无需修改核心代码。
11
+ - **易于复用**:插件可跨项目共享,提高开发效率。
12
+ - **渐进式增强**:按需引入插件,无需一开始就承载所有功能的复杂性。
13
13
 
14
14
  ## 插件类型与适用场景
15
15
 
16
- Modern.js 提供了三种主要插件类型,分别对应应用开发的不同阶段:
17
-
18
16
  **CLI 插件**:
19
17
  - **作用阶段**:构建时(执行 `modern` 命令时)。
20
18
  - **典型场景**:
@@ -47,15 +45,15 @@ Modern.js 提供了三种主要插件类型,分别对应应用开发的不同
47
45
  一个典型的 Modern.js 插件包含以下几个关键部分:
48
46
 
49
47
  ```ts
50
- import type { Plugin } from '@modern-js/plugin-v2';
48
+ import type { Plugin } from '@modern-js/plugin';
51
49
 
52
50
  const myPlugin: Plugin = {
53
51
  name: 'my-awesome-plugin', // 插件的唯一标识符(必需)
54
52
 
55
53
  // 插件依赖和执行顺序(可选)
56
- pre: [], // 在此插件之前执行的插件名列表,默认为空数组
57
- post: [], // 在此插件之后执行的插件名列表,默认为空数组
58
- required: [],// 必需的插件列表,若依赖的插件未注册,则会报错,默认为空数组
54
+ pre: [], // 在此插件之前执行的插件名列表,默认为空数组
55
+ post: [], // 在此插件之后执行的插件名列表,默认为空数组
56
+ required: [], // 必需的插件列表,若依赖的插件未注册,则会报错,默认为空数组
59
57
  usePlugins: [], // 内部使用的插件实例列表,默认为空数组
60
58
 
61
59
  // 注册新的 Hook (可选)
@@ -64,8 +62,12 @@ const myPlugin: Plugin = {
64
62
  // 插件的入口函数(必需)
65
63
  setup(api) {
66
64
  // 插件的核心逻辑,通过 api 对象调用插件 API
67
- api.modifyWebpackConfig(config => { /* ... */ });
68
- api.onPrepare(() => { /* ... */ });
65
+ api.modifyWebpackConfig(config => {
66
+ /* ... */
67
+ });
68
+ api.onPrepare(() => {
69
+ /* ... */
70
+ });
69
71
  // ... 其他 API 调用
70
72
  },
71
73
  };
@@ -129,98 +131,99 @@ export default myPlugin;
129
131
  - 类型: `Record<string, PluginHook<(...args: any[]) => any>>`
130
132
  - 说明:扩展当前支持的 Hook 函数,以实现自定义功能。
131
133
 
132
-
133
134
  ## 插件 Hook 模型
134
135
 
135
136
  Modern.js 插件系统的核心是其 Hook 模型,它定义了插件之间的通信机制。Modern.js 主要提供两种 Hook 类型:
136
137
 
137
138
  ### Async Hook(异步 Hook)
138
139
 
139
- - **特点**:
140
- - Hook 函数异步执行,支持 `async/await`。
141
- - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
142
- - 最终返回最后一个 Hook 函数的返回值。
143
- - **适用场景**:涉及异步操作的场景(如网络请求、文件读写等)。
144
- - **创建方式**:使用 `createAsyncHook` 创建。
140
+ - **特点**:
141
+ - Hook 函数异步执行,支持 `async/await`。
142
+ - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
143
+ - 最终返回最后一个 Hook 函数的返回值。
144
+ - **适用场景**:涉及异步操作的场景(如网络请求、文件读写等)。
145
+ - **创建方式**:使用 `createAsyncHook` 创建。
145
146
 
146
147
  示例:
147
148
 
148
149
  ```ts
149
150
  // 定义 Hooks
150
- import { createAsyncHook } from '@modern-js/plugin-v2';
151
+ import { createAsyncHook } from '@modern-js/plugin';
151
152
 
152
153
  export type AfterPrepareFn = () => Promise<void> | void;
153
154
  export const onAfterPrepare = createAsyncHook<AfterPrepareFn>();
154
155
 
155
156
  // 插件中注册 Hooks
156
157
  const myPlugin = () => ({
157
- name: "my-plugin",
158
+ name: 'my-plugin',
158
159
  registryHooks: {
159
160
  onAfterPrepare,
160
161
  },
161
- setup: (api) => {
162
+ setup: api => {
162
163
  api.onPrepare(async () => {
163
164
  // 插件中使用注册的 Hooks
164
165
  const hooks = api.getHooks();
165
166
  await hooks.onAfterPrepare.call();
166
167
  });
167
- }
168
+ },
168
169
  });
169
170
 
170
171
  // 在其他插件中使用 Hook
171
172
  const myPlugin2 = () => ({
172
- name: "my-plugin-2",
173
- setup: (api) => {
173
+ name: 'my-plugin-2',
174
+ setup: api => {
174
175
  api.onAfterPrepare(async () => {
175
176
  // TOOD
176
177
  });
177
- }
178
- })
178
+ },
179
+ });
179
180
  ```
180
181
 
181
182
  ### Sync Hook(同步 Hook)
182
183
 
183
- - **特点**:
184
- - Hook 函数同步执行。
185
- - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
186
- - 最终返回最后一个 Hook 函数的返回值。
187
- - **适用场景**:需要同步修改数据的场景(如修改配置、路由等)。
188
- - **创建方式**:使用 `createSyncHook` 创建。
184
+ - **特点**:
185
+ - Hook 函数同步执行。
186
+ - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
187
+ - 最终返回最后一个 Hook 函数的返回值。
188
+ - **适用场景**:需要同步修改数据的场景(如修改配置、路由等)。
189
+ - **创建方式**:使用 `createSyncHook` 创建。
189
190
 
190
191
  示例:
191
192
 
192
193
  ```ts
193
194
  // 定义 Hooks
194
- import { createSyncHook } from '@modern-js/plugin-v2';
195
+ import { createSyncHook } from '@modern-js/plugin';
195
196
 
196
- type RouteObject = {/** TODO **/};
197
+ type RouteObject = {
198
+ /** TODO **/
199
+ };
197
200
  const modifyRoutes = createSyncHook<(routes: RouteObject[]) => RouteObject[]>();
198
201
 
199
202
  // 插件中注册 Hooks
200
203
  const myPlugin = () => ({
201
- name: "my-plugin",
204
+ name: 'my-plugin',
202
205
  registryHooks: {
203
206
  modifyRoutes,
204
207
  },
205
- setup: (api) => {
208
+ setup: api => {
206
209
  api.onPrepare(async () => {
207
210
  const routes = {};
208
211
  // 在插件中使用注册的 Hooks
209
212
  const hooks = api.getHooks();
210
213
  const routesResult = hooks.modifyRoutes.call(routes);
211
214
  });
212
- }
215
+ },
213
216
  });
214
217
 
215
218
  // 其他插件使用 Hooks
216
219
  const myPlugin2 = () => ({
217
- name: "my-plugin",
218
- setup: (api) => {
219
- api.modifyRoutes(async (routes) => {
220
+ name: 'my-plugin',
221
+ setup: api => {
222
+ api.modifyRoutes(async routes => {
220
223
  // 修改 routes
221
224
  return routes;
222
225
  });
223
- }
226
+ },
224
227
  });
225
228
  ```
226
229
 
@@ -13,18 +13,18 @@ Runtime 插件需要通过 `src/modern.runtime.ts` 中的 [`plugins`](/configure
13
13
  一个典型的 Runtime 插件如下所示:
14
14
 
15
15
  ```ts
16
- import type { RuntimePluginFuture } from '@modern-js/runtime';
16
+ import type { RuntimePlugin } from '@modern-js/runtime';
17
17
 
18
- const myRuntimePlugin = (): RuntimePluginFuture => ({
18
+ const myRuntimePlugin = (): RuntimePlugin => ({
19
19
  name: 'my-runtime-plugin',
20
- setup: (api) => {
20
+ setup: api => {
21
21
  // 使用 api 注册钩子
22
- api.onBeforeRender((context) => {
22
+ api.onBeforeRender(context => {
23
23
  console.log('Before rendering:', context);
24
24
  });
25
25
 
26
- api.wrapRoot((App) => {
27
- return (props) => (
26
+ api.wrapRoot(App => {
27
+ return props => (
28
28
  <MyContextProvider>
29
29
  <App {...props} />
30
30
  </MyContextProvider>
@@ -34,18 +34,17 @@ const myRuntimePlugin = (): RuntimePluginFuture => ({
34
34
  });
35
35
 
36
36
  export default myRuntimePlugin;
37
-
38
37
  ```
39
38
 
40
- - `name`: 插件的唯一标识符。
41
- - `setup`: 插件的主要逻辑,接收一个 `api` 对象作为参数,用于注册钩子。
39
+ - `name`: 插件的唯一标识符。
40
+ - `setup`: 插件的主要逻辑,接收一个 `api` 对象作为参数,用于注册钩子。
42
41
 
43
42
  ## API 概览
44
43
 
45
44
  Runtime 插件 API 主要分为以下几类:
46
45
 
47
- - **信息获取**:获取运行时配置和钩子函数。
48
- - **生命周期钩子**:在应用渲染的不同阶段执行自定义逻辑。
46
+ - **信息获取**:获取运行时配置和钩子函数。
47
+ - **生命周期钩子**:在应用渲染的不同阶段执行自定义逻辑。
49
48
 
50
49
  ### 信息获取
51
50
 
@@ -53,7 +52,7 @@ Runtime 插件 API 主要分为以下几类:
53
52
 
54
53
  获取用户在 `modern.runtime.ts` 文件中定义的运行时配置。
55
54
 
56
- - **用法**:
55
+ - **用法**:
57
56
 
58
57
  ```ts
59
58
  const config = api.getRuntimeConfig();
@@ -69,16 +68,18 @@ console.log(config.myCustomSetting);
69
68
 
70
69
  获取可用于手动触发的钩子函数。
71
70
 
72
- - **类型:**
71
+ - **类型:**
73
72
 
74
73
  ```ts
75
74
  () => {
76
- onBeforeRender: { call: (context: any) => Promise<void> };
75
+ onBeforeRender: {
76
+ call: (context: any) => Promise<void>;
77
+ }
77
78
  // 其他钩子...
78
79
  };
79
80
  ```
80
81
 
81
- - **用法:**
82
+ - **用法:**
82
83
 
83
84
  ```ts
84
85
  const hooks = api.getHooks();
@@ -91,21 +92,24 @@ await hooks.onBeforeRender.call(myContext);
91
92
 
92
93
  在应用渲染(包括服务器端渲染和客户端渲染)之前执行。您可以在此钩子中执行数据预取、修改渲染上下文等操作。
93
94
 
94
- - **类型:**
95
+ - **类型:**
95
96
 
96
- ```ts
97
- type OnBeforeRenderFn<RuntimeContext> = (context: RuntimeContext) => Promise<void> | void;
98
- ```
99
- `RuntimeContext` 包含当前请求的上下文信息,如请求对象、响应对象等。
97
+ ```ts
98
+ type OnBeforeRenderFn<RuntimeContext> = (
99
+ context: RuntimeContext,
100
+ ) => Promise<void> | void;
101
+ ```
100
102
 
101
- - **用法:**
103
+ `RuntimeContext` 包含当前请求的上下文信息,如请求对象、响应对象等。
102
104
 
103
- ```ts
104
- api.onBeforeRender(async (context) => {
105
- const data = await fetchData(context.req);
106
- context.data = data; // 将数据添加到上下文中
107
- });
108
- ```
105
+ - **用法:**
106
+
107
+ ```ts
108
+ api.onBeforeRender(async context => {
109
+ const data = await fetchData(context.req);
110
+ context.data = data; // 将数据添加到上下文中
111
+ });
112
+ ```
109
113
 
110
114
  :::warning
111
115
 
@@ -118,35 +122,33 @@ await hooks.onBeforeRender.call(myContext);
118
122
 
119
123
  允许您使用自定义的 React 组件包裹应用的根组件。常用于添加全局的 Provider、布局组件等。
120
124
 
121
- - **类型:**
122
-
123
- ```ts
124
- type WrapRootFn = (
125
- App: React.ComponentType<any>
126
- ) => React.ComponentType<any>;
127
- ```
128
-
129
- - **用法:**
130
-
131
- ```ts
132
- api.wrapRoot((App) => {
133
- const AppWrapper = (props) => {
134
- return (
135
- <MyGlobalProvider>
136
- <Layout>
137
- <App {...props} /> {/* 确保传递 props */}
138
- </Layout>
139
- </MyGlobalProvider>
140
- );
141
- };
142
- return AppWrapper;
143
- });
144
- ```
125
+ - **类型:**
126
+
127
+ ```ts
128
+ type WrapRootFn = (App: React.ComponentType<any>) => React.ComponentType<any>;
129
+ ```
130
+
131
+ - **用法:**
132
+
133
+ ```ts
134
+ api.wrapRoot(App => {
135
+ const AppWrapper = props => {
136
+ return (
137
+ <MyGlobalProvider>
138
+ <Layout>
139
+ <App {...props} /> {/* 确保传递 props */}
140
+ </Layout>
141
+ </MyGlobalProvider>
142
+ );
143
+ };
144
+ return AppWrapper;
145
+ });
146
+ ```
145
147
 
146
148
  :::warning
147
149
 
148
- - **务必将 `props` 传递给原始的 `App` 组件**,否则可能导致应用无法正常工作。
149
- - `wrapRoot` 返回的组件会在每次渲染时重新创建,因此应避免在其中定义复杂的逻辑或状态。
150
+ - **务必将 `props` 传递给原始的 `App` 组件**,否则可能导致应用无法正常工作。
151
+ - `wrapRoot` 返回的组件会在每次渲染时重新创建,因此应避免在其中定义复杂的逻辑或状态。
150
152
 
151
153
  :::
152
154
 
@@ -157,12 +159,12 @@ await hooks.onBeforeRender.call(myContext);
157
159
  您可以组合使用多个钩子来实现更复杂的功能。例如,您可以使用 `onBeforeRender` 获取数据,然后使用 `wrapRoot` 将数据通过 Context 传递给整个应用:
158
160
 
159
161
  ```ts
160
- import { RuntimePluginFuture, RuntimeReactContext } from '@modern-js/runtime';
162
+ import { RuntimePlugin, RuntimeContext } from '@modern-js/runtime';
161
163
  import { useContext, createContext } from 'react';
162
164
 
163
165
  export const ThemeContext = createContext<{ theme: string } | null>(null);
164
166
 
165
- export const themePlugin = (): RuntimePluginFuture => {
167
+ export const themePlugin = (): RuntimePlugin => {
166
168
  return {
167
169
  name: 'theme-plugin',
168
170
  setup: api => {
@@ -177,7 +179,7 @@ export const themePlugin = (): RuntimePluginFuture => {
177
179
 
178
180
  api.wrapRoot(App => {
179
181
  return props => {
180
- const context = useContext(RuntimeReactContext);
182
+ const context = useContext(RuntimeContext);
181
183
  return (
182
184
  <ThemeContext.Provider value={context.data}>
183
185
  <App {...props} />
@@ -6,7 +6,7 @@ Modern.js 插件系统持续演进,为了提供更清晰的 API 和更强大
6
6
 
7
7
  ### 迁移步骤总览
8
8
 
9
- 1. **更新插件类型定义**:将 `Plugin` 类型替换为 `RuntimePluginFuture`。
9
+ 1. **更新插件类型定义**:将 `Plugin` 类型替换为 `RuntimePlugin`。
10
10
  2. **调整 Hooks 调用方式**:从 `return hooks` 模式迁移到 `api.xxx` 直接调用。
11
11
  3. **替换已变更的 API**:参照详细的 API 映射表,更新您的代码。
12
12
 
@@ -23,12 +23,12 @@ import type { Plugin } from '@modern-js/runtime';
23
23
  const plugin: Plugin = { ... };
24
24
 
25
25
  // 新版写法
26
- import type { RuntimePluginFuture } from '@modern-js/runtime';
26
+ import type { RuntimePlugin } from '@modern-js/runtime';
27
27
 
28
- const plugin: RuntimePluginFuture = { ... };
28
+ const plugin: RuntimePlugin = { ... };
29
29
  ```
30
30
 
31
- **说明:** `RuntimePluginFuture` 类型是新版插件的标准定义,它带来了更好的类型推断和更清晰的 API 结构。
31
+ **说明:** `RuntimePlugin` 类型是新版插件的标准定义,它带来了更好的类型推断和更清晰的 API 结构。
32
32
 
33
33
  #### 调整 Hooks 调用方式
34
34
 
@@ -38,15 +38,19 @@ const plugin: RuntimePluginFuture = { ... };
38
38
  // 旧版写法 (return hooks)
39
39
  {
40
40
  setup: () => ({
41
- beforeRender({ req, res }) { /*...*/ }
42
- })
41
+ beforeRender({ req, res }) {
42
+ /*...*/
43
+ },
44
+ });
43
45
  }
44
46
 
45
47
  // 新版写法 (api.xxx)
46
48
  {
47
49
  setup: api => {
48
- api.onBeforeRender(({ req, res }) => { /*...*/ })
49
- }
50
+ api.onBeforeRender(({ req, res }) => {
51
+ /*...*/
52
+ });
53
+ };
50
54
  }
51
55
  ```
52
56
 
@@ -56,13 +60,14 @@ const plugin: RuntimePluginFuture = { ... };
56
60
 
57
61
  为了保持 API 的一致性和清晰性,我们对部分 API 的名称进行了调整。同时,`hoc` 和 `init` 这两个 Hook 已被移除,请使用新的 Hook 进行替代。下表列出了所有变更的 API 及其新旧对应关系:
58
62
 
59
- | 旧版 API | 新版 API | 说明 |
60
- | :------------ | :---------------- | :----------------------------------------------------------------------------------------------------------------------- |
61
- | `beforeRender` | `onBeforeRender` | 在应用渲染前执行。 |
62
- | `hoc` | `wrapRoot` | **重要变更:** 用于包裹根组件,实现高阶组件 (HOC) 的功能。请确保将 props 传递给原始组件。 |
63
- | `init` | `onBeforeRender` | **重要变更:** 在应用渲染前执行初始化逻辑。 |
63
+ | 旧版 API | 新版 API | 说明 |
64
+ | :------------- | :--------------- | :---------------------------------------------------------------------------------------- |
65
+ | `beforeRender` | `onBeforeRender` | 在应用渲染前执行。 |
66
+ | `hoc` | `wrapRoot` | **重要变更:** 用于包裹根组件,实现高阶组件 (HOC) 的功能。请确保将 props 传递给原始组件。 |
67
+ | `init` | `onBeforeRender` | **重要变更:** 在应用渲染前执行初始化逻辑。 |
64
68
 
65
69
  **说明:**
70
+
66
71
  - `onBeforeRender` 替代了原来的 `beforeRender` 和 `init`,分别用于渲染前逻辑和初始化。
67
72
  - `wrapRoot` 替代了 `hoc`,用于实现高阶组件功能,使用时务必注意 props 的传递。
68
73
 
@@ -71,14 +76,18 @@ const plugin: RuntimePluginFuture = { ... };
71
76
  ```typescript
72
77
  {
73
78
  setup: api => {
74
- api.wrapRoot((App) => {
75
- const AppWrapper = (props) => {
79
+ api.wrapRoot(App => {
80
+ const AppWrapper = props => {
76
81
  // 确保将 props 传递给原始组件
77
- return <Provider value={xx}><App {...props}/></Provider>;
82
+ return (
83
+ <Provider value={xx}>
84
+ <App {...props} />
85
+ </Provider>
86
+ );
78
87
  };
79
88
  return AppWrapper;
80
89
  });
81
- }
90
+ };
82
91
  }
83
92
  ```
84
93
 
@@ -1,14 +1,4 @@
1
1
  [
2
- {
3
- "type": "dir",
4
- "name": "foundations",
5
- "label": "foundations"
6
- },
7
- {
8
- "type": "dir",
9
- "name": "first-app",
10
- "label": "first-app"
11
- },
12
2
  {
13
3
  "type": "dir",
14
4
  "name": "examples",
@@ -4,7 +4,7 @@ title: 路由鉴权
4
4
 
5
5
  # 路由鉴权
6
6
 
7
- Modern.js 默认提供的路由方式是基于 React Router 6 的约定式路由,具体可查看[路由方案](/guides/basic-features/routes.html#路由方案)。
7
+ Modern.js 默认提供的路由方式是基于 React Router v7 的约定式路由,具体可查看[路由方案](/guides/basic-features/routes/routes#路由方案)。
8
8
 
9
9
  在一个 Web 应用中如果存在多个路由,我们可能需要对部分路由进行鉴权后才能访问。例如下面这个案例:
10
10
 
@@ -3,37 +3,20 @@ title: 介绍
3
3
  sidebar_position: 1
4
4
  ---
5
5
 
6
- # 介绍
6
+ # Modern.js 示例库
7
7
 
8
- 欢迎来到 Modern.js 教程!
8
+ 欢迎来到 Modern.js 示例库!这里提供实用的代码示例,帮助你快速上手 Modern.js。
9
9
 
10
- 阅读本栏目后,你将初步理解 Modern.js,并使用 Modern.js 创建第一个应用。
10
+ 如果你是第一次接触 Modern.js,建议先阅读 [Modern.js 介绍](/guides/get-started/introduction)。
11
11
 
12
- ## Modern.js 是什么
13
-
14
- 如果你对 Modern.js 还不了解,可以先阅读 [Modern.js 介绍](/guides/get-started/introduction)。
15
-
16
- ## 实战教程
17
-
18
- 我们准备了一个创建「联系人列表应用」的实战教程,你可以按照教程一步步创建一个应用,并了解到 Modern.js 中的以下实践:
19
-
20
- - 创建项目
21
- - 使用 antd 组件库
22
- - 集成 Tailwind CSS
23
- - 客户端路由
24
- - 数据获取
25
- - 状态管理
26
- - 容器组件
27
- - 新建入口
28
- - ...
29
-
30
- ## 案例
31
-
32
- 我们提供了一些在开发过程中常用的案例供你参考,可以在这里找到 Modern.js 提供的一些功能组合的使用方式,我们将持续完善这里的案例。
12
+ ## 📚 示例列表
33
13
 
34
14
  import ExampleList from '@site-docs/components/turtorials-example-list';
35
15
 
36
16
  <ExampleList />
37
17
 
38
- 下面就让我们从 [创建项目](tutorials/first-app/c01-start) 开始吧!
18
+ ---
19
+
20
+ ## 💡 贡献示例
39
21
 
22
+ 如果你有好的示例想要分享,欢迎通过 [GitHub](https://github.com/web-infra-dev/modern.js) 提交 PR!
package/i18n.json CHANGED
@@ -111,26 +111,10 @@
111
111
  "zh": "Rsbuild 插件",
112
112
  "en": "Rsbuild Plugins"
113
113
  },
114
- "reduck": {
115
- "zh": "Reduck 状态管理",
116
- "en": "Reduck State Manager"
117
- },
118
114
  "module-federation": {
119
115
  "zh": "模块联邦",
120
116
  "en": "Module Federation"
121
117
  },
122
- "generator": {
123
- "zh": "项目生成器",
124
- "en": "Project Generator"
125
- },
126
- "new-command": {
127
- "zh": "New 命令",
128
- "en": "New Command"
129
- },
130
- "generator-plugin": {
131
- "zh": "生成器插件",
132
- "en": "Generator Plugin"
133
- },
134
118
  "examples": {
135
119
  "zh": "示例",
136
120
  "en": "Examples"
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/web-infra-dev/modern.js",
9
- "directory": "packages/document/main-doc"
9
+ "directory": "packages/document"
10
10
  },
11
11
  "license": "MIT",
12
12
  "keywords": [
@@ -15,29 +15,29 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.69.5",
18
+ "version": "3.0.0-alpha.0",
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
21
21
  "access": "public"
22
22
  },
23
23
  "dependencies": {
24
- "mermaid": "^11.4.1",
25
- "@modern-js/sandpack-react": "2.69.5"
24
+ "mermaid": "^11.12.2",
25
+ "@modern-js/sandpack-react": "3.0.0-alpha.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rsbuild/plugin-sass": "1.4.0",
29
- "@shikijs/transformers": "^3.4.2",
30
- "@rspress/shared": "2.0.0-beta.16",
31
- "@rspress/plugin-llms": "2.0.0-beta.16",
29
+ "@shikijs/transformers": "^3.20.0",
30
+ "@rspress/shared": "2.0.0-rc.0",
31
+ "@rspress/plugin-llms": "2.0.0-rc.0",
32
32
  "@types/fs-extra": "9.0.13",
33
- "@types/node": "^16",
33
+ "@types/node": "^20",
34
34
  "classnames": "^2.5.1",
35
35
  "clsx": "^1.2.1",
36
36
  "fs-extra": "^10.1.0",
37
- "react": "^18.3.1",
38
- "react-dom": "^18.3.1",
39
- "rspress": "2.0.0-beta.16",
40
- "ts-node": "^10.9.1",
37
+ "react": "^19.2.3",
38
+ "react-dom": "^19.2.3",
39
+ "@rspress/core": "2.0.0-rc.0",
40
+ "ts-node": "^10.9.2",
41
41
  "typescript": "^5"
42
42
  },
43
43
  "scripts": {
package/rspress.config.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import path from 'path';
2
2
  import { pluginSass } from '@rsbuild/plugin-sass';
3
+ import { defineConfig } from '@rspress/core';
3
4
  import { pluginLlms } from '@rspress/plugin-llms';
4
5
  import { transformerNotationHighlight } from '@shikijs/transformers';
5
- import { defineConfig } from 'rspress/config';
6
6
 
7
7
  const docPath = path.join(__dirname, 'docs');
8
8
 
@@ -63,7 +63,7 @@ export default defineConfig({
63
63
  ],
64
64
  editLink: {
65
65
  docRepoBaseUrl:
66
- 'https://github.com/web-infra-dev/modern.js/tree/main/packages/document/main-doc/docs',
66
+ 'https://github.com/web-infra-dev/modern.js/tree/main/packages/document/docs',
67
67
  text: 'Edit this page on GitHub',
68
68
  },
69
69
  socialLinks: [
@@ -77,12 +77,6 @@ export default defineConfig({
77
77
  mode: 'link',
78
78
  content: 'https://github.com/web-infra-dev/modern.js',
79
79
  },
80
- {
81
- icon: 'lark',
82
- mode: 'link',
83
- content:
84
- 'https://applink.larkoffice.com/client/chat/chatter/add_by_link?link_token=d21hc667-9403-48a9-ba32-bc1440a80279',
85
- },
86
80
  ],
87
81
  },
88
82
  route: {
@@ -98,6 +92,9 @@ export default defineConfig({
98
92
  },
99
93
  ],
100
94
  builderConfig: {
95
+ performance: {
96
+ buildCache: false,
97
+ },
101
98
  tools: {
102
99
  // FIXME: use `?raw` after upgrading to Rsbuild@1.4.0, https://github.com/web-infra-dev/rsbuild/pull/5355
103
100
  rspack(_config, { addRules }) {