@bleedingdev/modern-js-main-doc 3.2.0-ultramodern.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 (802) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/builder-doc/docs/en/config/performance/rsdoctor.md +37 -0
  4. package/builder-doc/docs/zh/config/performance/rsdoctor.md +37 -0
  5. package/docs/en/_nav.json +36 -0
  6. package/docs/en/apis/_meta.json +13 -0
  7. package/docs/en/apis/app/commands.mdx +215 -0
  8. package/docs/en/apis/app/hooks/_meta.json +28 -0
  9. package/docs/en/apis/app/hooks/api/lambda.mdx +13 -0
  10. package/docs/en/apis/app/hooks/config/_meta.json +1 -0
  11. package/docs/en/apis/app/hooks/config/favicon.mdx +29 -0
  12. package/docs/en/apis/app/hooks/config/html.mdx +9 -0
  13. package/docs/en/apis/app/hooks/config/icon.mdx +29 -0
  14. package/docs/en/apis/app/hooks/config/mock.mdx +7 -0
  15. package/docs/en/apis/app/hooks/config/public.mdx +30 -0
  16. package/docs/en/apis/app/hooks/config/upload.mdx +54 -0
  17. package/docs/en/apis/app/hooks/modern-config.mdx +9 -0
  18. package/docs/en/apis/app/hooks/server/server.mdx +10 -0
  19. package/docs/en/apis/app/hooks/shared.mdx +7 -0
  20. package/docs/en/apis/app/hooks/src/app.mdx +30 -0
  21. package/docs/en/apis/app/hooks/src/entry.mdx +39 -0
  22. package/docs/en/apis/app/hooks/src/entry.server.mdx +56 -0
  23. package/docs/en/apis/app/hooks/src/modern.runtime.mdx +9 -0
  24. package/docs/en/apis/app/hooks/src/routes.mdx +90 -0
  25. package/docs/en/apis/app/hooks/src/server.mdx +7 -0
  26. package/docs/en/apis/app/runtime/_meta.json +32 -0
  27. package/docs/en/apis/app/runtime/bff/use-backend-context.mdx +30 -0
  28. package/docs/en/apis/app/runtime/core/create-root.mdx +22 -0
  29. package/docs/en/apis/app/runtime/core/render.mdx +42 -0
  30. package/docs/en/apis/app/runtime/core/runtime-context.mdx +160 -0
  31. package/docs/en/apis/app/runtime/router/router.mdx +288 -0
  32. package/docs/en/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  33. package/docs/en/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  34. package/docs/en/apis/app/runtime/ssr/renderString.mdx +64 -0
  35. package/docs/en/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  36. package/docs/en/apis/app/runtime/utility/css-in-js.mdx +44 -0
  37. package/docs/en/apis/app/runtime/utility/head.mdx +38 -0
  38. package/docs/en/apis/app/runtime/utility/loadable.mdx +85 -0
  39. package/docs/en/community/_meta.json +11 -0
  40. package/docs/en/community/blog/2022-0708-updates.md +95 -0
  41. package/docs/en/community/blog/2022-0910-updates.md +80 -0
  42. package/docs/en/community/blog/_meta.json +7 -0
  43. package/docs/en/community/blog/overview.md +67 -0
  44. package/docs/en/community/blog/v2-release-note.mdx +244 -0
  45. package/docs/en/community/blog/v3-release-note.mdx +628 -0
  46. package/docs/en/community/contributing-guide.mdx +257 -0
  47. package/docs/en/community/releases.mdx +31 -0
  48. package/docs/en/community/showcase.mdx +15 -0
  49. package/docs/en/community/team.mdx +29 -0
  50. package/docs/en/components/auto-upgrade.mdx +0 -0
  51. package/docs/en/components/bff-upload.mdx +97 -0
  52. package/docs/en/components/build-output.mdx +45 -0
  53. package/docs/en/components/bundler.mdx +3 -0
  54. package/docs/en/components/convention-routing-motivation.mdx +0 -0
  55. package/docs/en/components/debug-app.mdx +15 -0
  56. package/docs/en/components/default-browserslist.mdx +7 -0
  57. package/docs/en/components/deploy-command.mdx +14 -0
  58. package/docs/en/components/deploy.mdx +1 -0
  59. package/docs/en/components/enable-bff-caution.mdx +3 -0
  60. package/docs/en/components/enable-bff.mdx +56 -0
  61. package/docs/en/components/enable-ssg.mdx +49 -0
  62. package/docs/en/components/entry-mode.mdx +0 -0
  63. package/docs/en/components/entry-scan-logic.mdx +7 -0
  64. package/docs/en/components/extend-bff-function.mdx +3 -0
  65. package/docs/en/components/hono.mdx +120 -0
  66. package/docs/en/components/init-app.mdx +111 -0
  67. package/docs/en/components/init-rspack-app.mdx +5 -0
  68. package/docs/en/components/internal-logger.mdx +25 -0
  69. package/docs/en/components/internal-metrics.mdx +20 -0
  70. package/docs/en/components/international/custom-instance-code.mdx +16 -0
  71. package/docs/en/components/international/init-options-desc.mdx +1 -0
  72. package/docs/en/components/international/install-command.mdx +10 -0
  73. package/docs/en/components/international/instance-code.mdx +16 -0
  74. package/docs/en/components/international/introduce.mdx +5 -0
  75. package/docs/en/components/international/platform-support.mdx +0 -0
  76. package/docs/en/components/language-config.mdx +9 -0
  77. package/docs/en/components/micro-frontend.mdx +6 -0
  78. package/docs/en/components/micro-master-manifest-config.mdx +15 -0
  79. package/docs/en/components/micro-runtime-config.mdx +17 -0
  80. package/docs/en/components/module-federation.mdx +7 -0
  81. package/docs/en/components/new-entry-tooltip.mdx +0 -0
  82. package/docs/en/components/nodeVersion.mdx +28 -0
  83. package/docs/en/components/other-plugins.mdx +0 -0
  84. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  85. package/docs/en/components/output-distpath-warning.mdx +0 -0
  86. package/docs/en/components/output-polyfill-extend.mdx +1 -0
  87. package/docs/en/components/prerequisites.mdx +18 -0
  88. package/docs/en/components/release-note.mdx +1 -0
  89. package/docs/en/components/routes-practice.mdx +0 -0
  90. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  91. package/docs/en/components/rsbuild.mdx +3 -0
  92. package/docs/en/components/rsc-deploy-tip.mdx +1 -0
  93. package/docs/en/components/rspack.mdx +3 -0
  94. package/docs/en/components/rspackTip.mdx +7 -0
  95. package/docs/en/components/runtime-cli-config.mdx +0 -0
  96. package/docs/en/components/serve-command.mdx +22 -0
  97. package/docs/en/components/ssr-monitor.mdx +3 -0
  98. package/docs/en/components/stream-ssr-performance.mdx +0 -0
  99. package/docs/en/components/swc.mdx +3 -0
  100. package/docs/en/components/tech-stack-node-framework.mdx +1 -0
  101. package/docs/en/components/turtorials-example-list.mdx +2 -0
  102. package/docs/en/components/ua-polyfill.mdx +44 -0
  103. package/docs/en/components/upgrade-browserslist.mdx +0 -0
  104. package/docs/en/components/upgrade-config-deploy.mdx +0 -0
  105. package/docs/en/components/upgrade-faq.mdx +0 -0
  106. package/docs/en/configure/_meta.json +78 -0
  107. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  108. package/docs/en/configure/app/bff/effect.mdx +152 -0
  109. package/docs/en/configure/app/bff/prefix.mdx +33 -0
  110. package/docs/en/configure/app/bff/runtime-framework.mdx +28 -0
  111. package/docs/en/configure/app/builder-plugins.mdx +70 -0
  112. package/docs/en/configure/app/dev/asset-prefix.mdx +18 -0
  113. package/docs/en/configure/app/dev/before-start-url.mdx +21 -0
  114. package/docs/en/configure/app/dev/client.mdx +45 -0
  115. package/docs/en/configure/app/dev/hmr.mdx +14 -0
  116. package/docs/en/configure/app/dev/host.mdx +22 -0
  117. package/docs/en/configure/app/dev/https.mdx +81 -0
  118. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  119. package/docs/en/configure/app/dev/live-reload.mdx +14 -0
  120. package/docs/en/configure/app/dev/progress-bar.mdx +23 -0
  121. package/docs/en/configure/app/dev/server.mdx +128 -0
  122. package/docs/en/configure/app/dev/setup-middlewares.mdx +36 -0
  123. package/docs/en/configure/app/dev/start-url.mdx +53 -0
  124. package/docs/en/configure/app/dev/watch-files.mdx +31 -0
  125. package/docs/en/configure/app/dev/write-to-disk.mdx +14 -0
  126. package/docs/en/configure/app/experiments/source-build.mdx +33 -0
  127. package/docs/en/configure/app/html/app-icon.mdx +32 -0
  128. package/docs/en/configure/app/html/crossorigin.mdx +14 -0
  129. package/docs/en/configure/app/html/favicon.mdx +20 -0
  130. package/docs/en/configure/app/html/inject.mdx +14 -0
  131. package/docs/en/configure/app/html/meta.mdx +28 -0
  132. package/docs/en/configure/app/html/mount-id.mdx +14 -0
  133. package/docs/en/configure/app/html/output-structure.mdx +14 -0
  134. package/docs/en/configure/app/html/script-loading.mdx +14 -0
  135. package/docs/en/configure/app/html/tags.mdx +19 -0
  136. package/docs/en/configure/app/html/template-parameters.mdx +37 -0
  137. package/docs/en/configure/app/html/template.mdx +14 -0
  138. package/docs/en/configure/app/html/title.mdx +22 -0
  139. package/docs/en/configure/app/output/asset-prefix.mdx +18 -0
  140. package/docs/en/configure/app/output/assets-retry.mdx +81 -0
  141. package/docs/en/configure/app/output/charset.mdx +14 -0
  142. package/docs/en/configure/app/output/clean-dist-path.mdx +20 -0
  143. package/docs/en/configure/app/output/convert-to-rem.mdx +83 -0
  144. package/docs/en/configure/app/output/copy.mdx +14 -0
  145. package/docs/en/configure/app/output/css-modules.mdx +52 -0
  146. package/docs/en/configure/app/output/data-uri-limit.mdx +30 -0
  147. package/docs/en/configure/app/output/disable-css-module-extension.mdx +59 -0
  148. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  149. package/docs/en/configure/app/output/disable-svgr.mdx +20 -0
  150. package/docs/en/configure/app/output/disable-ts-checker.mdx +53 -0
  151. package/docs/en/configure/app/output/dist-path.mdx +51 -0
  152. package/docs/en/configure/app/output/enable-asset-manifest.mdx +40 -0
  153. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  154. package/docs/en/configure/app/output/enable-inline-route-manifests.mdx +20 -0
  155. package/docs/en/configure/app/output/externals.mdx +24 -0
  156. package/docs/en/configure/app/output/filename-hash.mdx +14 -0
  157. package/docs/en/configure/app/output/filename.mdx +59 -0
  158. package/docs/en/configure/app/output/inject-styles.mdx +14 -0
  159. package/docs/en/configure/app/output/inline-scripts.mdx +33 -0
  160. package/docs/en/configure/app/output/inline-styles.mdx +33 -0
  161. package/docs/en/configure/app/output/legal-comments.mdx +22 -0
  162. package/docs/en/configure/app/output/minify.mdx +26 -0
  163. package/docs/en/configure/app/output/override-browserslist.mdx +26 -0
  164. package/docs/en/configure/app/output/polyfill.mdx +18 -0
  165. package/docs/en/configure/app/output/source-map.mdx +34 -0
  166. package/docs/en/configure/app/output/split-route-chunks.mdx +20 -0
  167. package/docs/en/configure/app/output/ssg.mdx +85 -0
  168. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  169. package/docs/en/configure/app/output/svg-default-export.mdx +34 -0
  170. package/docs/en/configure/app/output/temp-dir.mdx +24 -0
  171. package/docs/en/configure/app/performance/build-cache.mdx +43 -0
  172. package/docs/en/configure/app/performance/chunk-split.mdx +44 -0
  173. package/docs/en/configure/app/performance/dns-prefetch.mdx +19 -0
  174. package/docs/en/configure/app/performance/preconnect.mdx +20 -0
  175. package/docs/en/configure/app/performance/prefetch.mdx +25 -0
  176. package/docs/en/configure/app/performance/preload.mdx +27 -0
  177. package/docs/en/configure/app/performance/print-file-size.mdx +44 -0
  178. package/docs/en/configure/app/performance/profile.mdx +14 -0
  179. package/docs/en/configure/app/performance/remove-console.mdx +14 -0
  180. package/docs/en/configure/app/performance/remove-moment-locale.mdx +14 -0
  181. package/docs/en/configure/app/performance/rsdoctor.mdx +39 -0
  182. package/docs/en/configure/app/plugins.mdx +59 -0
  183. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  184. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  185. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  186. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  187. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  188. package/docs/en/configure/app/runtime/0-intro.mdx +61 -0
  189. package/docs/en/configure/app/runtime/plugins.mdx +58 -0
  190. package/docs/en/configure/app/runtime/router.mdx +39 -0
  191. package/docs/en/configure/app/security/check-syntax.mdx +73 -0
  192. package/docs/en/configure/app/security/nonce.mdx +19 -0
  193. package/docs/en/configure/app/security/sri.mdx +24 -0
  194. package/docs/en/configure/app/server/base-url.mdx +30 -0
  195. package/docs/en/configure/app/server/port.mdx +22 -0
  196. package/docs/en/configure/app/server/public-routes.mdx +26 -0
  197. package/docs/en/configure/app/server/routes.mdx +90 -0
  198. package/docs/en/configure/app/server/rsc.mdx +30 -0
  199. package/docs/en/configure/app/server/ssr-by-entries.mdx +29 -0
  200. package/docs/en/configure/app/server/ssr.mdx +85 -0
  201. package/docs/en/configure/app/server/tsconfig-path.mdx +63 -0
  202. package/docs/en/configure/app/source/alias-strategy.mdx +18 -0
  203. package/docs/en/configure/app/source/alias.mdx +27 -0
  204. package/docs/en/configure/app/source/config-dir.mdx +24 -0
  205. package/docs/en/configure/app/source/decorators.mdx +29 -0
  206. package/docs/en/configure/app/source/define.mdx +20 -0
  207. package/docs/en/configure/app/source/disable-default-entries.mdx +32 -0
  208. package/docs/en/configure/app/source/enable-async-entry.mdx +54 -0
  209. package/docs/en/configure/app/source/enable-async-pre-entry.mdx +30 -0
  210. package/docs/en/configure/app/source/entries-dir.mdx +39 -0
  211. package/docs/en/configure/app/source/entries.mdx +183 -0
  212. package/docs/en/configure/app/source/exclude.mdx +14 -0
  213. package/docs/en/configure/app/source/global-vars.mdx +110 -0
  214. package/docs/en/configure/app/source/include.mdx +40 -0
  215. package/docs/en/configure/app/source/main-entry-name.mdx +28 -0
  216. package/docs/en/configure/app/source/pre-entry.mdx +14 -0
  217. package/docs/en/configure/app/source/transform-import.mdx +31 -0
  218. package/docs/en/configure/app/split-chunks.mdx +17 -0
  219. package/docs/en/configure/app/tools/autoprefixer.mdx +48 -0
  220. package/docs/en/configure/app/tools/bundler-chain.mdx +30 -0
  221. package/docs/en/configure/app/tools/css-extract.mdx +37 -0
  222. package/docs/en/configure/app/tools/css-loader.mdx +21 -0
  223. package/docs/en/configure/app/tools/dev-server.mdx +117 -0
  224. package/docs/en/configure/app/tools/html-plugin.mdx +45 -0
  225. package/docs/en/configure/app/tools/less.mdx +85 -0
  226. package/docs/en/configure/app/tools/lightningcss-loader.mdx +39 -0
  227. package/docs/en/configure/app/tools/minify-css.mdx +57 -0
  228. package/docs/en/configure/app/tools/postcss.mdx +38 -0
  229. package/docs/en/configure/app/tools/rspack.mdx +14 -0
  230. package/docs/en/configure/app/tools/sass.mdx +82 -0
  231. package/docs/en/configure/app/tools/style-loader.mdx +14 -0
  232. package/docs/en/configure/app/tools/swc.mdx +69 -0
  233. package/docs/en/configure/app/tools/ts-checker.mdx +56 -0
  234. package/docs/en/configure/app/usage.mdx +276 -0
  235. package/docs/en/guides/_meta.json +37 -0
  236. package/docs/en/guides/advanced-features/_meta.json +32 -0
  237. package/docs/en/guides/advanced-features/bff/_meta.json +10 -0
  238. package/docs/en/guides/advanced-features/bff/cross-project.mdx +110 -0
  239. package/docs/en/guides/advanced-features/bff/data-platform.mdx +118 -0
  240. package/docs/en/guides/advanced-features/bff/extend-server.mdx +120 -0
  241. package/docs/en/guides/advanced-features/bff/frameworks.mdx +118 -0
  242. package/docs/en/guides/advanced-features/bff/function.mdx +261 -0
  243. package/docs/en/guides/advanced-features/bff/operators.mdx +629 -0
  244. package/docs/en/guides/advanced-features/bff/sdk.mdx +116 -0
  245. package/docs/en/guides/advanced-features/bff/upload.mdx +7 -0
  246. package/docs/en/guides/advanced-features/bff.mdx +22 -0
  247. package/docs/en/guides/advanced-features/build-performance.mdx +134 -0
  248. package/docs/en/guides/advanced-features/compatibility.mdx +81 -0
  249. package/docs/en/guides/advanced-features/international/_meta.json +10 -0
  250. package/docs/en/guides/advanced-features/international/advanced.mdx +132 -0
  251. package/docs/en/guides/advanced-features/international/api.mdx +235 -0
  252. package/docs/en/guides/advanced-features/international/best-practices.mdx +290 -0
  253. package/docs/en/guides/advanced-features/international/configuration.mdx +221 -0
  254. package/docs/en/guides/advanced-features/international/locale-detection.mdx +130 -0
  255. package/docs/en/guides/advanced-features/international/quick-start.mdx +112 -0
  256. package/docs/en/guides/advanced-features/international/resource-loading.mdx +158 -0
  257. package/docs/en/guides/advanced-features/international/routing.mdx +134 -0
  258. package/docs/en/guides/advanced-features/international.mdx +29 -0
  259. package/docs/en/guides/advanced-features/low-level.mdx +50 -0
  260. package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -0
  261. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +81 -0
  262. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +163 -0
  263. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  264. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +54 -0
  265. package/docs/en/guides/advanced-features/server-monitor/_meta.json +1 -0
  266. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +19 -0
  267. package/docs/en/guides/advanced-features/server-monitor/metrics.mdx +41 -0
  268. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +242 -0
  269. package/docs/en/guides/advanced-features/source-build.mdx +168 -0
  270. package/docs/en/guides/advanced-features/web-server.mdx +284 -0
  271. package/docs/en/guides/basic-features/_meta.json +49 -0
  272. package/docs/en/guides/basic-features/alias.mdx +106 -0
  273. package/docs/en/guides/basic-features/css/_meta.json +1 -0
  274. package/docs/en/guides/basic-features/css/css-in-js.mdx +69 -0
  275. package/docs/en/guides/basic-features/css/css-modules.mdx +212 -0
  276. package/docs/en/guides/basic-features/css/css.mdx +31 -0
  277. package/docs/en/guides/basic-features/css/tailwindcss.mdx +27 -0
  278. package/docs/en/guides/basic-features/data/_meta.json +1 -0
  279. package/docs/en/guides/basic-features/data/data-cache.mdx +515 -0
  280. package/docs/en/guides/basic-features/data/data-fetch.mdx +419 -0
  281. package/docs/en/guides/basic-features/data/data-write.mdx +230 -0
  282. package/docs/en/guides/basic-features/debug/_meta.json +1 -0
  283. package/docs/en/guides/basic-features/debug/mock.mdx +102 -0
  284. package/docs/en/guides/basic-features/debug/proxy.mdx +25 -0
  285. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +48 -0
  286. package/docs/en/guides/basic-features/debug/using-storybook.mdx +100 -0
  287. package/docs/en/guides/basic-features/deploy.mdx +448 -0
  288. package/docs/en/guides/basic-features/env-vars.mdx +181 -0
  289. package/docs/en/guides/basic-features/html.mdx +259 -0
  290. package/docs/en/guides/basic-features/output-files.mdx +145 -0
  291. package/docs/en/guides/basic-features/render/_meta.json +10 -0
  292. package/docs/en/guides/basic-features/render/before-render.mdx +108 -0
  293. package/docs/en/guides/basic-features/render/overview.mdx +52 -0
  294. package/docs/en/guides/basic-features/render/rsc.mdx +534 -0
  295. package/docs/en/guides/basic-features/render/ssg.mdx +167 -0
  296. package/docs/en/guides/basic-features/render/ssr-cache.mdx +201 -0
  297. package/docs/en/guides/basic-features/render/ssr.mdx +323 -0
  298. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +267 -0
  299. package/docs/en/guides/basic-features/render/tanstack-rsc.mdx +226 -0
  300. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  301. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  302. package/docs/en/guides/basic-features/routes/routes.mdx +517 -0
  303. package/docs/en/guides/basic-features/static-assets/_meta.json +1 -0
  304. package/docs/en/guides/basic-features/static-assets/json-files.mdx +124 -0
  305. package/docs/en/guides/basic-features/static-assets/svg-assets.mdx +172 -0
  306. package/docs/en/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  307. package/docs/en/guides/basic-features/static-assets.mdx +164 -0
  308. package/docs/en/guides/basic-features/testing/_meta.json +1 -0
  309. package/docs/en/guides/basic-features/testing/cypress.mdx +95 -0
  310. package/docs/en/guides/basic-features/testing/jest.mdx +148 -0
  311. package/docs/en/guides/basic-features/testing/playwright.mdx +111 -0
  312. package/docs/en/guides/basic-features/testing/rstest.mdx +163 -0
  313. package/docs/en/guides/basic-features/testing/vitest.mdx +100 -0
  314. package/docs/en/guides/concept/_meta.json +1 -0
  315. package/docs/en/guides/concept/builder.mdx +60 -0
  316. package/docs/en/guides/concept/entries.mdx +325 -0
  317. package/docs/en/guides/concept/server.mdx +35 -0
  318. package/docs/en/guides/get-started/_meta.json +8 -0
  319. package/docs/en/guides/get-started/glossary.mdx +63 -0
  320. package/docs/en/guides/get-started/introduction.mdx +45 -0
  321. package/docs/en/guides/get-started/quick-start.mdx +92 -0
  322. package/docs/en/guides/get-started/tech-stack.mdx +91 -0
  323. package/docs/en/guides/get-started/ultramodern.mdx +98 -0
  324. package/docs/en/guides/get-started/upgrade.mdx +114 -0
  325. package/docs/en/guides/topic-detail/_meta.json +8 -0
  326. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -0
  327. package/docs/en/guides/topic-detail/module-federation/application.mdx +116 -0
  328. package/docs/en/guides/topic-detail/module-federation/deploy.mdx +104 -0
  329. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  330. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +36 -0
  331. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +170 -0
  332. package/docs/en/guides/topic-detail/module-federation/usage.mdx +202 -0
  333. package/docs/en/guides/troubleshooting/_meta.json +1 -0
  334. package/docs/en/guides/troubleshooting/builder.mdx +114 -0
  335. package/docs/en/guides/troubleshooting/cli.mdx +39 -0
  336. package/docs/en/guides/troubleshooting/dependencies.mdx +123 -0
  337. package/docs/en/guides/troubleshooting/hmr.mdx +148 -0
  338. package/docs/en/guides/upgrade/_meta.json +1 -0
  339. package/docs/en/guides/upgrade/config.mdx +949 -0
  340. package/docs/en/guides/upgrade/entry.mdx +463 -0
  341. package/docs/en/guides/upgrade/other.mdx +183 -0
  342. package/docs/en/guides/upgrade/overview.mdx +33 -0
  343. package/docs/en/guides/upgrade/tailwindcss.mdx +92 -0
  344. package/docs/en/guides/upgrade/web-server.md +109 -0
  345. package/docs/en/index.md +4 -0
  346. package/docs/en/plugin/_meta.json +25 -0
  347. package/docs/en/plugin/cli-plugins/_meta.json +1 -0
  348. package/docs/en/plugin/cli-plugins/api.mdx +573 -0
  349. package/docs/en/plugin/cli-plugins/life-cycle.mdx +135 -0
  350. package/docs/en/plugin/introduction.mdx +153 -0
  351. package/docs/en/plugin/official/_meta.json +7 -0
  352. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -0
  353. package/docs/en/plugin/official/cli-plugins/plugin-bff.mdx +5 -0
  354. package/docs/en/plugin/official/cli-plugins/plugin-ssg.mdx +5 -0
  355. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  356. package/docs/en/plugin/official/cli-plugins.mdx +4 -0
  357. package/docs/en/plugin/plugin-system.mdx +244 -0
  358. package/docs/en/plugin/runtime-plugins/_meta.json +1 -0
  359. package/docs/en/plugin/runtime-plugins/api.mdx +193 -0
  360. package/docs/en/plugin/runtime-plugins/life-cycle.mdx +29 -0
  361. package/docs/en/plugin/server-plugins/_meta.json +1 -0
  362. package/docs/en/plugin/server-plugins/api.mdx +212 -0
  363. package/docs/en/plugin/server-plugins/life-cycle.mdx +43 -0
  364. package/docs/en/tutorials/_meta.json +7 -0
  365. package/docs/en/tutorials/examples/csr-auth.mdx +31 -0
  366. package/docs/en/tutorials/foundations/introduction.mdx +22 -0
  367. package/docs/zh/_nav.json +36 -0
  368. package/docs/zh/apis/_meta.json +13 -0
  369. package/docs/zh/apis/app/commands.mdx +215 -0
  370. package/docs/zh/apis/app/hooks/_meta.json +28 -0
  371. package/docs/zh/apis/app/hooks/api/lambda.mdx +14 -0
  372. package/docs/zh/apis/app/hooks/config/_meta.json +1 -0
  373. package/docs/zh/apis/app/hooks/config/favicon.mdx +29 -0
  374. package/docs/zh/apis/app/hooks/config/html.mdx +9 -0
  375. package/docs/zh/apis/app/hooks/config/icon.mdx +29 -0
  376. package/docs/zh/apis/app/hooks/config/mock.mdx +7 -0
  377. package/docs/zh/apis/app/hooks/config/public.mdx +30 -0
  378. package/docs/zh/apis/app/hooks/config/upload.mdx +54 -0
  379. package/docs/zh/apis/app/hooks/modern-config.mdx +9 -0
  380. package/docs/zh/apis/app/hooks/server/server.mdx +10 -0
  381. package/docs/zh/apis/app/hooks/shared.mdx +7 -0
  382. package/docs/zh/apis/app/hooks/src/app.mdx +36 -0
  383. package/docs/zh/apis/app/hooks/src/entry.mdx +39 -0
  384. package/docs/zh/apis/app/hooks/src/entry.server.mdx +56 -0
  385. package/docs/zh/apis/app/hooks/src/modern.runtime.mdx +9 -0
  386. package/docs/zh/apis/app/hooks/src/routes.mdx +90 -0
  387. package/docs/zh/apis/app/hooks/src/server.mdx +7 -0
  388. package/docs/zh/apis/app/runtime/_meta.json +32 -0
  389. package/docs/zh/apis/app/runtime/bff/use-backend-context.mdx +31 -0
  390. package/docs/zh/apis/app/runtime/core/create-root.mdx +22 -0
  391. package/docs/zh/apis/app/runtime/core/render.mdx +43 -0
  392. package/docs/zh/apis/app/runtime/core/runtime-context.mdx +160 -0
  393. package/docs/zh/apis/app/runtime/router/router.mdx +287 -0
  394. package/docs/zh/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  395. package/docs/zh/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  396. package/docs/zh/apis/app/runtime/ssr/renderString.mdx +64 -0
  397. package/docs/zh/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  398. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +44 -0
  399. package/docs/zh/apis/app/runtime/utility/head.mdx +38 -0
  400. package/docs/zh/apis/app/runtime/utility/loadable.mdx +83 -0
  401. package/docs/zh/community/_meta.json +11 -0
  402. package/docs/zh/community/blog/2022-0708-updates.md +95 -0
  403. package/docs/zh/community/blog/2022-0910-updates.md +80 -0
  404. package/docs/zh/community/blog/_meta.json +7 -0
  405. package/docs/zh/community/blog/overview.md +74 -0
  406. package/docs/zh/community/blog/v2-release-note.mdx +244 -0
  407. package/docs/zh/community/blog/v3-release-note.mdx +628 -0
  408. package/docs/zh/community/contributing-guide.mdx +256 -0
  409. package/docs/zh/community/releases.mdx +31 -0
  410. package/docs/zh/community/showcase.mdx +15 -0
  411. package/docs/zh/community/team.mdx +29 -0
  412. package/docs/zh/components/auto-upgrade.mdx +0 -0
  413. package/docs/zh/components/bff-operator-code.mdx +5 -0
  414. package/docs/zh/components/bff-upload.mdx +98 -0
  415. package/docs/zh/components/build-output.mdx +45 -0
  416. package/docs/zh/components/bundler.mdx +3 -0
  417. package/docs/zh/components/convention-routing-motivation.mdx +0 -0
  418. package/docs/zh/components/debug-app.mdx +16 -0
  419. package/docs/zh/components/default-browserslist.mdx +7 -0
  420. package/docs/zh/components/deploy-command.mdx +14 -0
  421. package/docs/zh/components/deploy.mdx +1 -0
  422. package/docs/zh/components/enable-bff-caution.mdx +4 -0
  423. package/docs/zh/components/enable-bff.mdx +56 -0
  424. package/docs/zh/components/enable-ssg.mdx +49 -0
  425. package/docs/zh/components/entry-mode.mdx +0 -0
  426. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  427. package/docs/zh/components/extend-bff-function.mdx +3 -0
  428. package/docs/zh/components/hono.mdx +120 -0
  429. package/docs/zh/components/init-app.mdx +111 -0
  430. package/docs/zh/components/init-rspack-app.mdx +5 -0
  431. package/docs/zh/components/internal-logger.mdx +25 -0
  432. package/docs/zh/components/internal-metrics.mdx +20 -0
  433. package/docs/zh/components/international/custom-instance-code.mdx +16 -0
  434. package/docs/zh/components/international/init-options-desc.mdx +1 -0
  435. package/docs/zh/components/international/install-command.mdx +11 -0
  436. package/docs/zh/components/international/instance-code.mdx +16 -0
  437. package/docs/zh/components/international/introduce.mdx +5 -0
  438. package/docs/zh/components/international/platform-support.mdx +0 -0
  439. package/docs/zh/components/language-config.mdx +9 -0
  440. package/docs/zh/components/micro-frontend.mdx +6 -0
  441. package/docs/zh/components/micro-master-manifest-config.mdx +15 -0
  442. package/docs/zh/components/micro-runtime-config.mdx +17 -0
  443. package/docs/zh/components/module-federation.mdx +7 -0
  444. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  445. package/docs/zh/components/nodeVersion.mdx +28 -0
  446. package/docs/zh/components/other-plugins.mdx +0 -0
  447. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  448. package/docs/zh/components/output-distpath-warning.mdx +0 -0
  449. package/docs/zh/components/output-polyfill-extend.mdx +1 -0
  450. package/docs/zh/components/prerequisites.mdx +18 -0
  451. package/docs/zh/components/release-note.mdx +1 -0
  452. package/docs/zh/components/routes-practice.mdx +0 -0
  453. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  454. package/docs/zh/components/rsbuild.mdx +3 -0
  455. package/docs/zh/components/rsc-deploy-tip.mdx +1 -0
  456. package/docs/zh/components/rspack.mdx +3 -0
  457. package/docs/zh/components/rspackTip.mdx +7 -0
  458. package/docs/zh/components/runtime-cli-config.mdx +0 -0
  459. package/docs/zh/components/self-route-example.mdx +21 -0
  460. package/docs/zh/components/serve-command.mdx +22 -0
  461. package/docs/zh/components/ssr-monitor.mdx +3 -0
  462. package/docs/zh/components/stream-ssr-performance.mdx +0 -0
  463. package/docs/zh/components/swc.mdx +3 -0
  464. package/docs/zh/components/tech-stack-node-framework.mdx +1 -0
  465. package/docs/zh/components/turtorials-example-list.mdx +2 -0
  466. package/docs/zh/components/ua-polyfill.mdx +44 -0
  467. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  468. package/docs/zh/components/upgrade-config-deploy.mdx +0 -0
  469. package/docs/zh/components/upgrade-faq.mdx +0 -0
  470. package/docs/zh/configure/_meta.json +78 -0
  471. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  472. package/docs/zh/configure/app/bff/effect.mdx +152 -0
  473. package/docs/zh/configure/app/bff/prefix.mdx +33 -0
  474. package/docs/zh/configure/app/bff/runtime-framework.mdx +28 -0
  475. package/docs/zh/configure/app/builder-plugins.mdx +72 -0
  476. package/docs/zh/configure/app/dev/asset-prefix.mdx +18 -0
  477. package/docs/zh/configure/app/dev/before-start-url.mdx +21 -0
  478. package/docs/zh/configure/app/dev/client.mdx +45 -0
  479. package/docs/zh/configure/app/dev/hmr.mdx +14 -0
  480. package/docs/zh/configure/app/dev/host.mdx +22 -0
  481. package/docs/zh/configure/app/dev/https.mdx +82 -0
  482. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  483. package/docs/zh/configure/app/dev/live-reload.mdx +14 -0
  484. package/docs/zh/configure/app/dev/progress-bar.mdx +23 -0
  485. package/docs/zh/configure/app/dev/server.mdx +128 -0
  486. package/docs/zh/configure/app/dev/setup-middlewares.mdx +36 -0
  487. package/docs/zh/configure/app/dev/start-url.mdx +54 -0
  488. package/docs/zh/configure/app/dev/watch-files.mdx +31 -0
  489. package/docs/zh/configure/app/dev/write-to-disk.mdx +14 -0
  490. package/docs/zh/configure/app/experiments/source-build.mdx +35 -0
  491. package/docs/zh/configure/app/html/app-icon.mdx +32 -0
  492. package/docs/zh/configure/app/html/crossorigin.mdx +15 -0
  493. package/docs/zh/configure/app/html/favicon.mdx +21 -0
  494. package/docs/zh/configure/app/html/inject.mdx +14 -0
  495. package/docs/zh/configure/app/html/meta.mdx +28 -0
  496. package/docs/zh/configure/app/html/mount-id.mdx +14 -0
  497. package/docs/zh/configure/app/html/output-structure.mdx +14 -0
  498. package/docs/zh/configure/app/html/script-loading.mdx +14 -0
  499. package/docs/zh/configure/app/html/tags.mdx +19 -0
  500. package/docs/zh/configure/app/html/template-parameters.mdx +37 -0
  501. package/docs/zh/configure/app/html/template.mdx +14 -0
  502. package/docs/zh/configure/app/html/title.mdx +22 -0
  503. package/docs/zh/configure/app/output/asset-prefix.mdx +18 -0
  504. package/docs/zh/configure/app/output/assets-retry.mdx +81 -0
  505. package/docs/zh/configure/app/output/charset.mdx +14 -0
  506. package/docs/zh/configure/app/output/clean-dist-path.mdx +20 -0
  507. package/docs/zh/configure/app/output/convert-to-rem.mdx +84 -0
  508. package/docs/zh/configure/app/output/copy.mdx +14 -0
  509. package/docs/zh/configure/app/output/css-modules.mdx +52 -0
  510. package/docs/zh/configure/app/output/data-uri-limit.mdx +30 -0
  511. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +59 -0
  512. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  513. package/docs/zh/configure/app/output/disable-svgr.mdx +21 -0
  514. package/docs/zh/configure/app/output/disable-ts-checker.mdx +53 -0
  515. package/docs/zh/configure/app/output/dist-path.mdx +50 -0
  516. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +40 -0
  517. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  518. package/docs/zh/configure/app/output/enable-inline-route-manifests.mdx +21 -0
  519. package/docs/zh/configure/app/output/externals.mdx +24 -0
  520. package/docs/zh/configure/app/output/filename-hash.mdx +14 -0
  521. package/docs/zh/configure/app/output/filename.mdx +62 -0
  522. package/docs/zh/configure/app/output/inject-styles.mdx +14 -0
  523. package/docs/zh/configure/app/output/inline-scripts.mdx +33 -0
  524. package/docs/zh/configure/app/output/inline-styles.mdx +33 -0
  525. package/docs/zh/configure/app/output/legal-comments.mdx +22 -0
  526. package/docs/zh/configure/app/output/minify.mdx +26 -0
  527. package/docs/zh/configure/app/output/override-browserslist.mdx +26 -0
  528. package/docs/zh/configure/app/output/polyfill.mdx +18 -0
  529. package/docs/zh/configure/app/output/source-map.mdx +38 -0
  530. package/docs/zh/configure/app/output/split-route-chunks.mdx +20 -0
  531. package/docs/zh/configure/app/output/ssg.mdx +84 -0
  532. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  533. package/docs/zh/configure/app/output/svg-default-export.mdx +34 -0
  534. package/docs/zh/configure/app/output/temp-dir.mdx +22 -0
  535. package/docs/zh/configure/app/performance/build-cache.mdx +43 -0
  536. package/docs/zh/configure/app/performance/chunk-split.mdx +44 -0
  537. package/docs/zh/configure/app/performance/dns-prefetch.mdx +19 -0
  538. package/docs/zh/configure/app/performance/preconnect.mdx +20 -0
  539. package/docs/zh/configure/app/performance/prefetch.mdx +25 -0
  540. package/docs/zh/configure/app/performance/preload.mdx +27 -0
  541. package/docs/zh/configure/app/performance/print-file-size.mdx +44 -0
  542. package/docs/zh/configure/app/performance/profile.mdx +14 -0
  543. package/docs/zh/configure/app/performance/remove-console.mdx +14 -0
  544. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +14 -0
  545. package/docs/zh/configure/app/performance/rsdoctor.mdx +39 -0
  546. package/docs/zh/configure/app/plugins.mdx +59 -0
  547. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  548. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  549. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  550. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  551. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  552. package/docs/zh/configure/app/runtime/0-intro.mdx +58 -0
  553. package/docs/zh/configure/app/runtime/plugins.mdx +58 -0
  554. package/docs/zh/configure/app/runtime/router.mdx +39 -0
  555. package/docs/zh/configure/app/security/check-syntax.mdx +73 -0
  556. package/docs/zh/configure/app/security/nonce.mdx +19 -0
  557. package/docs/zh/configure/app/security/sri.mdx +24 -0
  558. package/docs/zh/configure/app/server/base-url.mdx +30 -0
  559. package/docs/zh/configure/app/server/port.mdx +23 -0
  560. package/docs/zh/configure/app/server/public-routes.mdx +26 -0
  561. package/docs/zh/configure/app/server/routes.mdx +90 -0
  562. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  563. package/docs/zh/configure/app/server/ssr-by-entries.mdx +29 -0
  564. package/docs/zh/configure/app/server/ssr.mdx +85 -0
  565. package/docs/zh/configure/app/server/tsconfig-path.mdx +63 -0
  566. package/docs/zh/configure/app/source/alias-strategy.mdx +18 -0
  567. package/docs/zh/configure/app/source/alias.mdx +27 -0
  568. package/docs/zh/configure/app/source/config-dir.mdx +24 -0
  569. package/docs/zh/configure/app/source/decorators.mdx +27 -0
  570. package/docs/zh/configure/app/source/define.mdx +20 -0
  571. package/docs/zh/configure/app/source/disable-default-entries.mdx +32 -0
  572. package/docs/zh/configure/app/source/enable-async-entry.mdx +54 -0
  573. package/docs/zh/configure/app/source/enable-async-pre-entry.mdx +77 -0
  574. package/docs/zh/configure/app/source/entries-dir.mdx +39 -0
  575. package/docs/zh/configure/app/source/entries.mdx +185 -0
  576. package/docs/zh/configure/app/source/exclude.mdx +14 -0
  577. package/docs/zh/configure/app/source/global-vars.mdx +109 -0
  578. package/docs/zh/configure/app/source/include.mdx +40 -0
  579. package/docs/zh/configure/app/source/main-entry-name.mdx +28 -0
  580. package/docs/zh/configure/app/source/pre-entry.mdx +14 -0
  581. package/docs/zh/configure/app/source/transform-import.mdx +31 -0
  582. package/docs/zh/configure/app/split-chunks.mdx +17 -0
  583. package/docs/zh/configure/app/tools/autoprefixer.mdx +48 -0
  584. package/docs/zh/configure/app/tools/bundler-chain.mdx +33 -0
  585. package/docs/zh/configure/app/tools/css-extract.mdx +34 -0
  586. package/docs/zh/configure/app/tools/css-loader.mdx +21 -0
  587. package/docs/zh/configure/app/tools/dev-server.mdx +117 -0
  588. package/docs/zh/configure/app/tools/html-plugin.mdx +45 -0
  589. package/docs/zh/configure/app/tools/less.mdx +86 -0
  590. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +39 -0
  591. package/docs/zh/configure/app/tools/minify-css.mdx +57 -0
  592. package/docs/zh/configure/app/tools/postcss.mdx +39 -0
  593. package/docs/zh/configure/app/tools/rspack.mdx +14 -0
  594. package/docs/zh/configure/app/tools/sass.mdx +80 -0
  595. package/docs/zh/configure/app/tools/style-loader.mdx +14 -0
  596. package/docs/zh/configure/app/tools/swc.mdx +69 -0
  597. package/docs/zh/configure/app/tools/ts-checker.mdx +56 -0
  598. package/docs/zh/configure/app/usage.mdx +276 -0
  599. package/docs/zh/guides/_meta.json +37 -0
  600. package/docs/zh/guides/advanced-features/_meta.json +32 -0
  601. package/docs/zh/guides/advanced-features/bff/_meta.json +10 -0
  602. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +112 -0
  603. package/docs/zh/guides/advanced-features/bff/data-platform.mdx +118 -0
  604. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +125 -0
  605. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +118 -0
  606. package/docs/zh/guides/advanced-features/bff/function.mdx +262 -0
  607. package/docs/zh/guides/advanced-features/bff/operators.mdx +629 -0
  608. package/docs/zh/guides/advanced-features/bff/sdk.mdx +117 -0
  609. package/docs/zh/guides/advanced-features/bff/upload.mdx +7 -0
  610. package/docs/zh/guides/advanced-features/bff.mdx +21 -0
  611. package/docs/zh/guides/advanced-features/build-performance.mdx +134 -0
  612. package/docs/zh/guides/advanced-features/compatibility.mdx +80 -0
  613. package/docs/zh/guides/advanced-features/international/_meta.json +10 -0
  614. package/docs/zh/guides/advanced-features/international/advanced.mdx +132 -0
  615. package/docs/zh/guides/advanced-features/international/api.mdx +234 -0
  616. package/docs/zh/guides/advanced-features/international/best-practices.mdx +290 -0
  617. package/docs/zh/guides/advanced-features/international/configuration.mdx +219 -0
  618. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +130 -0
  619. package/docs/zh/guides/advanced-features/international/quick-start.mdx +112 -0
  620. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +155 -0
  621. package/docs/zh/guides/advanced-features/international/routing.mdx +134 -0
  622. package/docs/zh/guides/advanced-features/international.mdx +29 -0
  623. package/docs/zh/guides/advanced-features/low-level.mdx +48 -0
  624. package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -0
  625. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +81 -0
  626. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +162 -0
  627. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  628. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +54 -0
  629. package/docs/zh/guides/advanced-features/server-monitor/_meta.json +1 -0
  630. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +21 -0
  631. package/docs/zh/guides/advanced-features/server-monitor/metrics.mdx +42 -0
  632. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +240 -0
  633. package/docs/zh/guides/advanced-features/source-build.mdx +168 -0
  634. package/docs/zh/guides/advanced-features/web-server.mdx +281 -0
  635. package/docs/zh/guides/basic-features/_meta.json +49 -0
  636. package/docs/zh/guides/basic-features/alias.mdx +100 -0
  637. package/docs/zh/guides/basic-features/css/_meta.json +1 -0
  638. package/docs/zh/guides/basic-features/css/css-in-js.mdx +69 -0
  639. package/docs/zh/guides/basic-features/css/css-modules.mdx +218 -0
  640. package/docs/zh/guides/basic-features/css/css.mdx +31 -0
  641. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +27 -0
  642. package/docs/zh/guides/basic-features/data/_meta.json +1 -0
  643. package/docs/zh/guides/basic-features/data/data-cache.mdx +498 -0
  644. package/docs/zh/guides/basic-features/data/data-fetch.mdx +421 -0
  645. package/docs/zh/guides/basic-features/data/data-write.mdx +234 -0
  646. package/docs/zh/guides/basic-features/debug/_meta.json +1 -0
  647. package/docs/zh/guides/basic-features/debug/mock.mdx +102 -0
  648. package/docs/zh/guides/basic-features/debug/proxy.mdx +25 -0
  649. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +48 -0
  650. package/docs/zh/guides/basic-features/debug/using-storybook.mdx +92 -0
  651. package/docs/zh/guides/basic-features/deploy.mdx +432 -0
  652. package/docs/zh/guides/basic-features/env-vars.mdx +180 -0
  653. package/docs/zh/guides/basic-features/html.mdx +262 -0
  654. package/docs/zh/guides/basic-features/output-files.mdx +145 -0
  655. package/docs/zh/guides/basic-features/render/_meta.json +10 -0
  656. package/docs/zh/guides/basic-features/render/before-render.mdx +108 -0
  657. package/docs/zh/guides/basic-features/render/overview.mdx +53 -0
  658. package/docs/zh/guides/basic-features/render/rsc.mdx +619 -0
  659. package/docs/zh/guides/basic-features/render/ssg.mdx +168 -0
  660. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +205 -0
  661. package/docs/zh/guides/basic-features/render/ssr.mdx +334 -0
  662. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +276 -0
  663. package/docs/zh/guides/basic-features/render/tanstack-rsc.mdx +226 -0
  664. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  665. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  666. package/docs/zh/guides/basic-features/routes/routes.mdx +521 -0
  667. package/docs/zh/guides/basic-features/static-assets/_meta.json +1 -0
  668. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +124 -0
  669. package/docs/zh/guides/basic-features/static-assets/svg-assets.mdx +174 -0
  670. package/docs/zh/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  671. package/docs/zh/guides/basic-features/static-assets.mdx +160 -0
  672. package/docs/zh/guides/basic-features/testing/_meta.json +1 -0
  673. package/docs/zh/guides/basic-features/testing/cypress.mdx +95 -0
  674. package/docs/zh/guides/basic-features/testing/jest.mdx +148 -0
  675. package/docs/zh/guides/basic-features/testing/playwright.mdx +112 -0
  676. package/docs/zh/guides/basic-features/testing/rstest.mdx +163 -0
  677. package/docs/zh/guides/basic-features/testing/vitest.mdx +100 -0
  678. package/docs/zh/guides/concept/_meta.json +1 -0
  679. package/docs/zh/guides/concept/builder.mdx +60 -0
  680. package/docs/zh/guides/concept/entries.mdx +323 -0
  681. package/docs/zh/guides/concept/server.mdx +35 -0
  682. package/docs/zh/guides/get-started/_meta.json +8 -0
  683. package/docs/zh/guides/get-started/glossary.mdx +63 -0
  684. package/docs/zh/guides/get-started/introduction.mdx +45 -0
  685. package/docs/zh/guides/get-started/quick-start.mdx +90 -0
  686. package/docs/zh/guides/get-started/tech-stack.mdx +91 -0
  687. package/docs/zh/guides/get-started/ultramodern.mdx +80 -0
  688. package/docs/zh/guides/get-started/upgrade.mdx +114 -0
  689. package/docs/zh/guides/topic-detail/_meta.json +8 -0
  690. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -0
  691. package/docs/zh/guides/topic-detail/module-federation/application.mdx +117 -0
  692. package/docs/zh/guides/topic-detail/module-federation/deploy.mdx +104 -0
  693. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  694. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +35 -0
  695. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +168 -0
  696. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +200 -0
  697. package/docs/zh/guides/troubleshooting/_meta.json +1 -0
  698. package/docs/zh/guides/troubleshooting/builder.mdx +134 -0
  699. package/docs/zh/guides/troubleshooting/cli.mdx +39 -0
  700. package/docs/zh/guides/troubleshooting/dependencies.mdx +123 -0
  701. package/docs/zh/guides/troubleshooting/hmr.mdx +148 -0
  702. package/docs/zh/guides/upgrade/_meta.json +1 -0
  703. package/docs/zh/guides/upgrade/config.mdx +953 -0
  704. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  705. package/docs/zh/guides/upgrade/other.md +190 -0
  706. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  707. package/docs/zh/guides/upgrade/tailwindcss.mdx +92 -0
  708. package/docs/zh/guides/upgrade/web-server.md +111 -0
  709. package/docs/zh/index.md +4 -0
  710. package/docs/zh/plugin/_meta.json +25 -0
  711. package/docs/zh/plugin/cli-plugins/_meta.json +1 -0
  712. package/docs/zh/plugin/cli-plugins/api.mdx +569 -0
  713. package/docs/zh/plugin/cli-plugins/life-cycle.mdx +135 -0
  714. package/docs/zh/plugin/introduction.mdx +153 -0
  715. package/docs/zh/plugin/official/_meta.json +7 -0
  716. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -0
  717. package/docs/zh/plugin/official/cli-plugins/plugin-bff.mdx +5 -0
  718. package/docs/zh/plugin/official/cli-plugins/plugin-ssg.mdx +5 -0
  719. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  720. package/docs/zh/plugin/official/cli-plugins.mdx +4 -0
  721. package/docs/zh/plugin/plugin-system.mdx +231 -0
  722. package/docs/zh/plugin/runtime-plugins/_meta.json +1 -0
  723. package/docs/zh/plugin/runtime-plugins/api.mdx +193 -0
  724. package/docs/zh/plugin/runtime-plugins/life-cycle.mdx +29 -0
  725. package/docs/zh/plugin/server-plugins/_meta.json +1 -0
  726. package/docs/zh/plugin/server-plugins/api.mdx +212 -0
  727. package/docs/zh/plugin/server-plugins/life-cycle.mdx +43 -0
  728. package/docs/zh/tutorials/_meta.json +7 -0
  729. package/docs/zh/tutorials/examples/csr-auth.mdx +31 -0
  730. package/docs/zh/tutorials/foundations/introduction.mdx +22 -0
  731. package/i18n.json +142 -0
  732. package/main-doc/docs/en/guides/get-started/ultramodern.mdx +320 -0
  733. package/main-doc/docs/zh/guides/get-started/ultramodern.mdx +304 -0
  734. package/package.json +52 -0
  735. package/rspress.config.ts +153 -0
  736. package/src/components/ContentCard/index.module.scss +65 -0
  737. package/src/components/ContentCard/index.tsx +24 -0
  738. package/src/components/FeatureLayout/index.module.css +8 -0
  739. package/src/components/FeatureLayout/index.tsx +8 -0
  740. package/src/components/Footer/index.tsx +118 -0
  741. package/src/components/Footer/styles.module.scss +49 -0
  742. package/src/components/FrameworkCode/index.tsx +605 -0
  743. package/src/components/ListCard/index.module.css +57 -0
  744. package/src/components/ListCard/index.tsx +26 -0
  745. package/src/components/Mermaid/index.tsx +64 -0
  746. package/src/components/Mermaid/style.scss +221 -0
  747. package/src/components/RandomMemberList/index.module.scss +35 -0
  748. package/src/components/RandomMemberList/index.tsx +122 -0
  749. package/src/components/RsbuildLink/index.tsx +19 -0
  750. package/src/components/Sandpack/index.css +10 -0
  751. package/src/components/Sandpack/index.tsx +22 -0
  752. package/src/components/SecondaryTitle/index.module.css +14 -0
  753. package/src/components/SecondaryTitle/index.tsx +15 -0
  754. package/src/components/ShowcaseList/index.module.scss +80 -0
  755. package/src/components/ShowcaseList/index.tsx +39 -0
  756. package/src/components/ShowcaseList/useShowcases.ts +101 -0
  757. package/src/components/SolutionCards/index.module.scss +73 -0
  758. package/src/components/SolutionCards/index.tsx +30 -0
  759. package/src/custom.scss +15 -0
  760. package/src/global.d.ts +28 -0
  761. package/src/i18n/enUS.ts +54 -0
  762. package/src/i18n/index.ts +18 -0
  763. package/src/i18n/zhCN.ts +54 -0
  764. package/src/index.ts +5 -0
  765. package/src/pages/index.module.scss +349 -0
  766. package/src/pages/index.tsx +133 -0
  767. package/src/sandbox/csr-auth/src/routes/Auth-tsx.txt +74 -0
  768. package/src/sandbox/csr-auth/src/routes/fakeAuth-ts.txt +16 -0
  769. package/src/sandbox/csr-auth/src/routes/layout-tsx.txt +21 -0
  770. package/src/sandbox/csr-auth/src/routes/login/page-tsx.txt +40 -0
  771. package/src/sandbox/csr-auth/src/routes/page-tsx.txt +17 -0
  772. package/src/sandbox/csr-auth/src/routes/protected/page-tsx.txt +11 -0
  773. package/static/img/favicon.ico +0 -0
  774. package/static/img/features/ai.svg +1 -0
  775. package/static/img/features/api.svg +1 -0
  776. package/static/img/features/app.svg +1 -0
  777. package/static/img/features/blocks.svg +1 -0
  778. package/static/img/features/browser.svg +12 -0
  779. package/static/img/features/cloud.svg +1 -0
  780. package/static/img/features/coding-backend.svg +1 -0
  781. package/static/img/features/compiler.svg +1 -0
  782. package/static/img/features/css-file.svg +1 -0
  783. package/static/img/features/customize.svg +1 -0
  784. package/static/img/features/developer.svg +1 -0
  785. package/static/img/features/dynamic.svg +1 -0
  786. package/static/img/features/editor.svg +1 -0
  787. package/static/img/features/framework-config.svg +1 -0
  788. package/static/img/features/framework.svg +1 -0
  789. package/static/img/features/frameworks.svg +1 -0
  790. package/static/img/features/html.svg +1 -0
  791. package/static/img/features/icon2.svg +1 -0
  792. package/static/img/features/javascript.svg +1 -0
  793. package/static/img/features/monorepo.svg +1 -0
  794. package/static/img/features/product.svg +1 -0
  795. package/static/img/features/server-network.svg +1 -0
  796. package/static/img/features/serverless.svg +1 -0
  797. package/static/img/features/test.svg +1 -0
  798. package/static/img/features/trinity.svg +1 -0
  799. package/static/img/features/unity.svg +1 -0
  800. package/static/img/features/url.svg +1 -0
  801. package/static/img/features/visual.svg +1 -0
  802. package/static/img/features/web-server.svg +1 -0
@@ -0,0 +1,320 @@
1
+ ---
2
+ title: UltraModern.js V3
3
+ sidebar_position: 6
4
+ ---
5
+
6
+ # UltraModern.js V3 vs Modern.js V3
7
+
8
+ UltraModern.js V3 documents the public `presetUltramodern(...)` Modern.js profile for large, independently deployable super-app and ERP-style systems.
9
+
10
+ This page is the complete public difference reference for that documented V3 profile.
11
+
12
+ ## Scope (V3 Only)
13
+
14
+ - Baseline: Modern.js `release-v3.x`.
15
+ - Scope: all user-visible differences shipped in UltraModern.js V3.
16
+ - Excluded: roadmap/mainline-only work that is not shipped to V3.
17
+
18
+ ## Complete Difference Matrix (V3)
19
+
20
+ | Area | Modern.js V3 baseline | UltraModern.js V3 difference | Status in V3 | Notes |
21
+ | --- | --- | --- | --- | --- |
22
+ | Build diagnostics default | RsDoctor usage is opt-in in most projects | Rspack production build enables RsDoctor by default | Implemented | Can be disabled via `performance.rsdoctor` |
23
+ | Build diagnostics config surface | No `performance.rsdoctor` option in framework docs | Adds `performance.rsdoctor` (`boolean` or `{ enabled, disableClientServer, reportDir, mode }`) | Implemented | `disableClientServer` defaults to `true` |
24
+ | Diagnostics artifact contract | No standardized machine-readable diagnostics pointer | Adds `.rsdoctor/ultramodern-diagnostics.json` contract pointing to manifest | Implemented | Stable consumption path for coding agents |
25
+ | Static asset precompression defaults | Precompressed artifacts and serving are app-defined | Adds default-on `output.precompress` for production web builds and static middleware `Accept-Encoding` negotiation for `.br` / `.gz` | Implemented | Can be disabled or tuned per codec |
26
+ | Router runtime choice | Default runtime path centers on React Router | Adds first-class TanStack Router runtime/CLI route tree support | Implemented | React Router path remains available |
27
+ | Scaffolding template path | Default create templates center on React Router starter path | Adds TanStack-ready and Tailwind-ready create templates | Implemented | React Router starter path remains available |
28
+ | Starter preset gate workflow | Generated starter has no UltraModern preset verification workflow | Adds `ultramodern:check`, opt-out env switches, and `.github/workflows/ultramodern-gates.yml` to the public preset starter | Implemented | Keeps generated apps auditable from the first commit |
29
+ | BFF producer contract wiring | `bff` config does not include producer identity | Adds `bff.requestId` and carries it through client generation | Implemented | Enables explicit producer scoping |
30
+ | Generated BFF client call shape | `createRequest(...)` optional args stop at `fetch` | Generated client appends `requestId` to `createRequest(...)` when configured | Implemented | Keeps legacy call path when no `requestId` |
31
+ | `create-request` runtime isolation | Single mutable request config path | Per-`requestId` request/domain/header config maps | Implemented | Supports multiple producer clients in one app |
32
+ | BFF audit correlation headers | No standardized producer audit propagation for operation and trace | Adds `x-operation-id`, `x-modernjs-bff-operation-context`, and `traceparent` propagation with parsed trace IDs | Implemented | Supports tenant/operation/trace joins in observability |
33
+ | Uninitialized producer behavior | Missing config may silently fall back | Non-default `requestId` now throws `ProducerClientNotInitializedError` | Implemented | Fail-fast contract for cross-project BFF |
34
+ | Node header forwarding behavior | Header forwarding is global | Incoming headers are forwarded only for `requestId === 'default'` | Implemented | Avoids accidental header bleed across producers |
35
+ | Server telemetry config | No standardized `server.telemetry` contract | Adds `server.telemetry` with sampling/batching/redaction/exporter settings | Implemented | Added to app-tools schema and server types |
36
+ | Telemetry exporters | Export pipeline is app-defined | Built-in OTLP and VictoriaMetrics exporters | Implemented | Exporters are non-fatal on failure |
37
+ | Telemetry backpressure contract | No standard queue policy | Registry queue with max size, dropped-event counter, periodic flush | Implemented | Emits `telemetry.queue.dropped` on pressure |
38
+ | Metrics/trace correlation | SSR metrics tags do not parse W3C trace context | `traceparent` is parsed and emits `trace_id` / `span_id` tags | Implemented | Improves cross-system observability joins |
39
+ | App-level MF SSR contract flag | No dedicated app-level MF SSR stability contract switch | Adds `server.ssr.moduleFederationAppSSR` contract and auto-enables env wiring when MF SSR markers are detected | Implemented | Sets `process.env.MODERN_MF_APP_SSR` |
40
+ | App-level MF SSR runtime bridge | Not a stable default bridge path | V3 applies stable bridge defaults for MF SSR node output/runtime env when server rendering + MF markers are present | Implemented | Keeps explicit opt-out path via config/env |
41
+ | MF remote loader reliability contracts | Remote loading fallback patterns are typically app-defined | Adds deterministic timeout/network/contract-error fallback matrix and distributed OTEL continuity assertions | Implemented | `routes-tanstack-mf` reliability suite |
42
+ | BFF runtime choices | Hono runtime path only in Modern.js V3 baseline (no built-in Effect runtime path) | Sets Effect as default runtime, enforces strict runtime split (`effect` -> `api/effect`, `hono` -> `api/lambda`), and adds Effect-Schema-only MF data contracts plus failure-injection coverage for federated data fetch | Implemented (Effect-default + strict split) | Stream is explicit about no Zod introduction |
43
+ | Module SDK contract artifact | No framework-level module contract artifact | Adds machine-readable module contract + typed module SDK interfaces | Implemented | `module-sdk-contracts.json` + `moduleSdk.d.ts` |
44
+ | Boundary anti-pattern CI guards | No dedicated boundary anti-pattern workflow | Adds profile-driven CI checks for boundary imports, required hooks, and forbidden module patterns | Implemented | `.github/workflows/boundary-anti-patterns.yml` |
45
+ | Release/module certification gate automation | No super-app release evidence profile in baseline | Adds RC + module-certification gate profiles, evidence metadata validation, and dedicated CI workflows | Implemented | `.github/workflows/release-contract-gates.yml` + module/bun gate workflows |
46
+ | Contract test coverage | No tests for these new contracts in V3 baseline | Adds focused tests for RsDoctor defaults, BFF requestId, telemetry, SSR MF contract env wiring | Implemented | Reduces regression risk in super-app scenarios |
47
+ | Public docs surface | No UltraModern V3 comparison page | Adds dedicated V3 difference page and linked config docs | Implemented | This page is the reference page for the public preset profile |
48
+
49
+ ## Detailed V3 Differences
50
+
51
+ ### 1) `performance.rsdoctor` and default-on diagnostics
52
+
53
+ UltraModern.js V3 extends performance config with:
54
+
55
+ - `performance.rsdoctor: boolean | { enabled?: boolean; disableClientServer?: boolean; reportDir?: string; mode?: 'normal' | 'brief' | 'lite' }`
56
+ - Rspack + production: enabled by default.
57
+ - Rspack + development: disabled by default (unless explicitly enabled).
58
+ - Webpack builds: no RsDoctor injection.
59
+ - RsDoctor contract artifact:
60
+ - `<reportDir or outputPath>/.rsdoctor/ultramodern-diagnostics.json`
61
+ - points to `.rsdoctor/manifest.json`
62
+
63
+ ```ts title="modern.config.ts"
64
+ export default defineConfig({
65
+ performance: {
66
+ rsdoctor: {
67
+ enabled: true,
68
+ disableClientServer: true,
69
+ reportDir: './artifacts',
70
+ mode: 'brief',
71
+ },
72
+ },
73
+ });
74
+ ```
75
+
76
+ ### 2) Cross-project BFF hardening with `requestId`
77
+
78
+ UltraModern.js V3 adds explicit producer identity across the BFF toolchain:
79
+
80
+ - `bff.requestId` in plugin config.
81
+ - Loader/client generation passes `requestId` to `createRequest(...)`.
82
+ - `create-request` now keeps isolated runtime state per `requestId`.
83
+
84
+ ```ts
85
+ configure({
86
+ requestId: 'erp-inventory',
87
+ request: customFetch,
88
+ setDomain: ({ target, requestId }) =>
89
+ target === 'server'
90
+ ? `http://inventory-bff.internal`
91
+ : `https://inventory.example.com`,
92
+ });
93
+ ```
94
+
95
+ Contract behavior in V3:
96
+
97
+ - Non-default producer calls without prior `configure({ requestId })` throw `ProducerClientNotInitializedError`.
98
+ - `allowedHeaders` / `request` / `setDomain` are isolated by `requestId`.
99
+ - In Node runtime, incoming request headers are only forwarded for the legacy `default` producer path.
100
+ - Non-default producer calls emit operation context and trace correlation headers:
101
+ - `x-operation-id`
102
+ - `x-modernjs-bff-operation-context`
103
+ - `traceparent` (with parsed `traceId` / `spanId` reflected in operation context when present)
104
+
105
+ ### 3) `server.telemetry` standardization and exporters
106
+
107
+ UltraModern.js V3 adds a unified telemetry contract:
108
+
109
+ - Config surface in `server.telemetry`.
110
+ - Internal registry with sampling, batching, redaction, backpressure handling.
111
+ - Built-in exporters for OTLP and VictoriaMetrics.
112
+ - Metrics wrapper that mirrors `emitCounter` / `emitTimer` into telemetry envelopes.
113
+
114
+ ```ts title="modern.config.ts"
115
+ export default defineConfig({
116
+ server: {
117
+ telemetry: {
118
+ enabled: true,
119
+ service: 'erp-gateway',
120
+ module: 'server',
121
+ environment: 'production',
122
+ samplingRate: 1,
123
+ flushIntervalMs: 1000,
124
+ maxBatchSize: 50,
125
+ maxQueueSize: 1000,
126
+ redactionKeys: ['authorization', 'token'],
127
+ exporters: {
128
+ otlp: {
129
+ enabled: true,
130
+ endpoint: 'http://otel-collector:4318/v1/logs',
131
+ },
132
+ victoriaMetrics: {
133
+ enabled: true,
134
+ endpoint: 'http://vm:8428/api/v1/import/prometheus',
135
+ metricPrefix: 'ultramodern',
136
+ },
137
+ },
138
+ },
139
+ },
140
+ });
141
+ ```
142
+
143
+ Important V3 behavior:
144
+
145
+ - If no exporter is enabled, telemetry pipeline is not initialized.
146
+ - Exporter failures are treated as non-fatal for request handling.
147
+
148
+ ### 4) Trace tags in SSR metrics
149
+
150
+ When an incoming request contains W3C `traceparent`, UltraModern.js V3 parses and injects:
151
+
152
+ - `trace_id`
153
+ - `span_id`
154
+
155
+ into SSR metric tags, improving correlation between app metrics and distributed tracing backends.
156
+
157
+ ### 5) App-level MF SSR stable contract (`server.ssr.moduleFederationAppSSR`)
158
+
159
+ UltraModern.js V3 adds:
160
+
161
+ - Preferred flag: `server.ssr.moduleFederationAppSSR` (also works under `server.ssrByEntries`).
162
+ - Global compile-time env:
163
+ - `process.env.MODERN_MF_APP_SSR` (`'true' | 'false'`)
164
+
165
+ ```ts title="modern.config.ts"
166
+ export default defineConfig({
167
+ server: {
168
+ ssr: {
169
+ moduleFederationAppSSR: true,
170
+ },
171
+ },
172
+ });
173
+ ```
174
+
175
+ When MF SSR markers are detected in server-rendered entries, V3 now enables the same env/bridge contract path by default and keeps config/env switches as explicit opt-out controls.
176
+
177
+ ### 6) Contract-level test hardening in V3
178
+
179
+ UltraModern.js V3 adds dedicated coverage for:
180
+
181
+ - RsDoctor default behavior and opt-out semantics.
182
+ - BFF `requestId` generation/runtime isolation and fail-fast checks.
183
+ - Telemetry redaction/backpressure/exporter behavior.
184
+ - SSR MF contract detection and env injection.
185
+
186
+ ### 7) Module SDK contract + boundary anti-pattern guards
187
+
188
+ UltraModern.js V3 adds platform-boundary enforcement artifacts for module onboarding:
189
+
190
+ - Contract artifact: `docs/super-app-rfc-adr/contracts/module-sdk-contracts.json`
191
+ - Example manifest: `docs/super-app-rfc-adr/contracts/module-manifest.example.json`
192
+ - Public type contracts: `packages/toolkit/types/common/moduleSdk.d.ts`
193
+ - Validation tooling:
194
+ - `scripts/module-sdk-contracts/validate-module-sdk-contracts.js`
195
+ - `scripts/boundary-guards/check-boundary-violations.js`
196
+ - CI workflow:
197
+ - `.github/workflows/boundary-anti-patterns.yml`
198
+ - `.github/workflows/module-certification-gates.yml`
199
+ - `.github/workflows/bun-superapp-smoke.yml`
200
+
201
+ ### 8) Default precompression + precompressed static serving
202
+
203
+ UltraModern.js V3 changes default output and serving behavior for production web assets:
204
+
205
+ - `output.precompress` defaults to `true` in app-tools config.
206
+ - Build emits gzip (`.gz`) and brotli (`.br`) variants for static assets.
207
+ - Node static middleware selects precompressed variants via `Accept-Encoding` and sets:
208
+ - `Content-Encoding`
209
+ - `Vary: Accept-Encoding`
210
+ - Codec-level tuning is supported per project (`gzip` / `brotli` options).
211
+
212
+ ```ts title="modern.config.ts"
213
+ export default defineConfig({
214
+ output: {
215
+ precompress: {
216
+ gzip: true,
217
+ brotli: {
218
+ threshold: 8 * 1024,
219
+ },
220
+ },
221
+ },
222
+ });
223
+ ```
224
+
225
+ ### 9) First-class TanStack Router + Tailwind scaffolding
226
+
227
+ UltraModern.js V3 adds a first-class TanStack path in runtime and project scaffolding:
228
+
229
+ - Runtime/CLI support for TanStack route tree generation and SSR/stream integration.
230
+ - Create templates include TanStack-ready scaffolds and Tailwind starter wiring.
231
+ - Dedicated integration suites cover:
232
+ - `tests/integration/routes-tanstack`
233
+ - `tests/integration/routes-tanstack-mf`
234
+ - Existing React Router workflow remains supported.
235
+
236
+ ### 10) Effect-first MF data reliability and data-platform contracts
237
+
238
+ UltraModern.js V3 shipped additional reliability work aligned to Beads stream D:
239
+
240
+ - `@modern-js/plugin-bff` runtime path migrated to Effect v4.
241
+ - Effect-only MF data-fetch contract guidance (explicitly no Zod layer in this stream).
242
+ - MF reliability matrix includes deterministic failure injection (timeout/network/contract error).
243
+ - Distributed trace continuity checks were re-enabled for build and serve paths.
244
+ - Data-platform architecture defines operation identity, envelope integrity, scoped invalidation, and trace propagation contracts.
245
+
246
+ Reference materials:
247
+
248
+ - `docs/super-app-rfc-adr/ADR-0003-effect-only-mf-data-fetch-reliability.md`
249
+ - `packages/cli/plugin-bff/docs/data-platform-architecture.md`
250
+ - `tests/integration/routes-tanstack-mf/test/remote-loader-reliability.test.ts`
251
+
252
+ ### 11) Release and module certification gate model
253
+
254
+ This public UltraModern preset profile includes a machine-verifiable gate model beyond baseline Modern.js V3:
255
+
256
+ - Gate profiles:
257
+ - `scripts/release-gates/rc-contract-profile.json`
258
+ - `scripts/release-gates/module-certification-profile.json`
259
+ - Required evidence contracts under:
260
+ - `docs/super-app-rfc-adr/evidence/release-candidate/current`
261
+ - `docs/super-app-rfc-adr/evidence/module-certification/current`
262
+ - Local validation commands:
263
+ - `pnpm run validate:module-sdk-contracts`
264
+ - `pnpm run validate:boundary-guards`
265
+ - `pnpm run validate:module-certification-gates`
266
+ - `pnpm run validate:rc-gates`
267
+ - `pnpm run validate:bun-smoke`
268
+ - CI workflows:
269
+ - `.github/workflows/release-contract-gates.yml`
270
+ - `.github/workflows/module-certification-gates.yml`
271
+ - `.github/workflows/bun-superapp-smoke.yml`
272
+ - Generated starter workflow:
273
+ - `.github/workflows/ultramodern-gates.yml`
274
+ - runs `pnpm run ultramodern:check` and `pnpm run build`
275
+
276
+ ## Not Part of UltraModern.js V3
277
+
278
+ The following are intentionally out of scope for this public V3 preset profile:
279
+
280
+ - Forcing Effect-only data-fetch runtime as the mandatory default for every app.
281
+ - Forcing app-level MF SSR for every app regardless of readiness.
282
+
283
+ ## Micro Vertical Delivery Path
284
+
285
+ `presetUltramodern(...)` is also the single public entrypoint for Micro Verticals. The intended adoption sequence is:
286
+
287
+ 1. start with one app and keep route/data ownership inside the shell,
288
+ 2. extract stable route subtrees into MF remotes once fallback and compatibility behavior are explicit,
289
+ 3. extract shared workflows into strict Effect services when request, identity, locale, and trace context must survive deployment boundaries,
290
+ 4. keep Hono only as an explicit compatibility lane for existing Modern.js-style BFF handlers.
291
+
292
+ In this repo, the reference examples are:
293
+
294
+ - `routes-tanstack-mf` for shell + remote composition and MF SSR contracts,
295
+ - `bff-corss-project` for cross-project producer/consumer wiring,
296
+ - `bff-runtime-parity` for generated-client build/serve parity,
297
+ - `bff-hono` for the compatibility lane.
298
+
299
+ ## Baseline Switches (Opt-out)
300
+
301
+ The generated `presetUltramodern(...)` create template enables stricter platform contracts. These env switches are read by generated `modern.config.ts` and can be disabled/overridden per app or per environment:
302
+
303
+ - `MODERN_BASELINE_ENABLE_MF_SSR` (default: `true`): Enables app-level MF SSR baseline contract (`server.ssr.mode: 'stream'` + `moduleFederationAppSSR`). Disable when the app does not use app-level MF SSR, or when you need plain SSR/CSR behavior first.
304
+ - `MODERN_BASELINE_ENABLE_BFF_REQUEST_ID` (default: `true`): Enables default BFF producer identity contract (`bff.requestId`). Disable when the app does not need cross-project producer isolation.
305
+ - `MODERN_BASELINE_ENABLE_TELEMETRY_EXPORTERS` (default: `true`): Enables telemetry exporters in baseline config. Disable when the environment has no telemetry backend yet.
306
+ - `MODERN_BASELINE_APP_ID` (default: `basename(process.cwd())`): Overrides baseline `bff.requestId` identity. Set this when you need a fixed platform-wide producer ID convention.
307
+ - `MODERN_TELEMETRY_OTLP_ENDPOINT` (default: `http://127.0.0.1:4318/v1/logs`): OTLP exporter endpoint. Override when you route telemetry through a different collector endpoint.
308
+ - `MODERN_TELEMETRY_VICTORIA_ENDPOINT` (default: `http://127.0.0.1:8428/api/v1/import/prometheus`): VictoriaMetrics exporter endpoint. Override when you use a different VM ingress endpoint.
309
+ - `MODERN_TELEMETRY_FAIL_LOUD_STARTUP` (default: `true`): Fails startup if configured exporters fail startup health checks. Disable in local/dev environments where temporary telemetry outage should not block boot.
310
+
311
+ ## Related Public Docs
312
+
313
+ - [performance.rsdoctor](/configure/app/performance/rsdoctor)
314
+ - [server.ssr](/configure/app/server/ssr)
315
+ - [BFF guide](/guides/advanced-features/bff/index)
316
+ - [BFF frameworks](/guides/advanced-features/bff/frameworks)
317
+ - [BFF data platform architecture](/guides/advanced-features/bff/data-platform)
318
+ - [BFF Effect runtime config](/configure/app/bff/effect)
319
+ - [Micro-frontend guide](/guides/topic-detail/micro-frontend/c01-introduction)
320
+ - [Module Federation SSR](/guides/topic-detail/module-federation/ssr)
@@ -0,0 +1,304 @@
1
+ ---
2
+ title: UltraModern.js V3
3
+ sidebar_position: 6
4
+ ---
5
+
6
+ # UltraModern.js V3 与 Modern.js V3 的完整差异
7
+
8
+ UltraModern.js V3 记录的是一套“更强默认值的 Modern.js 参考档案”,目标是服务于大型、可独立部署的 Super App / ERP 场景。
9
+
10
+ 本文是这套已文档化 V3 档案的完整公开差异说明。
11
+
12
+ ## 范围(仅 V3)
13
+
14
+ - 基线版本:Modern.js `release-v3.x`。
15
+ - 覆盖范围:UltraModern.js V3 已落地的全部用户可见差异。
16
+ - 不包含:未进入 V3 发布线的主线路线图能力。
17
+
18
+ ## 完整差异矩阵(V3)
19
+
20
+ | 领域 | Modern.js V3 基线 | UltraModern.js V3 差异 | V3 状态 | 备注 |
21
+ | --- | --- | --- | --- | --- |
22
+ | 构建诊断默认行为 | 大多数项目中 RsDoctor 为显式开启 | Rspack 生产构建默认开启 RsDoctor | 已实现 | 可通过 `performance.rsdoctor` 关闭 |
23
+ | 构建诊断配置面 | 框架文档无 `performance.rsdoctor` | 新增 `performance.rsdoctor`(`boolean` 或 `{ enabled, disableClientServer, reportDir, mode }`) | 已实现 | `disableClientServer` 默认 `true` |
24
+ | 诊断产物契约 | 无标准化机器可读诊断入口 | 新增 `.rsdoctor/ultramodern-diagnostics.json`,用于定位 manifest | 已实现 | 便于编码代理稳定消费诊断数据 |
25
+ | 静态资源预压缩默认行为 | 预压缩产物与回源策略通常由业务自定义 | 生产 Web 构建默认开启 `output.precompress`,并在 Node 静态中间件按 `Accept-Encoding` 协商 `.br` / `.gz` | 已实现 | 可按 codec 关闭或细调 |
26
+ | 路由运行时选型 | 默认运行时路径以 React Router 为中心 | 新增 TanStack Router 运行时与 CLI 路由树支持 | 已实现 | React Router 路径仍保留 |
27
+ | 脚手架模板选型 | 默认 create 模板以 React Router 起步路径为中心 | 新增 TanStack-ready 与 Tailwind-ready 的 create 模板 | 已实现 | React Router 起步路径仍保留 |
28
+ | Starter 预设 Gate 工作流 | 生成脚手架默认没有 UltraModern 预设校验工作流 | 在公开预设 starter 中新增 `ultramodern:check`、可关闭 env 开关与 `.github/workflows/ultramodern-gates.yml` | 已实现 | 让生成应用从第一笔提交起就可审计 |
29
+ | BFF Producer 契约标识 | `bff` 配置不包含 producer 身份 | 新增 `bff.requestId`,并打通到客户端生成链路 | 已实现 | 支持显式 producer 隔离 |
30
+ | BFF 生成客户端签名 | `createRequest(...)` 可选参数到 `fetch` 结束 | 配置 `requestId` 时,生成代码会附加 `requestId` 参数 | 已实现 | 未配置时保持兼容旧路径 |
31
+ | `create-request` 运行时隔离 | 单一可变请求配置 | 以 `requestId` 为维度隔离 request/domain/header 配置 | 已实现 | 支持同一应用多 producer |
32
+ | BFF 审计关联 Header | 缺少标准化 producer 操作/追踪上下文透传 | 新增 `x-operation-id`、`x-modernjs-bff-operation-context` 与 `traceparent` 传播并解析 trace 标识 | 已实现 | 便于租户/操作/追踪链路关联观测 |
33
+ | 未初始化 producer 行为 | 缺失配置时可能隐式 fallback | 非默认 `requestId` 未初始化会抛 `ProducerClientNotInitializedError` | 已实现 | 跨项目 BFF fail-fast |
34
+ | Node 侧透传 Header 行为 | Header 透传是全局路径 | 仅 `requestId === 'default'` 会透传入站请求头 | 已实现 | 避免 producer 间请求头串扰 |
35
+ | 服务端 Telemetry 配置 | 缺少统一 `server.telemetry` 契约 | 新增 `server.telemetry`(采样/批处理/脱敏/导出器) | 已实现 | 同步扩展 app-tools schema 与 server types |
36
+ | Telemetry 导出器 | 导出链路依赖业务自建 | 内置 OTLP 与 VictoriaMetrics 导出器 | 已实现 | 导出失败不会中断请求链路 |
37
+ | Telemetry 背压契约 | 无统一队列策略 | 内置队列上限、丢弃计数、定时 flush | 已实现 | 背压时上报 `telemetry.queue.dropped` |
38
+ | Metrics 与 Trace 关联 | SSR metrics 不解析 W3C trace 上下文 | 解析 `traceparent` 并注入 `trace_id` / `span_id` 标签 | 已实现 | 提升跨系统观测关联度 |
39
+ | 应用级 MF SSR 合约开关 | 无专门 app-level MF SSR 稳定性契约开关 | 新增 `server.ssr.moduleFederationAppSSR`,并在检测到 MF SSR 标记时自动启用环境变量握手 | 已实现 | 注入 `process.env.MODERN_MF_APP_SSR` |
40
+ | 应用级 MF SSR 运行时桥接 | 非稳定默认桥接路径 | V3 在「服务端渲染 + MF 标记」场景下提供稳定桥接默认行为 | 已实现 | 保留显式关闭路径 |
41
+ | MF 远程加载可靠性契约 | 远程加载重试/降级策略通常由业务自管 | 新增 timeout/network/contract-error 的确定性降级矩阵与分布式 OTEL 连续性断言 | 已实现 | 对应 `routes-tanstack-mf` 可靠性套件 |
42
+ | BFF 运行时选型 | Modern.js V3 基线仅提供 Hono 运行时路径(无内建 Effect 运行时) | 将 Effect 设为默认运行时,并采用严格运行时拆分(`effect` -> `api/effect`,`hono` -> `api/lambda`),同时补齐 Effect-Schema-only MF 数据契约与 failure-injection 覆盖 | 已实现(Effect 默认 + 严格拆分) | 该流明确不引入 Zod |
43
+ | 模块 SDK 合约产物 | 无框架级模块契约产物 | 新增机器可读模块家族契约与类型化模块 SDK 接口 | 已实现 | `module-sdk-contracts.json` + `moduleSdk.d.ts` |
44
+ | 边界反模式 CI 守卫 | 无专门边界反模式工作流 | 新增基于 profile 的边界检查(导入边界/必需钩子/模块禁用模式) | 已实现 | `.github/workflows/boundary-anti-patterns.yml` |
45
+ | 发布 / 模块认证 Gate 自动化 | 基线无 super-app 证据化 gate profile | 新增 RC + 模块认证 gate profile、证据元数据校验与专用 CI 工作流 | 已实现 | `.github/workflows/release-contract-gates.yml` + 模块/Bun gate 工作流 |
46
+ | 合约测试覆盖 | 基线中无上述差异项配套测试 | 增加 RsDoctor、BFF requestId、Telemetry、SSR MF 合约环境变量的针对性测试 | 已实现 | 降低 super-app 场景回归风险 |
47
+ | 公开文档面 | 无 UltraModern V3 差异总览页 | 新增 V3 专用差异页并补齐关联配置文档 | 已实现 | 本页作为这套公开预设档案的参考页 |
48
+
49
+ ## V3 详细差异说明
50
+
51
+ ### 1) `performance.rsdoctor` 与默认开启诊断
52
+
53
+ UltraModern.js V3 扩展了性能配置:
54
+
55
+ - `performance.rsdoctor: boolean | { enabled?: boolean; disableClientServer?: boolean; reportDir?: string; mode?: 'normal' | 'brief' | 'lite' }`
56
+ - Rspack + 生产环境:默认开启。
57
+ - Rspack + 开发环境:默认关闭(可显式开启)。
58
+ - Webpack 构建:不会注入 RsDoctor 插件。
59
+ - RsDoctor 契约产物:
60
+ - `<reportDir 或 outputPath>/.rsdoctor/ultramodern-diagnostics.json`
61
+ - 用于指向 `.rsdoctor/manifest.json`
62
+
63
+ ```ts title="modern.config.ts"
64
+ export default defineConfig({
65
+ performance: {
66
+ rsdoctor: {
67
+ enabled: true,
68
+ disableClientServer: true,
69
+ reportDir: './artifacts',
70
+ mode: 'brief',
71
+ },
72
+ },
73
+ });
74
+ ```
75
+
76
+ ### 2) 通过 `requestId` 强化跨项目 BFF 契约
77
+
78
+ UltraModern.js V3 在 BFF 工具链中引入显式 producer 身份:
79
+
80
+ - `bff.requestId` 配置项。
81
+ - Loader/客户端生成链路将 `requestId` 传递给 `createRequest(...)`。
82
+ - `create-request` 运行时以 `requestId` 为粒度隔离状态。
83
+
84
+ ```ts
85
+ configure({
86
+ requestId: 'erp-inventory',
87
+ request: customFetch,
88
+ setDomain: ({ target, requestId }) =>
89
+ target === 'server'
90
+ ? `http://inventory-bff.internal`
91
+ : `https://inventory.example.com`,
92
+ });
93
+ ```
94
+
95
+ V3 合约行为:
96
+
97
+ - 非默认 `requestId` 若未先 `configure({ requestId })`,会抛出 `ProducerClientNotInitializedError`。
98
+ - `allowedHeaders` / `request` / `setDomain` 都按 `requestId` 隔离。
99
+ - Node 运行时仅在 legacy 的 `default` producer 路径透传入站请求头。
100
+ - 非默认 producer 调用会自动携带操作与追踪关联 Header:
101
+ - `x-operation-id`
102
+ - `x-modernjs-bff-operation-context`
103
+ - `traceparent`(存在时会在 operation context 中反映 `traceId` / `spanId`)
104
+
105
+ ### 3) `server.telemetry` 标准化与导出器
106
+
107
+ UltraModern.js V3 新增统一 telemetry 契约:
108
+
109
+ - 在 `server.telemetry` 提供配置面。
110
+ - 内置 registry,支持采样、批处理、脱敏、背压控制。
111
+ - 内置 OTLP 与 VictoriaMetrics 导出器。
112
+ - 对 `emitCounter` / `emitTimer` 自动镜像 telemetry envelope。
113
+
114
+ ```ts title="modern.config.ts"
115
+ export default defineConfig({
116
+ server: {
117
+ telemetry: {
118
+ enabled: true,
119
+ service: 'erp-gateway',
120
+ module: 'server',
121
+ environment: 'production',
122
+ samplingRate: 1,
123
+ flushIntervalMs: 1000,
124
+ maxBatchSize: 50,
125
+ maxQueueSize: 1000,
126
+ redactionKeys: ['authorization', 'token'],
127
+ exporters: {
128
+ otlp: {
129
+ enabled: true,
130
+ endpoint: 'http://otel-collector:4318/v1/logs',
131
+ },
132
+ victoriaMetrics: {
133
+ enabled: true,
134
+ endpoint: 'http://vm:8428/api/v1/import/prometheus',
135
+ metricPrefix: 'ultramodern',
136
+ },
137
+ },
138
+ },
139
+ },
140
+ });
141
+ ```
142
+
143
+ V3 重要行为:
144
+
145
+ - 若没有启用任何导出器,telemetry 管线不会初始化。
146
+ - 导出器异常按非致命处理,不会阻断请求主链路。
147
+
148
+ ### 4) SSR metrics 的 Trace 标签注入
149
+
150
+ 当请求携带 W3C `traceparent` 时,UltraModern.js V3 会在 SSR metrics 标签中注入:
151
+
152
+ - `trace_id`
153
+ - `span_id`
154
+
155
+ 用于提升应用指标与分布式追踪系统之间的关联能力。
156
+
157
+ ### 5) 应用级 MF SSR 稳定契约(`server.ssr.moduleFederationAppSSR`)
158
+
159
+ UltraModern.js V3 新增:
160
+
161
+ - 首选开关:`server.ssr.moduleFederationAppSSR`(`server.ssrByEntries` 同样生效)。
162
+ - 编译期全局变量:
163
+ - `process.env.MODERN_MF_APP_SSR`(`'true' | 'false'`)
164
+
165
+ ```ts title="modern.config.ts"
166
+ export default defineConfig({
167
+ server: {
168
+ ssr: {
169
+ moduleFederationAppSSR: true,
170
+ },
171
+ },
172
+ });
173
+ ```
174
+
175
+ 当检测到 MF SSR 标记且启用了服务端渲染时,V3 会自动进入同一套稳定合约路径;如需灰度,可通过配置/环境变量显式关闭。
176
+
177
+ ### 6) V3 的合约级测试加固
178
+
179
+ UltraModern.js V3 新增了以下关键测试覆盖:
180
+
181
+ - RsDoctor 默认行为与显式开关。
182
+ - BFF `requestId` 生成与运行时隔离、fail-fast 行为。
183
+ - Telemetry 脱敏、背压与导出器行为。
184
+ - SSR 分阶段契约识别与环境变量注入。
185
+
186
+ ### 7) 模块 SDK 合约与边界反模式守卫
187
+
188
+ UltraModern.js V3 新增用于模块准入与平台边界治理的产物:
189
+
190
+ - 模块契约产物:`docs/super-app-rfc-adr/contracts/module-sdk-contracts.json`
191
+ - 模块 manifest 示例:`docs/super-app-rfc-adr/contracts/module-manifest.example.json`
192
+ - 类型契约:`packages/toolkit/types/common/moduleSdk.d.ts`
193
+ - 校验工具:
194
+ - `scripts/module-sdk-contracts/validate-module-sdk-contracts.js`
195
+ - `scripts/boundary-guards/check-boundary-violations.js`
196
+ - CI 工作流:
197
+ - `.github/workflows/boundary-anti-patterns.yml`
198
+ - `.github/workflows/module-certification-gates.yml`
199
+ - `.github/workflows/bun-superapp-smoke.yml`
200
+
201
+ ### 8) 默认预压缩与预压缩静态资源回源
202
+
203
+ UltraModern.js V3 调整了生产 Web 产物的默认行为:
204
+
205
+ - app-tools 默认 `output.precompress: true`。
206
+ - 构建阶段会产出 gzip(`.gz`)与 brotli(`.br`)静态资源。
207
+ - Node 静态中间件按 `Accept-Encoding` 协商并设置:
208
+ - `Content-Encoding`
209
+ - `Vary: Accept-Encoding`
210
+ - 支持按项目维度细调 `gzip` / `brotli` 选项。
211
+
212
+ ```ts title="modern.config.ts"
213
+ export default defineConfig({
214
+ output: {
215
+ precompress: {
216
+ gzip: true,
217
+ brotli: {
218
+ threshold: 8 * 1024,
219
+ },
220
+ },
221
+ },
222
+ });
223
+ ```
224
+
225
+ ### 9) TanStack Router + Tailwind 一等支持
226
+
227
+ UltraModern.js V3 在运行时与脚手架层面补齐了 TanStack 路径:
228
+
229
+ - 运行时/CLI 支持 TanStack 路由树生成与 SSR/stream 集成。
230
+ - Create 模板补齐 TanStack 与 Tailwind 初始化能力。
231
+ - 配套集成测试覆盖:
232
+ - `tests/integration/routes-tanstack`
233
+ - `tests/integration/routes-tanstack-mf`
234
+ - 既有 React Router 工作流继续保持可用。
235
+
236
+ ### 10) Effect-first MF 数据可靠性与数据平台契约
237
+
238
+ UltraModern.js V3 对应 Beads Stream D 落地了额外可靠性能力:
239
+
240
+ - `@modern-js/plugin-bff` 运行时路径迁移到 Effect v4。
241
+ - MF 数据拉取契约采用 Effect-only 指导(该流明确不引入 Zod)。
242
+ - 远程加载可靠性矩阵覆盖 timeout/network/contract error 的确定性注入场景。
243
+ - build 与 serve 路径重新启用分布式 trace 连续性断言。
244
+ - 数据平台架构补齐 operation identity、请求/水合 envelope 完整性、scope key 与失效路由契约。
245
+
246
+ 参考资料:
247
+
248
+ - `docs/super-app-rfc-adr/ADR-0003-effect-only-mf-data-fetch-reliability.md`
249
+ - `packages/cli/plugin-bff/docs/data-platform-architecture.md`
250
+ - `tests/integration/routes-tanstack-mf/test/remote-loader-reliability.test.ts`
251
+
252
+ ### 11) 发布与模块认证 Gate 模型
253
+
254
+ 这套公开 UltraModern 预设在基线 Modern.js V3 之外补齐了可机审的发布 gate:
255
+
256
+ - Gate profile:
257
+ - `scripts/release-gates/rc-contract-profile.json`
258
+ - `scripts/release-gates/module-certification-profile.json`
259
+ - 证据目录契约:
260
+ - `docs/super-app-rfc-adr/evidence/release-candidate/current`
261
+ - `docs/super-app-rfc-adr/evidence/module-certification/current`
262
+ - 本地校验命令:
263
+ - `pnpm run validate:module-sdk-contracts`
264
+ - `pnpm run validate:boundary-guards`
265
+ - `pnpm run validate:module-certification-gates`
266
+ - `pnpm run validate:rc-gates`
267
+ - `pnpm run validate:bun-smoke`
268
+ - CI 工作流:
269
+ - `.github/workflows/release-contract-gates.yml`
270
+ - `.github/workflows/module-certification-gates.yml`
271
+ - `.github/workflows/bun-superapp-smoke.yml`
272
+ - 生成 starter 自带工作流:
273
+ - `.github/workflows/ultramodern-gates.yml`
274
+ - 默认执行 `pnpm run ultramodern:check` 与 `pnpm run build`
275
+
276
+ ## 不属于 UltraModern.js V3 的能力
277
+
278
+ 以下能力刻意不纳入这套公开 V3 预设档案:
279
+
280
+ - 将应用级 MF SSR 强制为所有应用的默认路径。
281
+ - 将 Effect-only 数据获取运行时强制为所有应用的默认路径。
282
+
283
+ ## 基线开关(可按需关闭)
284
+
285
+ 生成的 `presetUltramodern(...)` create 模板会开启更严格的平台契约。以下环境变量会在生成的 `modern.config.ts` 中读取,可按应用或按环境关闭/覆盖:
286
+
287
+ - `MODERN_BASELINE_ENABLE_MF_SSR`(默认:`true`):开启应用级 MF SSR 基线契约(`server.ssr.mode: 'stream'` + `moduleFederationAppSSR`)。应用不使用 app-level MF SSR 或希望先走普通 SSR/CSR 路径时可关闭。
288
+ - `MODERN_BASELINE_ENABLE_BFF_REQUEST_ID`(默认:`true`):开启默认 BFF producer 身份契约(`bff.requestId`)。应用不需要跨项目 producer 隔离时可关闭。
289
+ - `MODERN_BASELINE_ENABLE_TELEMETRY_EXPORTERS`(默认:`true`):在基线配置中启用 telemetry 导出器。当前环境还没有 telemetry 后端时可关闭。
290
+ - `MODERN_BASELINE_APP_ID`(默认:`basename(process.cwd())`):覆盖基线 `bff.requestId` 身份。需要固定、可治理的统一 producer ID 命名时建议设置。
291
+ - `MODERN_TELEMETRY_OTLP_ENDPOINT`(默认:`http://127.0.0.1:4318/v1/logs`):OTLP 导出端点。接入其他 OTLP collector 地址时覆盖。
292
+ - `MODERN_TELEMETRY_VICTORIA_ENDPOINT`(默认:`http://127.0.0.1:8428/api/v1/import/prometheus`):VictoriaMetrics 导出端点。接入其他 VM 写入地址时覆盖。
293
+ - `MODERN_TELEMETRY_FAIL_LOUD_STARTUP`(默认:`true`):导出器健康检查失败时启动即失败(fail-loud)。本地/开发环境希望 telemetry 故障不阻断启动时可关闭。
294
+
295
+ ## 相关公开文档
296
+
297
+ - [performance.rsdoctor](/configure/app/performance/rsdoctor)
298
+ - [server.ssr](/configure/app/server/ssr)
299
+ - [BFF 指南](/guides/advanced-features/bff/index)
300
+ - [BFF 运行时框架](/guides/advanced-features/bff/frameworks)
301
+ - [BFF Data Platform 架构](/guides/advanced-features/bff/data-platform)
302
+ - [BFF Effect 运行时配置](/configure/app/bff/effect)
303
+ - [微前端指南](/guides/topic-detail/micro-frontend/c01-introduction)
304
+ - [Module Federation SSR](/guides/topic-detail/module-federation/ssr)