@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.99 → 3.8.1-ultramodern.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/bin/modern-bundle-docs.js +7 -0
  2. package/dist/cjs/builder/generator/getBuilderEnvironments.js +73 -11
  3. package/dist/cjs/bundleDocs.js +114 -0
  4. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +1 -1
  5. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.js +94 -18
  6. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  7. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  8. package/dist/cjs/ultramodern-release-envelope/framework-output.js +109 -57
  9. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +63 -10
  10. package/dist/esm/bundleDocs.mjs +62 -0
  11. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -1
  12. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +93 -18
  13. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  14. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  15. package/dist/esm/ultramodern-release-envelope/framework-output.mjs +107 -58
  16. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +63 -10
  17. package/dist/esm-node/bundleDocs.mjs +63 -0
  18. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -1
  19. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +93 -18
  20. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  21. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  22. package/dist/esm-node/ultramodern-release-envelope/framework-output.mjs +107 -58
  23. package/dist/types/builder/generator/getBuilderEnvironments.d.ts +29 -0
  24. package/dist/types/bundleDocs.d.ts +20 -0
  25. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.d.ts +1 -1
  26. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.d.mts +1 -1
  27. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +13 -0
  28. package/dist/types/ultramodern-release-envelope/framework-output.d.ts +1 -0
  29. package/docs/apis/app/{commands.mdx → commands.md} +35 -9
  30. package/docs/apis/app/hooks/api/{lambda.mdx → lambda.md} +2 -6
  31. package/docs/apis/app/hooks/config/{favicon.mdx → favicon.md} +1 -6
  32. package/docs/apis/app/hooks/config/{html.mdx → html.md} +1 -5
  33. package/docs/apis/app/hooks/config/{icon.mdx → icon.md} +1 -6
  34. package/docs/apis/app/hooks/config/{mock.mdx → mock.md} +1 -5
  35. package/docs/apis/app/hooks/config/{public.mdx → public.md} +0 -4
  36. package/docs/apis/app/hooks/config/{upload.mdx → upload.md} +3 -7
  37. package/docs/apis/app/hooks/{modern-config.mdx → modern-config.md} +1 -5
  38. package/docs/apis/app/hooks/server/{server.mdx → server.md} +1 -6
  39. package/docs/apis/app/hooks/{shared.mdx → shared.md} +0 -4
  40. package/docs/apis/app/hooks/src/{app.mdx → app.md} +2 -2
  41. package/docs/apis/app/hooks/src/{entry.mdx → entry.md} +1 -6
  42. package/docs/apis/app/hooks/src/{entry.server.mdx → entry.server.md} +0 -5
  43. package/docs/apis/app/hooks/src/{modern.runtime.mdx → modern.runtime.md} +1 -5
  44. package/docs/apis/app/hooks/src/{routes.mdx → routes.md} +3 -7
  45. package/docs/apis/app/hooks/src/{server.mdx → server.md} +1 -5
  46. package/docs/apis/app/runtime/bff/{use-backend-context.mdx → use-backend-context.md} +0 -3
  47. package/docs/apis/app/runtime/core/{create-root.mdx → create-root.md} +0 -3
  48. package/docs/apis/app/runtime/core/{render.mdx → render.md} +1 -4
  49. package/docs/apis/app/runtime/core/{runtime-context.mdx → runtime-context.md} +0 -4
  50. package/docs/apis/app/runtime/router/{router.mdx → router.md} +1 -6
  51. package/docs/apis/app/runtime/ssr/{no-ssr.mdx → no-ssr.md} +0 -3
  52. package/docs/apis/app/runtime/ssr/{renderStreaming.mdx → renderStreaming.md} +0 -4
  53. package/docs/apis/app/runtime/ssr/{renderString.mdx → renderString.md} +0 -4
  54. package/docs/apis/app/runtime/ssr/{requestHandler.mdx → requestHandler.md} +0 -4
  55. package/docs/apis/app/runtime/utility/{css-in-js.mdx → css-in-js.md} +0 -4
  56. package/docs/apis/app/runtime/utility/{head.mdx → head.md} +0 -3
  57. package/docs/apis/app/runtime/utility/{loadable.mdx → loadable.md} +0 -3
  58. package/docs/community/blog/2022-0708-updates.md +91 -0
  59. package/docs/community/blog/2022-0910-updates.md +76 -0
  60. package/docs/community/blog/overview.md +63 -0
  61. package/docs/community/blog/v2-release-note.md +238 -0
  62. package/docs/community/blog/v3-release-note.md +622 -0
  63. package/docs/community/contributing-guide.md +252 -0
  64. package/docs/community/releases.md +23 -0
  65. package/docs/community/showcase.md +24 -0
  66. package/docs/community/team.md +14 -0
  67. package/docs/configure/app/bff/{cross-project.mdx → cross-project.md} +4 -8
  68. package/docs/configure/app/bff/{effect.mdx → effect.md} +16 -22
  69. package/docs/configure/app/bff/{prefix.mdx → prefix.md} +3 -7
  70. package/docs/configure/app/bff/{runtime-framework.mdx → runtime-framework.md} +3 -7
  71. package/docs/configure/app/{builder-plugins.mdx → builder-plugins.md} +4 -8
  72. package/docs/configure/app/dev/{asset-prefix.mdx → asset-prefix.md} +4 -9
  73. package/docs/configure/app/dev/{before-start-url.mdx → before-start-url.md} +0 -4
  74. package/docs/configure/app/dev/{client.mdx → client.md} +3 -7
  75. package/docs/configure/app/dev/hmr.md +10 -0
  76. package/docs/configure/app/dev/{host.mdx → host.md} +0 -4
  77. package/docs/configure/app/dev/{https.mdx → https.md} +0 -4
  78. package/docs/configure/app/dev/{lazy-compilation.mdx → lazy-compilation.md} +2 -8
  79. package/docs/configure/app/dev/live-reload.md +10 -0
  80. package/docs/configure/app/dev/{mock-dir.mdx → mock-dir.md} +0 -4
  81. package/docs/configure/app/dev/progress-bar.md +19 -0
  82. package/docs/configure/app/dev/{server.mdx → server.md} +0 -4
  83. package/docs/configure/app/dev/{setup-middlewares.mdx → setup-middlewares.md} +3 -7
  84. package/docs/configure/app/dev/{start-url.mdx → start-url.md} +0 -5
  85. package/docs/configure/app/dev/{watch-files.mdx → watch-files.md} +3 -7
  86. package/docs/configure/app/dev/{write-to-disk.mdx → write-to-disk.md} +3 -7
  87. package/docs/configure/app/experiments/{source-build.mdx → source-build.md} +1 -3
  88. package/docs/configure/app/html/{app-icon.mdx → app-icon.md} +3 -7
  89. package/docs/configure/app/html/{crossorigin.mdx → crossorigin.md} +3 -7
  90. package/docs/configure/app/html/{favicon.mdx → favicon.md} +3 -7
  91. package/docs/configure/app/html/inject.md +10 -0
  92. package/docs/configure/app/html/{meta.mdx → meta.md} +3 -7
  93. package/docs/configure/app/html/{mount-id.mdx → mount-id.md} +3 -7
  94. package/docs/configure/app/html/output-structure.md +10 -0
  95. package/docs/configure/app/html/script-loading.md +10 -0
  96. package/docs/configure/app/html/{tags.mdx → tags.md} +3 -7
  97. package/docs/configure/app/html/{template-parameters.mdx → template-parameters.md} +3 -7
  98. package/docs/configure/app/html/template.md +10 -0
  99. package/docs/configure/app/html/title.md +18 -0
  100. package/docs/configure/app/output/asset-prefix.md +11 -0
  101. package/docs/configure/app/output/{assets-retry.mdx → assets-retry.md} +1 -5
  102. package/docs/configure/app/output/{charset.mdx → charset.md} +3 -7
  103. package/docs/configure/app/output/{clean-dist-path.mdx → clean-dist-path.md} +0 -4
  104. package/docs/configure/app/output/{convert-to-rem.mdx → convert-to-rem.md} +12 -16
  105. package/docs/configure/app/output/{copy.mdx → copy.md} +3 -7
  106. package/docs/configure/app/output/{css-modules.mdx → css-modules.md} +3 -7
  107. package/docs/configure/app/output/{data-uri-limit.mdx → data-uri-limit.md} +3 -7
  108. package/docs/configure/app/output/{disable-css-module-extension.mdx → disable-css-module-extension.md} +3 -7
  109. package/docs/configure/app/output/{disable-inline-runtime-chunk.mdx → disable-inline-runtime-chunk.md} +0 -4
  110. package/docs/configure/app/output/{disable-svgr.mdx → disable-svgr.md} +0 -4
  111. package/docs/configure/app/output/{disable-ts-checker.mdx → disable-ts-checker.md} +0 -4
  112. package/docs/configure/app/output/{dist-path.mdx → dist-path.md} +3 -11
  113. package/docs/configure/app/output/{enable-asset-manifest.mdx → enable-asset-manifest.md} +0 -4
  114. package/docs/configure/app/output/{enable-css-module-tsdeclaration.mdx → enable-css-module-tsdeclaration.md} +0 -4
  115. package/docs/configure/app/output/{enable-inline-route-manifests.mdx → enable-inline-route-manifests.md} +0 -4
  116. package/docs/configure/app/output/{externals.mdx → externals.md} +3 -7
  117. package/docs/configure/app/output/filename-hash.md +10 -0
  118. package/docs/configure/app/output/{filename.mdx → filename.md} +3 -7
  119. package/docs/configure/app/output/inject-styles.md +10 -0
  120. package/docs/configure/app/output/{inline-scripts.mdx → inline-scripts.md} +4 -8
  121. package/docs/configure/app/output/{inline-styles.mdx → inline-styles.md} +4 -8
  122. package/docs/configure/app/output/{legal-comments.mdx → legal-comments.md} +3 -7
  123. package/docs/configure/app/output/{minify.mdx → minify.md} +3 -7
  124. package/docs/configure/app/output/{override-browserslist.mdx → override-browserslist.md} +4 -8
  125. package/docs/configure/app/output/polyfill.md +12 -0
  126. package/docs/configure/app/output/{source-map.mdx → source-map.md} +3 -7
  127. package/docs/configure/app/output/{split-route-chunks.mdx → split-route-chunks.md} +0 -4
  128. package/docs/configure/app/output/{ssg.mdx → ssg.md} +3 -7
  129. package/docs/configure/app/output/{ssgByEntries.mdx → ssgByEntries.md} +1 -4
  130. package/docs/configure/app/output/{svg-default-export.mdx → svg-default-export.md} +0 -4
  131. package/docs/configure/app/output/{temp-dir.mdx → temp-dir.md} +0 -4
  132. package/docs/configure/app/performance/{build-cache.mdx → build-cache.md} +3 -7
  133. package/docs/configure/app/performance/{chunk-split.mdx → chunk-split.md} +3 -7
  134. package/docs/configure/app/performance/{dns-prefetch.mdx → dns-prefetch.md} +3 -7
  135. package/docs/configure/app/performance/preconnect.md +16 -0
  136. package/docs/configure/app/performance/{prefetch.mdx → prefetch.md} +3 -7
  137. package/docs/configure/app/performance/{preload.mdx → preload.md} +3 -7
  138. package/docs/configure/app/performance/{print-file-size.mdx → print-file-size.md} +3 -7
  139. package/docs/configure/app/performance/profile.md +10 -0
  140. package/docs/configure/app/performance/remove-console.md +10 -0
  141. package/docs/configure/app/performance/remove-moment-locale.md +10 -0
  142. package/docs/configure/app/performance/{rsdoctor.mdx → rsdoctor.md} +0 -4
  143. package/docs/configure/app/{plugins.mdx → plugins.md} +4 -4
  144. package/docs/configure/app/resolve/{alias-strategy.mdx → alias-strategy.md} +3 -7
  145. package/docs/configure/app/resolve/alias.md +9 -0
  146. package/docs/configure/app/resolve/{condition-names.mdx → condition-names.md} +3 -8
  147. package/docs/configure/app/resolve/{dedupe.mdx → dedupe.md} +3 -7
  148. package/docs/configure/app/resolve/{extensions.mdx → extensions.md} +3 -8
  149. package/docs/configure/app/runtime/{0-intro.mdx → 0-intro.md} +1 -4
  150. package/docs/configure/app/runtime/{plugins.mdx → plugins.md} +1 -1
  151. package/docs/configure/app/runtime/{router.mdx → router.md} +3 -7
  152. package/docs/configure/app/security/{check-syntax.mdx → check-syntax.md} +0 -4
  153. package/docs/configure/app/security/{nonce.mdx → nonce.md} +3 -7
  154. package/docs/configure/app/security/{sri.mdx → sri.md} +0 -4
  155. package/docs/configure/app/server/{base-url.mdx → base-url.md} +0 -4
  156. package/docs/configure/app/server/{port.mdx → port.md} +3 -7
  157. package/docs/configure/app/server/{public-routes.mdx → public-routes.md} +0 -4
  158. package/docs/configure/app/server/{routes.mdx → routes.md} +1 -5
  159. package/docs/configure/app/server/rsc.md +22 -0
  160. package/docs/configure/app/server/{ssr-by-entries.mdx → ssr-by-entries.md} +1 -5
  161. package/docs/configure/app/server/ssr.md +80 -0
  162. package/docs/configure/app/server/{tsconfig-path.mdx → tsconfig-path.md} +0 -4
  163. package/docs/configure/app/source/{alias-strategy.mdx → alias-strategy.md} +4 -8
  164. package/docs/configure/app/source/{alias.mdx → alias.md} +4 -8
  165. package/docs/configure/app/source/{config-dir.mdx → config-dir.md} +1 -5
  166. package/docs/configure/app/source/{decorators.mdx → decorators.md} +0 -4
  167. package/docs/configure/app/source/{define.mdx → define.md} +3 -7
  168. package/docs/configure/app/source/{disable-default-entries.mdx → disable-default-entries.md} +2 -6
  169. package/docs/{components/module-federation.mdx → configure/app/source/enable-async-entry.md} +47 -0
  170. package/docs/configure/app/source/{enable-async-pre-entry.mdx → enable-async-pre-entry.md} +0 -4
  171. package/docs/configure/app/source/{entries-dir.mdx → entries-dir.md} +0 -4
  172. package/docs/configure/app/source/{entries.mdx → entries.md} +1 -5
  173. package/docs/configure/app/source/{exclude.mdx → exclude.md} +4 -8
  174. package/docs/configure/app/source/{global-vars.mdx → global-vars.md} +0 -4
  175. package/docs/configure/app/source/{include.mdx → include.md} +4 -8
  176. package/docs/configure/app/source/{main-entry-name.mdx → main-entry-name.md} +0 -4
  177. package/docs/configure/app/source/{pre-entry.mdx → pre-entry.md} +3 -7
  178. package/docs/configure/app/source/{react-compiler.mdx → react-compiler.md} +0 -4
  179. package/docs/configure/app/source/{transform-import.mdx → transform-import.md} +3 -7
  180. package/docs/configure/app/{split-chunks.mdx → split-chunks.md} +3 -3
  181. package/docs/configure/app/tools/{autoprefixer.mdx → autoprefixer.md} +0 -4
  182. package/docs/configure/app/tools/{bundler-chain.mdx → bundler-chain.md} +0 -4
  183. package/docs/configure/app/tools/{css-extract.mdx → css-extract.md} +3 -7
  184. package/docs/configure/app/tools/{css-loader.mdx → css-loader.md} +3 -7
  185. package/docs/configure/app/tools/{dev-server.mdx → dev-server.md} +0 -4
  186. package/docs/configure/app/tools/{html-plugin.mdx → html-plugin.md} +3 -7
  187. package/docs/configure/app/tools/{less.mdx → less.md} +0 -4
  188. package/docs/configure/app/tools/{lightningcss-loader.mdx → lightningcss-loader.md} +3 -7
  189. package/docs/configure/app/tools/{minify-css.mdx → minify-css.md} +0 -4
  190. package/docs/configure/app/tools/{postcss.mdx → postcss.md} +3 -7
  191. package/docs/configure/app/tools/rspack.md +10 -0
  192. package/docs/configure/app/tools/{sass.mdx → sass.md} +0 -4
  193. package/docs/configure/app/tools/style-loader.md +10 -0
  194. package/docs/configure/app/tools/{swc.mdx → swc.md} +4 -8
  195. package/docs/configure/app/tools/{ts-checker.mdx → ts-checker.md} +20 -7
  196. package/docs/configure/app/{usage.mdx → usage.md} +1 -1
  197. package/docs/guides/advanced-features/bff/{cross-project.mdx → cross-project.md} +1 -2
  198. package/docs/guides/advanced-features/bff/{data-platform.mdx → data-platform.md} +0 -4
  199. package/docs/guides/advanced-features/bff/{extend-server.mdx → extend-server.md} +1 -1
  200. package/docs/guides/advanced-features/bff/frameworks.md +243 -0
  201. package/docs/guides/advanced-features/bff/{function.mdx → function.md} +60 -7
  202. package/docs/guides/advanced-features/bff/{operators.mdx → operators.md} +2 -77
  203. package/docs/{components/bff-upload.mdx → guides/advanced-features/bff/upload.md} +4 -0
  204. package/docs/guides/advanced-features/{bff.mdx → bff.md} +0 -4
  205. package/docs/guides/advanced-features/{build-performance.mdx → build-performance.md} +3 -7
  206. package/docs/guides/advanced-features/{compatibility.mdx → compatibility.md} +54 -15
  207. package/docs/guides/advanced-features/international/{advanced.mdx → advanced.md} +0 -4
  208. package/docs/guides/advanced-features/international/{api.mdx → api.md} +16 -20
  209. package/docs/guides/advanced-features/international/{best-practices.mdx → best-practices.md} +0 -4
  210. package/docs/guides/advanced-features/international/configuration.md +228 -0
  211. package/docs/guides/advanced-features/international/{locale-detection.mdx → locale-detection.md} +25 -29
  212. package/docs/guides/advanced-features/international/{quick-start.mdx → quick-start.md} +29 -13
  213. package/docs/guides/advanced-features/international/{resource-loading.mdx → resource-loading.md} +11 -15
  214. package/docs/guides/advanced-features/international/{routing.mdx → routing.md} +12 -16
  215. package/docs/guides/advanced-features/international.md +27 -0
  216. package/docs/guides/advanced-features/{low-level.mdx → low-level.md} +17 -21
  217. package/docs/guides/advanced-features/page-performance/{code-split.mdx → code-split.md} +2 -6
  218. package/docs/guides/advanced-features/page-performance/{inline-assets.mdx → inline-assets.md} +3 -7
  219. package/docs/guides/advanced-features/page-performance/{optimize-bundle.mdx → optimize-bundle.md} +4 -8
  220. package/docs/{components/internal-logger.mdx → guides/advanced-features/server-monitor/logger.md} +16 -0
  221. package/docs/guides/advanced-features/server-monitor/metrics.md +58 -0
  222. package/docs/guides/advanced-features/server-monitor/{monitors.mdx → monitors.md} +3 -3
  223. package/docs/guides/advanced-features/{source-build.mdx → source-build.md} +1 -5
  224. package/docs/guides/advanced-features/{web-server.mdx → web-server.md} +1 -9
  225. package/docs/guides/basic-features/{alias.mdx → alias.md} +3 -7
  226. package/docs/guides/basic-features/css/{css-in-js.mdx → css-in-js.md} +12 -9
  227. package/docs/guides/basic-features/css/{css-modules.mdx → css-modules.md} +3 -3
  228. package/docs/guides/basic-features/css/{css.mdx → css.md} +2 -6
  229. package/docs/guides/basic-features/data/{data-cache.mdx → data-cache.md} +1 -6
  230. package/docs/guides/basic-features/data/{data-fetch.mdx → data-fetch.md} +4 -8
  231. package/docs/guides/basic-features/data/{data-write.mdx → data-write.md} +6 -9
  232. package/docs/guides/basic-features/debug/{mock.mdx → mock.md} +1 -5
  233. package/docs/guides/basic-features/debug/{proxy.mdx → proxy.md} +1 -5
  234. package/docs/guides/basic-features/debug/{using-storybook.mdx → using-storybook.md} +20 -8
  235. package/docs/guides/basic-features/{deploy.mdx → deploy.md} +23 -13
  236. package/docs/guides/basic-features/{env-vars.mdx → env-vars.md} +8 -12
  237. package/docs/guides/basic-features/{html.mdx → html.md} +3 -7
  238. package/docs/guides/basic-features/{output-files.mdx → output-files.md} +6 -10
  239. package/docs/guides/basic-features/render/{before-render.mdx → before-render.md} +1 -1
  240. package/docs/guides/basic-features/render/overview.md +47 -0
  241. package/docs/guides/basic-features/render/{rsc.mdx → rsc.md} +16 -33
  242. package/docs/guides/basic-features/render/{ssg.mdx → ssg.md} +71 -10
  243. package/docs/guides/basic-features/render/{ssr-cache.mdx → ssr-cache.md} +5 -5
  244. package/docs/guides/basic-features/render/{ssr.mdx → ssr.md} +10 -12
  245. package/docs/guides/basic-features/render/{streaming-ssr.mdx → streaming-ssr.md} +5 -8
  246. package/docs/guides/basic-features/routes/{config-routes.mdx → config-routes.md} +10 -11
  247. package/docs/guides/basic-features/routes/{routes.mdx → routes.md} +8 -16
  248. package/docs/guides/basic-features/static-assets/{json-files.mdx → json-files.md} +0 -4
  249. package/docs/guides/basic-features/static-assets/{svg-assets.mdx → svg-assets.md} +3 -7
  250. package/docs/guides/basic-features/static-assets/{wasm-assets.mdx → wasm-assets.md} +1 -5
  251. package/docs/guides/basic-features/{static-assets.mdx → static-assets.md} +10 -14
  252. package/docs/guides/basic-features/testing/{playwright.mdx → playwright.md} +12 -3
  253. package/docs/guides/basic-features/testing/{rstest.mdx → rstest.md} +70 -11
  254. package/docs/guides/concept/{builder.mdx → builder.md} +3 -26
  255. package/docs/guides/concept/{entries.mdx → entries.md} +11 -17
  256. package/docs/guides/concept/{server.mdx → server.md} +3 -3
  257. package/docs/guides/get-started/{ai-coding-agents.mdx → ai-coding-agents.md} +4 -9
  258. package/docs/guides/get-started/glossary.md +63 -0
  259. package/docs/guides/get-started/{introduction.mdx → introduction.md} +1 -6
  260. package/docs/guides/get-started/quick-start.md +269 -0
  261. package/docs/guides/get-started/{tech-stack.mdx → tech-stack.md} +9 -15
  262. package/docs/guides/get-started/{ultramodern.mdx → ultramodern.md} +38 -31
  263. package/docs/guides/get-started/{upgrade.mdx → upgrade.md} +26 -22
  264. package/docs/guides/topic-detail/module-federation/{application.mdx → application.md} +3 -3
  265. package/docs/guides/topic-detail/module-federation/{deploy.mdx → deploy.md} +2 -2
  266. package/docs/guides/topic-detail/module-federation/{i18n.mdx → i18n.md} +14 -14
  267. package/docs/guides/topic-detail/module-federation/{introduce.mdx → introduce.md} +2 -3
  268. package/docs/guides/topic-detail/module-federation/{ssr.mdx → ssr.md} +12 -7
  269. package/docs/guides/topic-detail/module-federation/{usage.mdx → usage.md} +20 -3
  270. package/docs/guides/troubleshooting/{builder.mdx → builder.md} +10 -14
  271. package/docs/guides/troubleshooting/{cli.mdx → cli.md} +0 -4
  272. package/docs/guides/troubleshooting/{dependencies.mdx → dependencies.md} +7 -11
  273. package/docs/guides/troubleshooting/{hmr.mdx → hmr.md} +5 -9
  274. package/docs/guides/upgrade/{config.mdx → config.md} +8 -5
  275. package/docs/guides/upgrade/{entry.mdx → entry.md} +6 -6
  276. package/docs/guides/upgrade/{other.mdx → other.md} +8 -8
  277. package/docs/guides/upgrade/{overview.mdx → overview.md} +4 -4
  278. package/docs/guides/upgrade/{tailwindcss.mdx → tailwindcss.md} +0 -1
  279. package/docs/guides/upgrade/web-server.md +11 -11
  280. package/docs/index.md +33 -4
  281. package/docs/llms.txt +290 -0
  282. package/docs/plugin/cli-plugins/api.md +573 -0
  283. package/docs/plugin/cli-plugins/life-cycle.md +2 -0
  284. package/docs/plugin/introduction.md +152 -0
  285. package/docs/plugin/official/cli-plugins/plugin-bff.md +5 -0
  286. package/docs/plugin/official/cli-plugins/plugin-ssg.md +5 -0
  287. package/docs/plugin/official/cli-plugins/plugin-styled-components.md +5 -0
  288. package/docs/plugin/official/cli-plugins.md +4 -0
  289. package/docs/plugin/plugin-system.md +238 -0
  290. package/docs/plugin/runtime-plugins/api.md +194 -0
  291. package/docs/plugin/runtime-plugins/life-cycle.md +2 -0
  292. package/docs/plugin/server-plugins/api.md +209 -0
  293. package/docs/plugin/server-plugins/life-cycle.md +13 -0
  294. package/docs/tutorials/examples/csr-auth.md +9 -0
  295. package/docs/tutorials/foundations/introduction.md +16 -0
  296. package/package.json +33 -15
  297. package/docs/_nav.json +0 -36
  298. package/docs/apis/_meta.json +0 -13
  299. package/docs/apis/app/hooks/_meta.json +0 -28
  300. package/docs/apis/app/hooks/config/_meta.json +0 -1
  301. package/docs/apis/app/runtime/_meta.json +0 -32
  302. package/docs/components/auto-upgrade.mdx +0 -0
  303. package/docs/components/build-output.mdx +0 -45
  304. package/docs/components/bundler.mdx +0 -3
  305. package/docs/components/convention-routing-motivation.mdx +0 -0
  306. package/docs/components/debug-app.mdx +0 -15
  307. package/docs/components/default-browserslist.mdx +0 -7
  308. package/docs/components/deploy-command.mdx +0 -14
  309. package/docs/components/deploy.mdx +0 -1
  310. package/docs/components/enable-bff-caution.mdx +0 -3
  311. package/docs/components/enable-bff.mdx +0 -56
  312. package/docs/components/enable-ssg.mdx +0 -49
  313. package/docs/components/entry-mode.mdx +0 -0
  314. package/docs/components/entry-scan-logic.mdx +0 -7
  315. package/docs/components/extend-bff-function.mdx +0 -3
  316. package/docs/components/hono.mdx +0 -120
  317. package/docs/components/init-app.mdx +0 -93
  318. package/docs/components/init-rspack-app.mdx +0 -5
  319. package/docs/components/internal-metrics.mdx +0 -20
  320. package/docs/components/international/custom-instance-code.mdx +0 -16
  321. package/docs/components/international/init-options-desc.mdx +0 -1
  322. package/docs/components/international/install-command.mdx +0 -10
  323. package/docs/components/international/instance-code.mdx +0 -16
  324. package/docs/components/international/introduce.mdx +0 -5
  325. package/docs/components/international/platform-support.mdx +0 -0
  326. package/docs/components/language-config.mdx +0 -9
  327. package/docs/components/micro-frontend.mdx +0 -6
  328. package/docs/components/micro-master-manifest-config.mdx +0 -15
  329. package/docs/components/micro-runtime-config.mdx +0 -17
  330. package/docs/components/new-entry-tooltip.mdx +0 -0
  331. package/docs/components/nodeVersion.mdx +0 -28
  332. package/docs/components/other-plugins.mdx +0 -0
  333. package/docs/components/output-asset-prefix-extend.mdx +0 -0
  334. package/docs/components/output-distpath-warning.mdx +0 -0
  335. package/docs/components/output-polyfill-extend.mdx +0 -1
  336. package/docs/components/prerequisites.mdx +0 -18
  337. package/docs/components/release-note.mdx +0 -1
  338. package/docs/components/routes-practice.mdx +0 -0
  339. package/docs/components/rsbuild-config-tooltip.mdx +0 -5
  340. package/docs/components/rsbuild.mdx +0 -3
  341. package/docs/components/rsc-deploy-tip.mdx +0 -1
  342. package/docs/components/rspack.mdx +0 -3
  343. package/docs/components/rspackTip.mdx +0 -7
  344. package/docs/components/runtime-cli-config.mdx +0 -0
  345. package/docs/components/serve-command.mdx +0 -22
  346. package/docs/components/ssr-monitor.mdx +0 -3
  347. package/docs/components/stream-ssr-performance.mdx +0 -0
  348. package/docs/components/swc.mdx +0 -3
  349. package/docs/components/tech-stack-node-framework.mdx +0 -1
  350. package/docs/components/turtorials-example-list.mdx +0 -2
  351. package/docs/components/ua-polyfill.mdx +0 -44
  352. package/docs/components/upgrade-browserslist.mdx +0 -0
  353. package/docs/components/upgrade-config-deploy.mdx +0 -0
  354. package/docs/components/upgrade-faq.mdx +0 -0
  355. package/docs/configure/_meta.json +0 -78
  356. package/docs/configure/app/dev/hmr.mdx +0 -14
  357. package/docs/configure/app/dev/live-reload.mdx +0 -14
  358. package/docs/configure/app/dev/progress-bar.mdx +0 -23
  359. package/docs/configure/app/html/inject.mdx +0 -14
  360. package/docs/configure/app/html/output-structure.mdx +0 -14
  361. package/docs/configure/app/html/script-loading.mdx +0 -14
  362. package/docs/configure/app/html/template.mdx +0 -14
  363. package/docs/configure/app/html/title.mdx +0 -22
  364. package/docs/configure/app/output/asset-prefix.mdx +0 -18
  365. package/docs/configure/app/output/filename-hash.mdx +0 -14
  366. package/docs/configure/app/output/inject-styles.mdx +0 -14
  367. package/docs/configure/app/output/polyfill.mdx +0 -18
  368. package/docs/configure/app/performance/preconnect.mdx +0 -20
  369. package/docs/configure/app/performance/profile.mdx +0 -14
  370. package/docs/configure/app/performance/remove-console.mdx +0 -14
  371. package/docs/configure/app/performance/remove-moment-locale.mdx +0 -14
  372. package/docs/configure/app/resolve/alias.mdx +0 -13
  373. package/docs/configure/app/server/rsc.mdx +0 -30
  374. package/docs/configure/app/server/ssr.mdx +0 -85
  375. package/docs/configure/app/source/enable-async-entry.mdx +0 -54
  376. package/docs/configure/app/tools/rspack.mdx +0 -14
  377. package/docs/configure/app/tools/style-loader.mdx +0 -14
  378. package/docs/guides/_meta.json +0 -37
  379. package/docs/guides/advanced-features/_meta.json +0 -32
  380. package/docs/guides/advanced-features/bff/_meta.json +0 -10
  381. package/docs/guides/advanced-features/bff/frameworks.mdx +0 -131
  382. package/docs/guides/advanced-features/bff/upload.mdx +0 -7
  383. package/docs/guides/advanced-features/international/_meta.json +0 -10
  384. package/docs/guides/advanced-features/international/configuration.mdx +0 -222
  385. package/docs/guides/advanced-features/international.mdx +0 -29
  386. package/docs/guides/advanced-features/page-performance/_meta.json +0 -1
  387. package/docs/guides/advanced-features/server-monitor/_meta.json +0 -1
  388. package/docs/guides/advanced-features/server-monitor/logger.mdx +0 -19
  389. package/docs/guides/advanced-features/server-monitor/metrics.mdx +0 -41
  390. package/docs/guides/basic-features/_meta.json +0 -49
  391. package/docs/guides/basic-features/css/_meta.json +0 -1
  392. package/docs/guides/basic-features/data/_meta.json +0 -1
  393. package/docs/guides/basic-features/debug/_meta.json +0 -1
  394. package/docs/guides/basic-features/render/_meta.json +0 -1
  395. package/docs/guides/basic-features/render/overview.mdx +0 -51
  396. package/docs/guides/basic-features/routes/_meta.json +0 -1
  397. package/docs/guides/basic-features/static-assets/_meta.json +0 -1
  398. package/docs/guides/basic-features/testing/_meta.json +0 -1
  399. package/docs/guides/concept/_meta.json +0 -1
  400. package/docs/guides/get-started/_meta.json +0 -9
  401. package/docs/guides/get-started/glossary.mdx +0 -63
  402. package/docs/guides/get-started/quick-start.mdx +0 -92
  403. package/docs/guides/topic-detail/_meta.json +0 -8
  404. package/docs/guides/topic-detail/module-federation/_meta.json +0 -1
  405. package/docs/guides/troubleshooting/_meta.json +0 -1
  406. package/docs/guides/upgrade/_meta.json +0 -1
  407. package/scripts/copy-main-doc.mjs +0 -50
  408. /package/docs/guides/advanced-features/bff/{sdk.mdx → sdk.md} +0 -0
  409. /package/docs/guides/advanced-features/page-performance/{react-compiler.mdx → react-compiler.md} +0 -0
  410. /package/docs/guides/basic-features/css/{tailwindcss.mdx → tailwindcss.md} +0 -0
  411. /package/docs/guides/basic-features/debug/{rsdoctor.mdx → rsdoctor.md} +0 -0
@@ -0,0 +1,269 @@
1
+ # Quick Start
2
+
3
+ ## Environment
4
+
5
+ ### Node.js
6
+
7
+ Before getting started, you will need to install [Node.js](https://nodejs.org/), and ensure that your Node.js version is not lower than v20.19.5. **We recommend using the LTS version of Node.js 22.**
8
+
9
+ You can check the currently used Node.js version with the following command:
10
+
11
+ ```bash
12
+ node -v
13
+ ```
14
+
15
+ If you do not have Node.js installed in your current environment, or the installed version is lower than v20.19.5, you can use [nvm](https://github.com/nvm-sh/nvm) or [fnm](https://github.com/Schniz/fnm) to install the required version.
16
+
17
+ Here is an example of how to install the Node.js 22 LTS version via nvm:
18
+
19
+ ```bash
20
+ # Install the long-term support version of Node.js 22
21
+ nvm install 22 --lts
22
+
23
+ # Make the newly installed Node.js 22 as the default version
24
+ nvm alias default 22
25
+
26
+ # Switch to the newly installed Node.js 22
27
+ nvm use 22
28
+ ```
29
+
30
+ :::tip nvm and fnm
31
+ Both nvm and fnm are Node.js version management tools. Relatively speaking, nvm is more mature and stable, while fnm is implemented using Rust, which provides better performance than nvm.
32
+ :::
33
+
34
+ Additionally, after installing nvm or fnm, when there is a `.nvmrc` file containing `lts/jod` in the repository's root directory, the system will automatically install or switch to the correct Node.js version upon entering the repository.
35
+
36
+ ### pnpm
37
+
38
+ It is recommended to use [pnpm](https://pnpm.io/installation) to manage dependencies:
39
+
40
+ ```bash
41
+ mise use pnpm@11.21.0
42
+ ```
43
+
44
+ :::note
45
+ Modern.js also supports dependency management with `yarn` and `npm`.
46
+
47
+ :::
48
+
49
+ ## Installation
50
+
51
+ ## Initialize
52
+
53
+ UltraModern.js provides the BleedingDev create package to create SuperApp
54
+ workspaces. It does not require global installation and can be run on-demand
55
+ using `pnpm dlx`.
56
+
57
+ The supported pnpm command is the scoped package specifier:
58
+ `pnpm dlx @bleedingdev/modern-js-create <target>`. Do not shorten it to
59
+ `pnpm dlx modern-js-create`; there is no unscoped package by that name.
60
+
61
+ You can initialize the empty directory you are already in:
62
+
63
+ ```bash
64
+ mkdir myapp && cd myapp
65
+ pnpm dlx @bleedingdev/modern-js-create .
66
+ ```
67
+
68
+ You can also create a project directly in a new directory:
69
+
70
+ ```bash
71
+ pnpm dlx @bleedingdev/modern-js-create my-super-app
72
+ ```
73
+
74
+ To initialize with workspace protocol dependencies (for local monorepo testing of unreleased Modern.js packages):
75
+
76
+ ```bash
77
+ pnpm dlx @bleedingdev/modern-js-create my-super-app --workspace
78
+ ```
79
+
80
+ The BleedingDev create package will directly create the application without providing an interactive Q & A interface:
81
+
82
+ ```bash
83
+ 🚀 Welcome to UltraModern.js
84
+
85
+ 📦 Creating project "my-super-app"...
86
+
87
+ ✨ Project created successfully! 🎉
88
+
89
+ 📋 Next, you can run the following commands:
90
+
91
+ 📁 Enter the project directory:
92
+
93
+ cd my-super-app
94
+
95
+ 🔧 Initialize Git repository:
96
+
97
+ git init
98
+
99
+ 📥 Install project dependencies:
100
+
101
+ pnpm install
102
+
103
+ ⚡ Start the development server:
104
+
105
+ pnpm start
106
+ ```
107
+
108
+ Now, the project structure is as follows:
109
+
110
+ ```
111
+ .
112
+ ├── apps
113
+ │ └── shell-super-app
114
+ ├── package.json
115
+ ├── packages
116
+ │ ├── shared-contracts
117
+ │ ├── shared-design-tokens
118
+ │ └── shared-effect-client
119
+ ├── scripts
120
+ ├── topology
121
+ └── verticals
122
+ ```
123
+
124
+ The default workspace starts shell-only and installs the published BleedingDev
125
+ package aliases:
126
+
127
+ ```bash
128
+ pnpm dlx @bleedingdev/modern-js-create my-super-app
129
+ ```
130
+
131
+ From a generated SuperApp workspace, add a business MicroVertical in place:
132
+
133
+ ```bash
134
+ pnpm dlx @bleedingdev/modern-js-create transportation --vertical
135
+ ```
136
+
137
+ The `--vertical` command mutates the current workspace: it adds the vertical
138
+ package and wires topology, ownership metadata, shell Module Federation,
139
+ development overlays, package dependencies, generated contracts, route-owned
140
+ i18n, CSS isolation, and the Effect BFF/client surface.
141
+
142
+ The lower-level `--ultramodern-package-*` flags are reserved for release
143
+ engineering and local package-source testing. BleedingDev packages are published
144
+ through GitHub Actions trusted publishing; do not publish them manually from a
145
+ developer machine.
146
+
147
+ ## Development
148
+
149
+ Run `pnpm run dev` in the project to start the project:
150
+
151
+ ```bash
152
+ $ pnpm run dev
153
+ > modern dev
154
+
155
+ Modern.js Framework
156
+
157
+ ready Client compiled in 0.86 s
158
+
159
+ > Local: http://localhost:8080/
160
+ > Network: http://192.168.0.1:8080/
161
+ ```
162
+
163
+ Open `http://localhost:8080/` in your browser to see the page content.
164
+
165
+ ## Configuration
166
+
167
+ In an UltraModern.js project created using `@bleedingdev/modern-js-create`, a `modern.config.ts` file is generated by default.
168
+
169
+ You can modify the configuration through this file to override the default behavior of Modern.js. For example, to enable SSR, add the following configuration:
170
+
171
+ ```ts title="modern.config.ts"
172
+ import { appTools, defineConfig } from '@modern-js/app-tools';
173
+
174
+ export default defineConfig({
175
+ server: {
176
+ ssr: true,
177
+ },
178
+ plugins: [appTools()],
179
+ });
180
+ ```
181
+
182
+ After running `pnpm run dev` again, you can find that the project has completed page rendering on the server in the browser's Network menu.
183
+
184
+ ## Core npm Package
185
+
186
+ In a newly created project, the `@modern-js/app-tools` npm package is installed by default. It is the core package of the Modern.js framework and provides the following capabilities:
187
+
188
+ - It offers commonly used CLI commands such as `modern dev`, `modern build`, and more.
189
+ - It integrates Rsbuild, providing build capabilities.
190
+ - It integrates Modern.js Server, providing capabilities for development and production servers.
191
+
192
+ `@modern-js/app-tools` is implemented based on the plugin system of Modern.js. Essentially, it is a plugin. Therefore, you need to register `appTools` in the `plugins` field of the configuration file:
193
+
194
+ ```ts title="modern.config.ts"
195
+ import { appTools, defineConfig } from '@modern-js/app-tools';
196
+
197
+ export default defineConfig({
198
+ plugins: [appTools()],
199
+ });
200
+ ```
201
+
202
+ ## Build the project
203
+
204
+ To build the production artifacts of the project, run `pnpm run build` in the project:
205
+
206
+ ```bash
207
+ $ pnpm run build
208
+
209
+ > modern build
210
+
211
+ Modern.js Framework
212
+
213
+ info Starting production build...
214
+ info Type checker is enabled. It may take some time.
215
+ ready Client compiled in 6.19 s
216
+ info Production file sizes:
217
+
218
+ File Size Gzipped
219
+ dist/routes-manifest.json 0.74 kB 0.28 kB
220
+ dist/static/css/async/page.d7915515.css 1.4 kB 0.69 kB
221
+ dist/static/js/main.5ae469e7.js 3.0 kB 1.3 kB
222
+ dist/html/index/index.html 6.0 kB 2.6 kB
223
+ dist/static/js/async/page.ddc8a4c1.js 19.2 kB 6.7 kB
224
+ dist/static/js/34.171fffdb.js 21.3 kB 7.1 kB
225
+ dist/static/js/lib-router.8995a55e.js 55.3 kB 18.1 kB
226
+ dist/static/js/lib-lodash.53ec3384.js 71.4 kB 24.8 kB
227
+ dist/static/js/lib-react.b5856db9.js 140.0 kB 45.2 kB
228
+ dist/static/js/lib-polyfill.86c452b3.js 213.3 kB 69.9 kB
229
+
230
+ Total size: 531.8 kB
231
+ Gzipped size: 176.7 kB
232
+ ```
233
+
234
+ By default, the build artifacts are generated in `dist/`, with the following directory structure:
235
+
236
+ ```
237
+ dist
238
+ ├── html
239
+ │ └── index
240
+ ├── modern.config.json
241
+ ├── route.json
242
+ ├── routes-manifest.json
243
+ └── static
244
+ ├── css
245
+ └── js
246
+ ```
247
+
248
+ > If you need to customize the directory of the build artifacts, please refer to [Output files](/guides/basic-features/output-files.md).
249
+
250
+ ## Verify
251
+
252
+ Run `pnpm run serve` in the project to verify whether the build artifacts run normally locally:
253
+
254
+ ```bash
255
+ $ pnpm run serve
256
+
257
+ Modern.js Framework
258
+
259
+ info Starting production server...
260
+
261
+ > Local: http://localhost:8080/
262
+ > Network: http://192.168.0.1:8080/
263
+ ```
264
+
265
+ Open `http://localhost:8080/` in the browser, and the content should be consistent with that of `pnpm run dev`.
266
+
267
+ ## Deployment
268
+
269
+ After local develop, you can refer to the [Deployment](/guides/basic-features/deploy.md) section to deploy the project to the server.
@@ -1,7 +1,3 @@
1
- ---
2
- sidebar_position: 4
3
- ---
4
-
5
1
  # Tech Stack
6
2
 
7
3
  The Modern.js framework comes with built-in popular libraries and development tools from the community.
@@ -27,7 +23,7 @@ When creating an UltraModern project, TanStack Router is included by default:
27
23
  pnpm dlx @bleedingdev/modern-js-create myapp
28
24
  ```
29
25
 
30
- Modern.js supports conventional routing, self-controlled routing, or other routing schemes. Please refer to ["Routing"](/guides/basic-features/routes/routes) to make your choice.
26
+ Modern.js supports conventional routing, self-controlled routing, or other routing schemes. Please refer to ["Routing"](/guides/basic-features/routes/routes.md) to make your choice.
31
27
 
32
28
  ## Package Manager
33
29
 
@@ -53,9 +49,9 @@ During production builds, Modern.js uses [SWC](https://swc.rs/) to minify JS cod
53
49
 
54
50
  Modern.js uses [PostCSS](https://postcss.org/) to transform CSS code and enables [autoprefixer](https://github.com/postcss/autoprefixer) by default to add CSS prefixes.
55
51
 
56
- Modern.js supports enabling ["Lightning CSS"](/configure/app/tools/lightningcss-loader), which uses Lightning CSS to downgrade CSS syntax.
52
+ Modern.js supports enabling ["Lightning CSS"](/configure/app/tools/lightningcss-loader.md), which uses Lightning CSS to downgrade CSS syntax.
57
53
 
58
- Modern.js supports enabling ["Tailwind CSS"](/guides/basic-features/css/tailwindcss) and is compatible with both Tailwind CSS v3 and v4.
54
+ Modern.js supports enabling ["Tailwind CSS"](/guides/basic-features/css/tailwindcss.md) and is compatible with both Tailwind CSS v3 and v4.
59
55
 
60
56
  ## CSS Preprocessors
61
57
 
@@ -68,11 +64,11 @@ Modern.js supports three CSS preprocessors: [Sass](https://sass-lang.com/), [Les
68
64
 
69
65
  Modern.js provides out-of-the-box support for [CSS Modules](https://github.com/css-modules/css-modules), which is implemented internally based on [css-loader](https://www.npmjs.com/package/css-loader).
70
66
 
71
- Please refer to ["Use CSS Modules"](/guides/basic-features/css/css-modules) for usage instructions.
67
+ Please refer to ["Use CSS Modules"](/guides/basic-features/css/css-modules.md) for usage instructions.
72
68
 
73
69
  ## CSS-in-JS
74
70
 
75
- Modern.js supports the use of [styled-components](https://styled-components.com/). Please refer to ["Using CSS-in-JS"](/en/guides/basic-features/css/css-in-js) for usage instructions.
71
+ Modern.js supports the use of [styled-components](https://styled-components.com/). Please refer to ["Using CSS-in-JS"](/guides/basic-features/css/css-in-js.md) for usage instructions.
76
72
 
77
73
  If you need to use other CSS-in-JS solutions, you can integrate them into your project on your own.
78
74
 
@@ -82,16 +78,14 @@ Modern.js can be used with any React UI component library from the community, su
82
78
 
83
79
  ## Component Development
84
80
 
85
- Modern.js supports the use of [Storybook](https://storybook.js.org/) for developing UI components. This feature is optional. Please refer to ["Using Storybook"](/guides/basic-features/debug/using-storybook) to enable it.
81
+ Modern.js supports the use of [Storybook](https://storybook.js.org/) for developing UI components. This feature is optional. Please refer to ["Using Storybook"](/guides/basic-features/debug/using-storybook.md) to enable it.
86
82
 
87
83
  ## Testing Framework
88
84
 
89
- Modern.js recommends [Rstest](https://rstest.rs/) for unit tests and component tests. Rstest is built on Rspack for fast startup and execution, and it can reuse your Modern.js app configuration through [`@modern-js/adapter-rstest`](/guides/basic-features/testing/rstest).
85
+ Modern.js recommends [Rstest](https://rstest.rs/) for unit tests and component tests. Rstest is built on Rspack for fast startup and execution, and it can reuse your Modern.js app configuration through [`@modern-js/adapter-rstest`](/guides/basic-features/testing/rstest.md).
90
86
 
91
- For end-to-end (E2E) tests, you can use [Playwright](/guides/basic-features/testing/playwright).
87
+ For end-to-end (E2E) tests, you can use [Playwright](/guides/basic-features/testing/playwright.md).
92
88
 
93
89
  ## Node.js Framework
94
90
 
95
- import TechStackNodeFramework from '@site-docs-en/components/tech-stack-node-framework';
96
-
97
- <TechStackNodeFramework />
91
+ Modern.js Server uses [Hono.js](https://hono.dev/) as the server runtime framework. For BFF, `bff.runtimeFramework` defaults to `effect`, while `hono` remains an explicit compatibility runtime. Effect and Hono BFF runtimes are strict modes (no implicit fallback). You can extend the Server based on the Hono.js ecosystem; refer to [Custom Web Server](/guides/advanced-features/web-server.md).
@@ -1,8 +1,3 @@
1
- ---
2
- title: UltraModern.js 3.0
3
- sidebar_position: 2
4
- ---
5
-
6
1
  # UltraModern.js 3.0 vs Modern.js 3.0
7
2
 
8
3
  This page compares **UltraModern.js 3.0** with the Modern.js 3.x line this fork tracks. The baseline is the current merged Modern.js `release-v3.x` baseline, not a frozen patch-version snapshot.
@@ -32,19 +27,19 @@ or migrated as UltraModern HTTP API, it must use the strict Effect HttpApi path.
32
27
 
33
28
  ## Intentional Differences (v3 line)
34
29
 
35
- | Area | Modern.js 3.0 baseline | UltraModern.js 3.0 |
36
- | --- | --- | --- |
37
- | Build diagnostics | RsDoctor is generally opt-in | Adds a first-class `performance.rsdoctor` config surface (opt-in; the earlier default-on behavior and diagnostics contract artifact were reverted) |
38
- | Output and static serving | Precompression behavior is app-defined | Enables `output.precompress` by default and serves `.br` / `.gz` variants via `Accept-Encoding` negotiation |
39
- | BFF runtime and contracts | Standard BFF runtime/client generation | Adds `requestId`-aware producer isolation, fail-fast initialization checks, and operation/trace correlation headers |
40
- | BFF runtime choices | Standard request-handler oriented BFF paths | Uses Effect `HttpApi` as the only generated HTTP API path (`api/index.ts`, `shared/api.ts`, `src/api/*`) and rejects raw handlers, manual parsing, manual `Response` construction, and Hono server imports in generated workspaces |
41
- | Telemetry standardization | Observability wiring is often app-specific | Adds framework-level telemetry pipeline with OTLP/VictoriaMetrics exporters, redaction, batching, and backpressure controls |
42
- | App-level MF SSR handshake | No dedicated super-app app-level stability contract focus | Adds `server.ssr.moduleFederationAppSSR` plus integration-tested env/config handshake |
43
- | MF vertical loading reliability | Retry/fallback patterns are often implemented per app | Adds deterministic timeout/network/contract-error reliability matrix and distributed OTEL continuity tests |
44
- | Module onboarding governance | No module-certification evidence profile in baseline | Adds module SDK contracts, boundary anti-pattern guards, and release/module certification gate workflows |
45
- | Router runtime | Default runtime path centers on React Router | Adds first-class TanStack Router runtime/CLI path (React Router remains supported) |
46
- | Scaffolding templates | Default create templates center on React Router starter path | Generates a SuperApp workspace by default with TanStack, Effect, Module Federation, i18n, Tailwind, Cloudflare, and ownership contracts |
47
- | Workspace preset enforcement | No generated UltraModern preset gate workflow | Generated workspaces include `.github/workflows/ultramodern-workspace-gates.yml`, `pnpm check`, primitive local gates, and generated contract validation |
30
+ | Area | Modern.js 3.0 baseline | UltraModern.js 3.0 |
31
+ | ------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
32
+ | Build diagnostics | RsDoctor is generally opt-in | Adds a first-class `performance.rsdoctor` config surface (opt-in; the earlier default-on behavior and diagnostics contract artifact were reverted) |
33
+ | Output and static serving | Precompression behavior is app-defined | Enables `output.precompress` by default and serves `.br` / `.gz` variants via `Accept-Encoding` negotiation |
34
+ | BFF runtime and contracts | Standard BFF runtime/client generation | Adds `requestId`-aware producer isolation, fail-fast initialization checks, and operation/trace correlation headers |
35
+ | BFF runtime choices | Standard request-handler oriented BFF paths | Uses Effect `HttpApi` as the only generated HTTP API path (`api/index.ts`, `shared/api.ts`, `src/api/*`) and rejects raw handlers, manual parsing, manual `Response` construction, and Hono server imports in generated workspaces |
36
+ | Telemetry standardization | Observability wiring is often app-specific | Adds framework-level telemetry pipeline with OTLP/VictoriaMetrics exporters, redaction, batching, and backpressure controls |
37
+ | App-level MF SSR handshake | No dedicated super-app app-level stability contract focus | Adds `server.ssr.moduleFederationAppSSR` plus integration-tested env/config handshake |
38
+ | MF vertical loading reliability | Retry/fallback patterns are often implemented per app | Adds deterministic timeout/network/contract-error reliability matrix and distributed OTEL continuity tests |
39
+ | Module onboarding governance | No module-certification evidence profile in baseline | Adds module SDK contracts, boundary anti-pattern guards, and release/module certification gate workflows |
40
+ | Router runtime | Default runtime path centers on React Router | Adds first-class TanStack Router runtime/CLI path (React Router remains supported) |
41
+ | Scaffolding templates | Default create templates center on React Router starter path | Generates a SuperApp workspace by default with TanStack, Effect, Module Federation, i18n, Tailwind, Cloudflare, and ownership contracts |
42
+ | Workspace preset enforcement | No generated UltraModern preset gate workflow | Generated workspaces include `.github/workflows/ultramodern-workspace-gates.yml`, `pnpm check`, primitive local gates, and generated contract validation |
48
43
 
49
44
  ## What We Intentionally Do Not Change
50
45
 
@@ -143,13 +138,25 @@ migration work: move code to `shared/api.ts`, `api/index.ts`, and
143
138
  and `src/effect`.
144
139
 
145
140
  Generated strict Effect workspaces pin the compatible Effect cohort with pnpm
146
- overrides: `effect@4.0.0-beta.102`, `@effect/opentelemetry@4.0.0-beta.102`,
147
- and `@effect/vitest@4.0.0-beta.102`. Do not add app-local direct Effect
148
- versions that disagree with those overrides. They also carry generated pnpm
149
- policy exclusions for `effect@4.0.0-beta.102` and
150
- `@effect/opentelemetry@4.0.0-beta.102` so the framework-selected Effect beta
151
- cohort is not blocked by the 24-hour age gate or trusted-publisher to
152
- provenance metadata transition.
141
+ overrides: `effect@4.0.0-beta.107`, `@effect/opentelemetry@4.0.0-beta.107`,
142
+ and `@effect/vitest@4.0.0-beta.107`. Do not add app-local direct Effect
143
+ versions that disagree with those overrides. The strict 24-hour release-age
144
+ gate applies to installed packages; this cohort carries no Effect age
145
+ exemption, and override-only `@effect/vitest` is not an installed approval
146
+ target. Independently, exact `trustPolicyExclude` entries for `effect`
147
+ and `@effect/opentelemetry` cover their trusted-publisher to provenance
148
+ metadata transition; they are not release-age approvals.
149
+
150
+ ### Current generated dependency baseline
151
+
152
+ | Surface | Pin |
153
+ | ------------------------------ | --------------------------------------------------------------------------------------------------- |
154
+ | Effect runtime and test cohort | `effect`, `@effect/opentelemetry`, and `@effect/vitest`: `4.0.0-beta.107` |
155
+ | Effect compiler | `@effect/tsgo@0.36.2` |
156
+ | TanStack Router | `@tanstack/react-router@1.170.25`, `@tanstack/router-core@1.171.21`, `@tanstack/history@1.162.1` |
157
+ | Module Federation | `bridge-react`, `manifest`, `modern-js-v3`, and `rspack`: `2.8.2`; `@module-federation/node@2.7.49` |
158
+ | React Router | `react-router@7.18.2` |
159
+ | Node and package tooling | Node `26.7.0`, `@types/node@^26.2.0`, pnpm `11.21.0` |
153
160
 
154
161
  Gradual migration means old, unmigrated Modern.js apps can keep their existing
155
162
  runtime until they are converted. Once a surface is generated or migrated as
@@ -425,9 +432,9 @@ The generated `presetUltramodern(...)` starter enables strict platform contracts
425
432
 
426
433
  ## Related Docs
427
434
 
428
- - [BFF Runtime Frameworks](/guides/advanced-features/bff/frameworks)
429
- - [BFF Data Platform](/guides/advanced-features/bff/data-platform)
430
- - [BFF Effect Runtime Config](/configure/app/bff/effect)
431
- - [Module Federation SSR](/guides/topic-detail/module-federation/ssr)
432
- - [performance.rsdoctor](/configure/app/performance/rsdoctor)
433
- - [server.ssr](/configure/app/server/ssr)
435
+ - [BFF Runtime Frameworks](/guides/advanced-features/bff/frameworks.md)
436
+ - [BFF Data Platform](/guides/advanced-features/bff/data-platform.md)
437
+ - [BFF Effect Runtime Config](/configure/app/bff/effect.md)
438
+ - [Module Federation SSR](/guides/topic-detail/module-federation/ssr.md)
439
+ - [performance.rsdoctor](/configure/app/performance/rsdoctor.md)
440
+ - [server.ssr](/configure/app/server/ssr.md)
@@ -1,15 +1,5 @@
1
- ---
2
- sidebar_position: 3
3
- ---
4
-
5
- import { PackageManagerTabs } from '@theme';
6
- import ReleaseNote from '@site-docs-en/components/release-note';
7
-
8
1
  # Upgrading
9
2
 
10
- import Upgrade from '@site-docs/components/auto-upgrade';
11
-
12
- <Upgrade />
13
3
 
14
4
  ## Manual Upgrade
15
5
 
@@ -24,7 +14,7 @@ All Modern.js official packages are released with a **uniform version number**,
24
14
  - Visit [npm](https://www.npmjs.com/package/@modern-js/app-tools) to check the latest version of `@modern-js/app-tools`
25
15
  - Check [GitHub Releases](https://github.com/web-infra-dev/modern.js/releases)
26
16
 
27
- <ReleaseNote />
17
+ According to the [Release Note](https://github.com/web-infra-dev/modern.js/releases) on the official website, developers can also manually upgrade the project to the desired version.
28
18
 
29
19
  2. **Update package.json**
30
20
 
@@ -46,7 +36,26 @@ All Modern.js official packages are released with a **uniform version number**,
46
36
 
47
37
  After updating `package.json`, reinstall dependencies:
48
38
 
49
- <PackageManagerTabs command="install" />
39
+
40
+ ```sh [npm]
41
+ npm install
42
+ ```
43
+
44
+ ```sh [yarn]
45
+ yarn install
46
+ ```
47
+
48
+ ```sh [pnpm]
49
+ pnpm install
50
+ ```
51
+
52
+ ```sh [bun]
53
+ bun install
54
+ ```
55
+
56
+ ```sh [deno]
57
+ deno install
58
+ ```
50
59
 
51
60
  :::tip
52
61
  When upgrading, you need to upgrade all packages provided by Modern.js uniformly, rather than upgrading individual dependencies. Ensure that all `@modern-js/**` packages have the same version number.
@@ -72,16 +81,11 @@ When a nested dependency of the project has a problem and Modern.js cannot be up
72
81
 
73
82
  ### pnpm
74
83
 
75
- For projects using pnpm, add the following configuration to the `package.json` in the **root directory** of the project, and then run `pnpm install` again:
84
+ For projects using pnpm, add the following configuration to `pnpm-workspace.yaml` in the **root directory** of the project, and then run `pnpm install` again:
76
85
 
77
- ```json title="package.json"
78
- {
79
- "pnpm": {
80
- "overrides": {
81
- "package-name": "^1.0.0"
82
- }
83
- }
84
- }
86
+ ```yaml title="pnpm-workspace.yaml"
87
+ overrides:
88
+ package-name: ^1.0.0
85
89
  ```
86
90
 
87
91
  ### Yarn
@@ -109,6 +113,6 @@ For projects using Npm, add the following configuration to the `package.json` in
109
113
  ```
110
114
 
111
115
  :::info
112
- For Monorepo repositories, you can only lock dependency versions in the `package.json` in the root directory of the project, and it will affect all packages in the Monorepo.
116
+ For Monorepo repositories, lock dependency versions in the package-manager configuration at the project root. The override affects every package in the Monorepo.
113
117
 
114
118
  :::
@@ -2,7 +2,7 @@
2
2
 
3
3
  Modern.js provides runtime APIs to quickly export application-level Module Federation modules from your application.
4
4
 
5
- We use the application created in [Using Module Federation](/guides/topic-detail/module-federation/usage) as an example to further explain how to import application-level modules.
5
+ We use the application created in [Using Module Federation](/guides/topic-detail/module-federation/usage.md) as an example to further explain how to import application-level modules.
6
6
 
7
7
  ## Exporting Modules from Producer
8
8
 
@@ -62,7 +62,7 @@ export default createModuleFederationConfig({
62
62
  ```
63
63
 
64
64
  :::info
65
- [`createBridgeComponent`](https://module-federation.io/guide/bridge/overview#core-apis) is used to export application-level modules. Modern.js related APIs can be found at [createRoot](/apis/app/runtime/core/create-root) and [render](/apis/app/runtime/core/render).
65
+ [`createBridgeComponent`](https://module-federation.io/guide/bridge/overview#core-apis) is used to export application-level modules. Modern.js related APIs can be found at [createRoot](/apis/app/runtime/core/create-root.md) and [render](/apis/app/runtime/core/render.md).
66
66
  :::
67
67
 
68
68
  ## Using Modules in Consumer
@@ -72,7 +72,7 @@ We then modify the consumer configuration by removing the previously created `sr
72
72
  We want all routes that access `/remote` to enter the aforementioned application-level module, so we add `src/routes/remote/$.tsx` instead.
73
73
 
74
74
  :::note
75
- If you are not familiar with the capabilities of `$.tsx`, please read [Wildcard Routes](/guides/basic-features/routes/routes#wildcard-routes).
75
+ If you are not familiar with the capabilities of `$.tsx`, please read [Wildcard Routes](/guides/basic-features/routes/routes.md#wildcard-routes).
76
76
  :::
77
77
 
78
78
  ```tsx title="src/routes/remote/$.tsx"
@@ -5,7 +5,7 @@ In general, when deploying a Module Federation application, there are two key po
5
5
  1. Ensure that the remote module addresses in the consumer's configuration file are correct, and that the consumer can correctly access the producer's `manifest` file.
6
6
  2. Ensure that all resources in the producer's `manifest` file can be accessed correctly.
7
7
 
8
- We recommend using Modern.js's [Node Server](/guides/basic-features/deploy.html#using-modernjs-built-in-nodejs-server) to deploy Module Federation applications for an out-of-the-box experience.
8
+ We recommend using Modern.js's [Node Server](/guides/basic-features/deploy.md#using-modernjs-built-in-nodejs-server) to deploy Module Federation applications for an out-of-the-box experience.
9
9
 
10
10
  ## Consumer
11
11
 
@@ -36,7 +36,7 @@ In the above code, the address of the remote module is `/static/mf-manifest.json
36
36
 
37
37
  ## Producer
38
38
 
39
- For the producer of Module Federation, developers need to correctly configure the [`output.assetPrefix`](/configure/app/output/asset-prefix) configuration, which affects:
39
+ For the producer of Module Federation, developers need to correctly configure the [`output.assetPrefix`](/configure/app/output/asset-prefix.md) configuration, which affects:
40
40
 
41
41
  1. The `publicPath` defined in `mf-manifest.json`, which determines the access path of other resources of the remote module.
42
42
  2. The access path of the `mf-manifest.json` file when hosted directly by the Modern.js server.
@@ -6,8 +6,8 @@ Modern.js provides the **@modern-js/plugin-i18n** plugin to support internationa
6
6
 
7
7
  Before you begin, make sure you have:
8
8
 
9
- - Understood [Module Federation Basic Usage](/guides/topic-detail/module-federation/usage)
10
- - Understood [Basic Usage of the Internationalization Plugin](/guides/advanced-features/international/quick-start)
9
+ - Understood [Module Federation Basic Usage](/guides/topic-detail/module-federation/usage.md)
10
+ - Understood [Basic Usage of the Internationalization Plugin](/guides/advanced-features/international/quick-start.md)
11
11
  - Created producer and consumer applications
12
12
 
13
13
  ## Solution Overview
@@ -25,7 +25,7 @@ For component scenarios, we recommend using a shared I18n instance, because comp
25
25
 
26
26
  :::info
27
27
 
28
- For detailed usage of the i18n plugin, please refer to the [Internationalization Documentation](/guides/advanced-features/international/quick-start).
28
+ For detailed usage of the i18n plugin, please refer to the [Internationalization Documentation](/guides/advanced-features/international/quick-start.md).
29
29
 
30
30
  :::
31
31
 
@@ -63,7 +63,7 @@ export default defineConfig({
63
63
 
64
64
  :::info
65
65
 
66
- For detailed configuration options of the i18n plugin, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration).
66
+ For detailed configuration options of the i18n plugin, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration.md).
67
67
 
68
68
  :::
69
69
 
@@ -313,7 +313,7 @@ export default function Layout() {
313
313
 
314
314
  :::info
315
315
 
316
- For detailed API documentation of the `useModernI18n` Hook, please refer to the [API Reference Documentation](/guides/advanced-features/international/api).
316
+ For detailed API documentation of the `useModernI18n` Hook, please refer to the [API Reference Documentation](/guides/advanced-features/international/api.md).
317
317
 
318
318
  :::
319
319
 
@@ -330,7 +330,7 @@ When using an independent I18n instance:
330
330
 
331
331
  ## Scenario 3: Producer - Application
332
332
 
333
- When the producer exports application-level modules, you need to use the Bridge API to export the application. For detailed information about application-level modules, please refer to [Application-Level Modules](/guides/topic-detail/module-federation/application).
333
+ When the producer exports application-level modules, you need to use the Bridge API to export the application. For detailed information about application-level modules, please refer to [Application-Level Modules](/guides/topic-detail/module-federation/application.md).
334
334
 
335
335
  :::warning
336
336
 
@@ -340,7 +340,7 @@ Producers do not support enabling path redirection (`localePathRedirect`). Route
340
340
 
341
341
  :::info
342
342
 
343
- For detailed information about routing integration, please refer to the [Routing Integration Documentation](/guides/advanced-features/international/routing).
343
+ For detailed information about routing integration, please refer to the [Routing Integration Documentation](/guides/advanced-features/international/routing.md).
344
344
 
345
345
  :::
346
346
 
@@ -455,7 +455,7 @@ This is useful when you need different i18n instances for different entry points
455
455
 
456
456
  :::info
457
457
 
458
- For detailed information about the `i18nInstance` configuration, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration#i18ninstance-配置).
458
+ For detailed information about the `i18nInstance` configuration, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration.md#i18ninstance-配置).
459
459
 
460
460
  :::
461
461
 
@@ -642,7 +642,7 @@ export default defineRuntimeConfig({
642
642
 
643
643
  :::info
644
644
 
645
- For detailed information about the `i18nInstance` configuration, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration#i18ninstance-配置).
645
+ For detailed information about the `i18nInstance` configuration, please refer to the [Configuration Documentation](/guides/advanced-features/international/configuration.md#i18ninstance-配置).
646
646
 
647
647
  :::
648
648
 
@@ -663,8 +663,8 @@ Key points for integrating i18n with Module Federation:
663
663
 
664
664
  ## Related Documentation
665
665
 
666
- - [Module Federation Basic Usage](/guides/topic-detail/module-federation/usage)
667
- - [Application-Level Modules](/guides/topic-detail/module-federation/application)
668
- - [Internationalization Quick Start](/guides/advanced-features/international/quick-start)
669
- - [Internationalization Configuration](/guides/advanced-features/international/configuration)
670
- - [Internationalization Routing Integration](/guides/advanced-features/international/routing)
666
+ - [Module Federation Basic Usage](/guides/topic-detail/module-federation/usage.md)
667
+ - [Application-Level Modules](/guides/topic-detail/module-federation/application.md)
668
+ - [Internationalization Quick Start](/guides/advanced-features/international/quick-start.md)
669
+ - [Internationalization Configuration](/guides/advanced-features/international/configuration.md)
670
+ - [Internationalization Routing Integration](/guides/advanced-features/international/routing.md)
@@ -24,7 +24,7 @@ The plugin injects the Module Federation plugin into Modern.js applications and
24
24
 
25
25
  Moreover, the plugin also supports the use of Module Federation in Modern.js SSR applications, providing a better performance experience.
26
26
 
27
- For more details, refer to [Using Module Federation](/guides/topic-detail/module-federation/usage) and [Module Federation Server-Side Rendering](/guides/topic-detail/module-federation/ssr).
27
+ For more details, refer to [Using Module Federation](/guides/topic-detail/module-federation/usage.md) and [Module Federation Server-Side Rendering](/guides/topic-detail/module-federation/ssr.md).
28
28
 
29
29
  ## Application-Level Modules
30
30
 
@@ -32,5 +32,4 @@ For more details, refer to [Using Module Federation](/guides/topic-detail/module
32
32
 
33
33
  Module Federation 2.0 offers the [Bridge](https://module-federation.io/practice/bridge/overview.html) capability to load application-level modules.
34
34
 
35
- Modern.js, based on Bridge and its internal implementation, provides APIs to easily export application-level modules. For more details, refer to [Application-Level Modules](/guides/topic-detail/module-federation/application).
36
-
35
+ Modern.js, based on Bridge and its internal implementation, provides APIs to easily export application-level modules. For more details, refer to [Application-Level Modules](/guides/topic-detail/module-federation/application.md).