@bleedingdev/modern-js-app-tools 3.9.0-ultramodern.1 → 3.9.0-ultramodern.11

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 (352) hide show
  1. package/dist/cjs/builder/generator/index.js +0 -1
  2. package/dist/cjs/builder/shared/builderPlugins/index.js +4 -11
  3. package/dist/cjs/config/index.js +4 -11
  4. package/dist/cjs/index.js +46 -72
  5. package/dist/cjs/plugins/deploy/platforms/node.js +0 -13
  6. package/dist/cjs/plugins/deploy/utils/generator.js +1 -1
  7. package/dist/cjs/plugins/serverBuild.js +2 -1
  8. package/dist/cjs/{plugins/backendFederationBuild.js → server-plugin.js} +4 -7
  9. package/dist/esm/builder/generator/index.mjs +1 -2
  10. package/dist/esm/builder/shared/builderPlugins/index.mjs +0 -1
  11. package/dist/esm/config/index.mjs +0 -1
  12. package/dist/esm/index.mjs +3 -6
  13. package/dist/esm/plugins/deploy/platforms/node.mjs +0 -13
  14. package/dist/esm/plugins/deploy/utils/generator.mjs +1 -1
  15. package/dist/esm/plugins/serverBuild.mjs +2 -1
  16. package/dist/esm/server-plugin.mjs +1 -0
  17. package/dist/esm-node/builder/generator/index.mjs +1 -2
  18. package/dist/esm-node/builder/shared/builderPlugins/index.mjs +0 -1
  19. package/dist/esm-node/config/index.mjs +0 -1
  20. package/dist/esm-node/index.mjs +3 -6
  21. package/dist/esm-node/plugins/deploy/platforms/node.mjs +0 -13
  22. package/dist/esm-node/plugins/deploy/utils/generator.mjs +1 -1
  23. package/dist/esm-node/plugins/serverBuild.mjs +2 -1
  24. package/dist/esm-node/server-plugin.mjs +2 -0
  25. package/dist/types/builder/shared/builderPlugins/index.d.ts +0 -1
  26. package/dist/types/config/index.d.ts +0 -1
  27. package/dist/types/index.d.ts +2 -2
  28. package/dist/types/plugins/deploy/utils/generator.d.ts +1 -1
  29. package/dist/types/server-plugin.d.ts +10 -0
  30. package/dist/types/types/config/output.d.ts +0 -9
  31. package/dist/types/types/index.d.ts +1 -1
  32. package/dist/types/types/plugin.d.ts +56 -2
  33. package/dist/types/utils/initAppContext.d.ts +3 -2
  34. package/docs/apis/app/commands.md +2 -0
  35. package/docs/apis/app/hooks/api/lambda.md +2 -0
  36. package/docs/apis/app/hooks/config/favicon.md +2 -0
  37. package/docs/apis/app/hooks/config/html.md +2 -0
  38. package/docs/apis/app/hooks/config/icon.md +2 -0
  39. package/docs/apis/app/hooks/config/mock.md +2 -0
  40. package/docs/apis/app/hooks/config/public.md +2 -0
  41. package/docs/apis/app/hooks/config/upload.md +2 -0
  42. package/docs/apis/app/hooks/modern-config.md +2 -0
  43. package/docs/apis/app/hooks/server/server.md +2 -0
  44. package/docs/apis/app/hooks/shared.md +2 -0
  45. package/docs/apis/app/hooks/src/app.md +2 -0
  46. package/docs/apis/app/hooks/src/entry.md +2 -0
  47. package/docs/apis/app/hooks/src/entry.server.md +2 -0
  48. package/docs/apis/app/hooks/src/modern.runtime.md +2 -0
  49. package/docs/apis/app/hooks/src/routes.md +2 -0
  50. package/docs/apis/app/hooks/src/server.md +2 -0
  51. package/docs/apis/app/runtime/bff/use-backend-context.md +2 -0
  52. package/docs/apis/app/runtime/core/create-root.md +2 -0
  53. package/docs/apis/app/runtime/core/render.md +2 -0
  54. package/docs/apis/app/runtime/core/runtime-context.md +2 -0
  55. package/docs/apis/app/runtime/router/router.md +2 -0
  56. package/docs/apis/app/runtime/ssr/no-ssr.md +2 -0
  57. package/docs/apis/app/runtime/ssr/renderStreaming.md +2 -0
  58. package/docs/apis/app/runtime/ssr/renderString.md +2 -0
  59. package/docs/apis/app/runtime/ssr/requestHandler.md +2 -0
  60. package/docs/apis/app/runtime/utility/css-in-js.md +2 -0
  61. package/docs/apis/app/runtime/utility/head.md +2 -0
  62. package/docs/apis/app/runtime/utility/loadable.md +2 -0
  63. package/docs/community/blog/2022-0708-updates.md +2 -0
  64. package/docs/community/blog/2022-0910-updates.md +2 -0
  65. package/docs/community/blog/overview.md +2 -0
  66. package/docs/community/blog/v2-release-note.md +2 -0
  67. package/docs/community/blog/v3-release-note.md +2 -0
  68. package/docs/community/contributing-guide.md +2 -0
  69. package/docs/community/releases.md +2 -0
  70. package/docs/community/showcase.md +2 -0
  71. package/docs/community/team.md +2 -0
  72. package/docs/configure/app/bff/cross-project.md +2 -0
  73. package/docs/configure/app/bff/effect.md +31 -24
  74. package/docs/configure/app/bff/prefix.md +2 -0
  75. package/docs/configure/app/bff/runtime-framework.md +2 -0
  76. package/docs/configure/app/builder-plugins.md +2 -0
  77. package/docs/configure/app/dev/asset-prefix.md +2 -0
  78. package/docs/configure/app/dev/before-start-url.md +2 -0
  79. package/docs/configure/app/dev/client.md +2 -0
  80. package/docs/configure/app/dev/hmr.md +2 -0
  81. package/docs/configure/app/dev/host.md +2 -0
  82. package/docs/configure/app/dev/https.md +2 -0
  83. package/docs/configure/app/dev/lazy-compilation.md +2 -0
  84. package/docs/configure/app/dev/live-reload.md +2 -0
  85. package/docs/configure/app/dev/mock-dir.md +2 -0
  86. package/docs/configure/app/dev/progress-bar.md +2 -0
  87. package/docs/configure/app/dev/server.md +2 -0
  88. package/docs/configure/app/dev/setup-middlewares.md +2 -0
  89. package/docs/configure/app/dev/start-url.md +2 -0
  90. package/docs/configure/app/dev/watch-files.md +2 -0
  91. package/docs/configure/app/dev/write-to-disk.md +2 -0
  92. package/docs/configure/app/experiments/source-build.md +2 -0
  93. package/docs/configure/app/html/app-icon.md +2 -0
  94. package/docs/configure/app/html/crossorigin.md +2 -0
  95. package/docs/configure/app/html/favicon.md +2 -0
  96. package/docs/configure/app/html/inject.md +2 -0
  97. package/docs/configure/app/html/meta.md +2 -0
  98. package/docs/configure/app/html/mount-id.md +2 -0
  99. package/docs/configure/app/html/output-structure.md +2 -0
  100. package/docs/configure/app/html/script-loading.md +2 -0
  101. package/docs/configure/app/html/tags.md +2 -0
  102. package/docs/configure/app/html/template-parameters.md +2 -0
  103. package/docs/configure/app/html/template.md +2 -0
  104. package/docs/configure/app/html/title.md +2 -0
  105. package/docs/configure/app/output/asset-prefix.md +2 -0
  106. package/docs/configure/app/output/assets-retry.md +2 -0
  107. package/docs/configure/app/output/charset.md +2 -0
  108. package/docs/configure/app/output/clean-dist-path.md +2 -0
  109. package/docs/configure/app/output/convert-to-rem.md +2 -0
  110. package/docs/configure/app/output/copy.md +2 -0
  111. package/docs/configure/app/output/css-modules.md +2 -0
  112. package/docs/configure/app/output/data-uri-limit.md +2 -0
  113. package/docs/configure/app/output/disable-css-module-extension.md +2 -0
  114. package/docs/configure/app/output/disable-inline-runtime-chunk.md +2 -0
  115. package/docs/configure/app/output/disable-svgr.md +2 -0
  116. package/docs/configure/app/output/disable-ts-checker.md +2 -0
  117. package/docs/configure/app/output/dist-path.md +2 -0
  118. package/docs/configure/app/output/enable-asset-manifest.md +2 -0
  119. package/docs/configure/app/output/enable-css-module-tsdeclaration.md +2 -0
  120. package/docs/configure/app/output/enable-inline-route-manifests.md +2 -0
  121. package/docs/configure/app/output/externals.md +2 -0
  122. package/docs/configure/app/output/filename-hash.md +2 -0
  123. package/docs/configure/app/output/filename.md +2 -0
  124. package/docs/configure/app/output/inject-styles.md +2 -0
  125. package/docs/configure/app/output/inline-scripts.md +2 -0
  126. package/docs/configure/app/output/inline-styles.md +2 -0
  127. package/docs/configure/app/output/legal-comments.md +2 -0
  128. package/docs/configure/app/output/minify.md +2 -0
  129. package/docs/configure/app/output/override-browserslist.md +2 -0
  130. package/docs/configure/app/output/polyfill.md +2 -0
  131. package/docs/configure/app/output/source-map.md +2 -0
  132. package/docs/configure/app/output/split-route-chunks.md +2 -0
  133. package/docs/configure/app/output/ssg.md +2 -0
  134. package/docs/configure/app/output/ssgByEntries.md +2 -0
  135. package/docs/configure/app/output/svg-default-export.md +2 -0
  136. package/docs/configure/app/output/temp-dir.md +2 -0
  137. package/docs/configure/app/performance/build-cache.md +2 -0
  138. package/docs/configure/app/performance/chunk-split.md +2 -0
  139. package/docs/configure/app/performance/dns-prefetch.md +2 -0
  140. package/docs/configure/app/performance/preconnect.md +2 -0
  141. package/docs/configure/app/performance/prefetch.md +2 -0
  142. package/docs/configure/app/performance/preload.md +2 -0
  143. package/docs/configure/app/performance/print-file-size.md +2 -0
  144. package/docs/configure/app/performance/profile.md +2 -0
  145. package/docs/configure/app/performance/remove-console.md +2 -0
  146. package/docs/configure/app/performance/remove-moment-locale.md +2 -0
  147. package/docs/configure/app/performance/rsdoctor.md +2 -0
  148. package/docs/configure/app/plugins.md +2 -0
  149. package/docs/configure/app/resolve/alias-strategy.md +2 -0
  150. package/docs/configure/app/resolve/alias.md +2 -0
  151. package/docs/configure/app/resolve/condition-names.md +2 -0
  152. package/docs/configure/app/resolve/dedupe.md +2 -0
  153. package/docs/configure/app/resolve/extensions.md +2 -0
  154. package/docs/configure/app/runtime/0-intro.md +2 -0
  155. package/docs/configure/app/runtime/plugins.md +2 -0
  156. package/docs/configure/app/runtime/router.md +2 -0
  157. package/docs/configure/app/security/check-syntax.md +2 -0
  158. package/docs/configure/app/security/nonce.md +2 -0
  159. package/docs/configure/app/security/sri.md +2 -0
  160. package/docs/configure/app/server/base-url.md +2 -0
  161. package/docs/configure/app/server/port.md +2 -0
  162. package/docs/configure/app/server/public-routes.md +2 -0
  163. package/docs/configure/app/server/routes.md +2 -0
  164. package/docs/configure/app/server/rsc.md +2 -0
  165. package/docs/configure/app/server/ssr-by-entries.md +2 -0
  166. package/docs/configure/app/server/ssr.md +2 -0
  167. package/docs/configure/app/server/tsconfig-path.md +2 -0
  168. package/docs/configure/app/source/alias-strategy.md +2 -0
  169. package/docs/configure/app/source/alias.md +2 -0
  170. package/docs/configure/app/source/config-dir.md +2 -0
  171. package/docs/configure/app/source/decorators.md +2 -0
  172. package/docs/configure/app/source/define.md +2 -0
  173. package/docs/configure/app/source/disable-default-entries.md +2 -0
  174. package/docs/configure/app/source/enable-async-entry.md +2 -0
  175. package/docs/configure/app/source/enable-async-pre-entry.md +2 -0
  176. package/docs/configure/app/source/entries-dir.md +2 -0
  177. package/docs/configure/app/source/entries.md +2 -0
  178. package/docs/configure/app/source/exclude.md +2 -0
  179. package/docs/configure/app/source/global-vars.md +2 -0
  180. package/docs/configure/app/source/include.md +2 -0
  181. package/docs/configure/app/source/main-entry-name.md +2 -0
  182. package/docs/configure/app/source/pre-entry.md +2 -0
  183. package/docs/configure/app/source/react-compiler.md +2 -0
  184. package/docs/configure/app/source/transform-import.md +2 -0
  185. package/docs/configure/app/split-chunks.md +2 -0
  186. package/docs/configure/app/tools/autoprefixer.md +2 -0
  187. package/docs/configure/app/tools/bundler-chain.md +2 -0
  188. package/docs/configure/app/tools/css-extract.md +2 -0
  189. package/docs/configure/app/tools/css-loader.md +2 -0
  190. package/docs/configure/app/tools/dev-server.md +2 -0
  191. package/docs/configure/app/tools/html-plugin.md +2 -0
  192. package/docs/configure/app/tools/less.md +2 -0
  193. package/docs/configure/app/tools/lightningcss-loader.md +2 -0
  194. package/docs/configure/app/tools/minify-css.md +2 -0
  195. package/docs/configure/app/tools/postcss.md +2 -0
  196. package/docs/configure/app/tools/rspack.md +2 -0
  197. package/docs/configure/app/tools/sass.md +2 -0
  198. package/docs/configure/app/tools/style-loader.md +2 -0
  199. package/docs/configure/app/tools/swc.md +2 -0
  200. package/docs/configure/app/tools/ts-checker.md +2 -0
  201. package/docs/configure/app/usage.md +2 -0
  202. package/docs/guides/advanced-features/bff/cross-project.md +2 -0
  203. package/docs/guides/advanced-features/bff/data-platform.md +4 -2
  204. package/docs/guides/advanced-features/bff/extend-server.md +2 -0
  205. package/docs/guides/advanced-features/bff/frameworks.md +38 -24
  206. package/docs/guides/advanced-features/bff/function.md +4 -2
  207. package/docs/guides/advanced-features/bff/operators.md +19 -17
  208. package/docs/guides/advanced-features/bff/sdk.md +2 -0
  209. package/docs/guides/advanced-features/bff/upload.md +2 -0
  210. package/docs/guides/advanced-features/bff.md +2 -0
  211. package/docs/guides/advanced-features/build-performance.md +2 -0
  212. package/docs/guides/advanced-features/compatibility.md +2 -0
  213. package/docs/guides/advanced-features/international/advanced.md +2 -0
  214. package/docs/guides/advanced-features/international/api.md +2 -0
  215. package/docs/guides/advanced-features/international/best-practices.md +2 -0
  216. package/docs/guides/advanced-features/international/configuration.md +2 -0
  217. package/docs/guides/advanced-features/international/locale-detection.md +2 -0
  218. package/docs/guides/advanced-features/international/quick-start.md +2 -0
  219. package/docs/guides/advanced-features/international/resource-loading.md +2 -0
  220. package/docs/guides/advanced-features/international/routing.md +2 -0
  221. package/docs/guides/advanced-features/international.md +2 -0
  222. package/docs/guides/advanced-features/low-level.md +2 -0
  223. package/docs/guides/advanced-features/page-performance/code-split.md +2 -0
  224. package/docs/guides/advanced-features/page-performance/inline-assets.md +2 -0
  225. package/docs/guides/advanced-features/page-performance/optimize-bundle.md +2 -0
  226. package/docs/guides/advanced-features/page-performance/react-compiler.md +2 -0
  227. package/docs/guides/advanced-features/server-monitor/logger.md +2 -0
  228. package/docs/guides/advanced-features/server-monitor/metrics.md +2 -0
  229. package/docs/guides/advanced-features/server-monitor/monitors.md +2 -0
  230. package/docs/guides/advanced-features/source-build.md +2 -0
  231. package/docs/guides/advanced-features/web-server.md +2 -0
  232. package/docs/guides/basic-features/alias.md +2 -0
  233. package/docs/guides/basic-features/css/css-in-js.md +2 -0
  234. package/docs/guides/basic-features/css/css-modules.md +2 -0
  235. package/docs/guides/basic-features/css/css.md +2 -0
  236. package/docs/guides/basic-features/css/tailwindcss.md +2 -0
  237. package/docs/guides/basic-features/data/data-cache.md +2 -0
  238. package/docs/guides/basic-features/data/data-fetch.md +2 -0
  239. package/docs/guides/basic-features/data/data-write.md +2 -0
  240. package/docs/guides/basic-features/debug/mock.md +2 -0
  241. package/docs/guides/basic-features/debug/proxy.md +2 -0
  242. package/docs/guides/basic-features/debug/rsdoctor.md +2 -0
  243. package/docs/guides/basic-features/debug/using-storybook.md +2 -0
  244. package/docs/guides/basic-features/deploy.md +2 -0
  245. package/docs/guides/basic-features/env-vars.md +2 -0
  246. package/docs/guides/basic-features/html.md +2 -0
  247. package/docs/guides/basic-features/output-files.md +2 -0
  248. package/docs/guides/basic-features/render/before-render.md +2 -0
  249. package/docs/guides/basic-features/render/overview.md +2 -0
  250. package/docs/guides/basic-features/render/rsc.md +2 -0
  251. package/docs/guides/basic-features/render/ssg.md +2 -0
  252. package/docs/guides/basic-features/render/ssr-cache.md +16 -1
  253. package/docs/guides/basic-features/render/ssr.md +2 -0
  254. package/docs/guides/basic-features/render/streaming-ssr.md +2 -0
  255. package/docs/guides/basic-features/routes/config-routes.md +2 -0
  256. package/docs/guides/basic-features/routes/routes.md +2 -0
  257. package/docs/guides/basic-features/static-assets/json-files.md +2 -0
  258. package/docs/guides/basic-features/static-assets/svg-assets.md +2 -0
  259. package/docs/guides/basic-features/static-assets/wasm-assets.md +2 -0
  260. package/docs/guides/basic-features/static-assets.md +2 -0
  261. package/docs/guides/basic-features/testing/playwright.md +2 -0
  262. package/docs/guides/basic-features/testing/rstest.md +2 -0
  263. package/docs/guides/concept/builder.md +2 -0
  264. package/docs/guides/concept/entries.md +2 -0
  265. package/docs/guides/concept/server.md +2 -0
  266. package/docs/guides/get-started/ai-coding-agents.md +2 -0
  267. package/docs/guides/get-started/glossary.md +2 -0
  268. package/docs/guides/get-started/introduction.md +2 -0
  269. package/docs/guides/get-started/quick-start.md +3 -5
  270. package/docs/guides/get-started/tech-stack.md +2 -0
  271. package/docs/guides/get-started/ultramodern.md +11 -90
  272. package/docs/guides/get-started/upgrade.md +2 -0
  273. package/docs/guides/topic-detail/module-federation/application.md +2 -0
  274. package/docs/guides/topic-detail/module-federation/deploy.md +2 -0
  275. package/docs/guides/topic-detail/module-federation/i18n.md +2 -0
  276. package/docs/guides/topic-detail/module-federation/introduce.md +2 -0
  277. package/docs/guides/topic-detail/module-federation/ssr.md +2 -0
  278. package/docs/guides/topic-detail/module-federation/usage.md +2 -0
  279. package/docs/guides/troubleshooting/builder.md +2 -0
  280. package/docs/guides/troubleshooting/cli.md +2 -0
  281. package/docs/guides/troubleshooting/dependencies.md +2 -0
  282. package/docs/guides/troubleshooting/hmr.md +2 -0
  283. package/docs/guides/upgrade/config.md +2 -0
  284. package/docs/guides/upgrade/entry.md +2 -0
  285. package/docs/guides/upgrade/other.md +2 -0
  286. package/docs/guides/upgrade/overview.md +2 -0
  287. package/docs/guides/upgrade/tailwindcss.md +2 -0
  288. package/docs/guides/upgrade/web-server.md +2 -0
  289. package/docs/index.md +2 -0
  290. package/docs/llms.txt +2 -2
  291. package/docs/plugin/cli-plugins/api.md +2 -0
  292. package/docs/plugin/cli-plugins/life-cycle.md +2 -0
  293. package/docs/plugin/introduction.md +2 -0
  294. package/docs/plugin/official/cli-plugins/plugin-bff.md +2 -0
  295. package/docs/plugin/official/cli-plugins/plugin-ssg.md +2 -0
  296. package/docs/plugin/official/cli-plugins/plugin-styled-components.md +2 -0
  297. package/docs/plugin/official/cli-plugins.md +2 -0
  298. package/docs/plugin/plugin-system.md +2 -0
  299. package/docs/plugin/runtime-plugins/api.md +2 -0
  300. package/docs/plugin/runtime-plugins/life-cycle.md +2 -0
  301. package/docs/plugin/server-plugins/api.md +2 -0
  302. package/docs/plugin/server-plugins/life-cycle.md +2 -0
  303. package/docs/tutorials/examples/csr-auth.md +2 -0
  304. package/docs/tutorials/foundations/introduction.md +2 -0
  305. package/package.json +30 -38
  306. package/dist/cjs/builder/shared/builderPlugins/adapterPrecompress.js +0 -125
  307. package/dist/cjs/config/build-environment.js +0 -268
  308. package/dist/cjs/config/public.js +0 -46
  309. package/dist/cjs/plugins/backend-federation/codegen.js +0 -256
  310. package/dist/cjs/plugins/backend-federation/config.js +0 -204
  311. package/dist/cjs/plugins/backend-federation/emit.js +0 -150
  312. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +0 -62
  313. package/dist/cjs/plugins/deploy/utils/npmAliases.js +0 -226
  314. package/dist/cjs/plugins/ultramodernReleaseEnvelope.js +0 -44
  315. package/dist/cjs/presetUltramodern.js +0 -168
  316. package/dist/cjs/types/config/precompress.js +0 -18
  317. package/dist/esm/builder/shared/builderPlugins/adapterPrecompress.mjs +0 -77
  318. package/dist/esm/config/build-environment.mjs +0 -224
  319. package/dist/esm/config/public.mjs +0 -1
  320. package/dist/esm/plugins/backend-federation/codegen.mjs +0 -205
  321. package/dist/esm/plugins/backend-federation/config.mjs +0 -128
  322. package/dist/esm/plugins/backend-federation/emit.mjs +0 -99
  323. package/dist/esm/plugins/backendFederationBuild.mjs +0 -1
  324. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +0 -1
  325. package/dist/esm/plugins/deploy/utils/npmAliases.mjs +0 -174
  326. package/dist/esm/plugins/ultramodernReleaseEnvelope.mjs +0 -6
  327. package/dist/esm/presetUltramodern.mjs +0 -112
  328. package/dist/esm/types/config/precompress.mjs +0 -0
  329. package/dist/esm-node/builder/shared/builderPlugins/adapterPrecompress.mjs +0 -78
  330. package/dist/esm-node/config/build-environment.mjs +0 -225
  331. package/dist/esm-node/config/public.mjs +0 -2
  332. package/dist/esm-node/plugins/backend-federation/codegen.mjs +0 -206
  333. package/dist/esm-node/plugins/backend-federation/config.mjs +0 -129
  334. package/dist/esm-node/plugins/backend-federation/emit.mjs +0 -100
  335. package/dist/esm-node/plugins/backendFederationBuild.mjs +0 -2
  336. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +0 -2
  337. package/dist/esm-node/plugins/deploy/utils/npmAliases.mjs +0 -175
  338. package/dist/esm-node/plugins/ultramodernReleaseEnvelope.mjs +0 -7
  339. package/dist/esm-node/presetUltramodern.mjs +0 -113
  340. package/dist/esm-node/types/config/precompress.mjs +0 -1
  341. package/dist/types/builder/shared/builderPlugins/adapterPrecompress.d.ts +0 -3
  342. package/dist/types/config/build-environment.d.ts +0 -22
  343. package/dist/types/config/public.d.ts +0 -2
  344. package/dist/types/plugins/backend-federation/codegen.d.ts +0 -86
  345. package/dist/types/plugins/backend-federation/config.d.ts +0 -103
  346. package/dist/types/plugins/backend-federation/emit.d.ts +0 -13
  347. package/dist/types/plugins/backendFederationBuild.d.ts +0 -2
  348. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/index.d.ts +0 -1
  349. package/dist/types/plugins/deploy/utils/npmAliases.d.ts +0 -14
  350. package/dist/types/plugins/ultramodernReleaseEnvelope.d.ts +0 -3
  351. package/dist/types/presetUltramodern.d.ts +0 -87
  352. package/dist/types/types/config/precompress.d.ts +0 -20
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Advanced Usage
2
4
 
3
5
  ## SSR Scenarios
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # API Reference
2
4
 
3
5
  ## useModernI18n
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Best Practices
2
4
 
3
5
  ## Resource File Organization
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Configuration
2
4
 
3
5
  Plugin configuration is split between two files, each with a different responsibility:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Locale Detection
2
4
 
3
5
  Locale detection means automatically inferring which language to use when the user has not manually selected one. The plugin can detect language from URL path, Cookie, request headers, browser settings, and other sources, and these methods can be combined.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Quick Start
2
4
 
3
5
  This guide helps you quickly integrate internationalization into a Modern.js project.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Resource Loading
2
4
 
3
5
  How translation files are loaded depends on where your translation resources are stored:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Routing Integration
2
4
 
3
5
  ## Enable Locale Path Prefixes
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Internationalization
2
4
 
3
5
  `@modern-js/plugin-i18n` 是 Modern.js 的国际化插件,基于 [i18next](https://www.i18next.com/) 和 [react-i18next](https://react.i18next.com/) 构建。
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Low-Level Tools
2
4
 
3
5
  ## Usage
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Code Splitting
2
4
 
3
5
  Code splitting is a common way to optimize frontend resource loading. This article will introduce the three types of code splitting supported by Modern.js:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Inline Static Assets
2
4
 
3
5
  Inline static assets refer to the practice of including the content of a static asset directly in a HTML or JS file, instead of linking to an external file. This can improve the performance of a website by reducing the number of HTTP requests that the browser has to make to load the page.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Bundle Size Optimization
2
4
 
3
5
  Bundle size optimization is an important part of optimizing your production environment because it directly affects the user experience. In this document, we will introduce some common bundle size optimization methods in Modern.js.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # React Compiler
2
4
 
3
5
  The React Compiler is an experimental compiler introduced in React 19 that can automatically optimize your React code.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Logs Events
2
4
 
3
5
  Log events are distributed by Modern.js as events of type `log`.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Metrics Events
2
4
 
3
5
  Metric events are distributed by Monitors as events of type `timing` or `counter`.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Monitors
2
4
 
3
5
  Modern.js is a full-stack framework that supports both client-side and server-side development. When server-side rendering (SSR), the framework automatically injects additional logs and metrics during server runtime to help production issue diagnosis.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Source Code Build Mode
2
4
 
3
5
  The source code build mode is used in the monorepo development scenario, allowing developers to directly reference the source code of other sub-projects within the monorepo for development.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Custom Web Server
2
4
 
3
5
  Modern.js encapsulates most server-side capabilities required by projects, typically eliminating the need for server-side development. However, in certain scenarios such as user authentication, request preprocessing, or adding page skeletons, custom server-side logic may still be necessary.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Path Alias
2
4
 
3
5
  Path aliases allow developers to define aliases for modules, making it easier to reference them in code. This can be useful when you want to use a short, easy-to-remember name for a module instead of a long, complex path.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Using CSS-in-JS
2
4
 
3
5
  CSS-in-JS is a technique that allows you to write CSS styles within JS files.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Use CSS Modules
2
4
 
3
5
  [CSS Modules](https://github.com/css-modules/css-modules) allows us to write CSS code in a modular way, and these styles can be imported and used in JavaScript files. Using CSS Modules can automatically generate unique class names, isolate styles between different modules, and avoid class name conflicts.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Styling
2
4
 
3
5
  Modern.js has built-in a variety of commonly used CSS solutions, including Less / Sass / Stylus preprocessors, PostCSS, CSS Modules, CSS-in-JS, and Tailwind CSS.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Using Tailwind CSS
2
4
 
3
5
  [Tailwind CSS](https://tailwindcss.com/) is a CSS framework and design system based on Utility Class, which can quickly add common styles to components, and support flexible extension of theme styles.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Data Caching
2
4
 
3
5
  The `cache` function allows you to cache the results of data fetching or computation, Compared to full-page [rendering cache](/guides/basic-features/render/ssr-cache.md), it provides more fine-grained control over data granularity and is applicable to various scenarios such as Client-Side Rendering (CSR), Server-Side Rendering (SSR), and API services (BFF).
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Data Fetching
2
4
 
3
5
  Modern.js provides out-of-the-box data fetching capabilities. Developers can use these APIs to fetch data in their projects. It's important to note that these APIs do not help the application make requests but assist developers in managing data better and improving project performance.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Data Writing
2
4
 
3
5
  In the [Data Fetching](/guides/basic-features/data/data-fetch.md) section, we introduced how Modern.js fetches data. This might bring up two questions:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Data Mocking
2
4
 
3
5
  Modern.js allows you to easily generate mock data so that the front-end can develop independently without depending on the back-end API.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Local Proxy
2
4
 
3
5
  Modern.js provides a way to configure the development proxy in [`dev.server.proxy`](/configure/app/dev/server.md).
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Using Rsdoctor
2
4
 
3
5
  Rsdoctor is a Rspack build analysis tool. In Modern.js, we recommend using Rsdoctor to diagnose and analyze the build process and build outputs.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Using Storybook
2
4
 
3
5
  [Storybook](https://storybook.js.org/) is a tool specifically designed for component debugging. It provides:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Deploy Application
2
4
 
3
5
  Currently, Modern.js offers two deployment way:
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Environment Variables
2
4
 
3
5
  Modern.js provides support for environment variables, including built-in environment variables and custom environment variables.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # HTML Template
2
4
 
3
5
  Modern.js provides **JSX syntax** and **HTML(EJS) syntax** to customize the HTML template.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Output Files
2
4
 
3
5
  This chapter will introduces the directory structure of output files and how to control the output directory of different types of files.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Render Preprocessing
2
4
 
3
5
  In certain scenarios, applications need to perform preprocessing operations before rendering. Modern.js recommends using **[Runtime Plugins](/plugin/introduction.md#runtime-plugins)** to implement this type of logic.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Rendering Mode Overview
2
4
 
3
5
  Modern.js supports multiple rendering modes, and different rendering modes are suitable for different scenarios. Choosing the right rendering mode can significantly improve application performance and user experience.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # React Server Components (RSC)
2
4
 
3
5
  React Server Components (RSC) is a new component type that allows components to be rendered in a server environment, bringing better performance and developer experience to modern web applications.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Static Site Generation
2
4
 
3
5
  SSG (Static Site Generation) is a technical solution that generates complete static web pages at build time based on data and templates. This means that in a production environment, pages are pre-rendered with content and can be cached by a CDN. SSG can offer better performance and higher security for pages that do not require dynamic data.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Rendering Cache
2
4
 
3
5
  When developing applications, sometimes we cache computation results using hooks like React's `useMemo` and `useCallback`. By leveraging caching, we can reduce the number of computations, thus saving CPU resources and improving user experience.
@@ -35,7 +37,7 @@ export interface CacheControl {
35
37
  }
36
38
  ```
37
39
 
38
- Here, `customKey` is the custom cache key. By default, Modern.js uses the request `pathname` as the cache key, but developers can define it when necessary.
40
+ Here, `customKey` is the custom cache key. By default, the cache key is derived from the request's origin, normalized pathname (trailing slash removed), and query string. When `customKey` is set, it fully replaces the default key: the `customKey` callback receives the normalized pathname (not the `CacheOptionProvider`'s `req`) and is responsible for the whole partition (e.g. by tenant, host, or query) — it must not embed raw cookies or other credentials into the returned key.
39
41
 
40
42
  **Function Type**
41
43
 
@@ -106,6 +108,19 @@ export const cacheOption: CacheOption = {
106
108
 
107
109
  The above `/home` and `/about` are patterns, meaning `/home/abc` will also match. You can use regex in these patterns, such as `/home/.+`.
108
110
 
111
+ ### Cache Policy
112
+
113
+ The following policy is enforced automatically and cannot be overridden by the returned `CacheControl`:
114
+
115
+ - Only `GET` requests are cached.
116
+ - A request carrying a `Cookie` or `Authorization` header skips the cache unless `customKey` is set, since a custom key is treated as an explicit partitioning contract.
117
+ - A request with `Cache-Control: private`, `no-cache`, or `no-store` skips the cache.
118
+ - A response is only stored when it is `200`, has no `private`/`no-cache`/`no-store` in `Cache-Control`, has no `Set-Cookie`, and has no nonempty `Vary` header; otherwise any existing cache entry for that key is deleted instead of being written.
119
+ - If a `stale` revalidation produces a response that is no longer cacheable (for example, it became per-user), that already-served stale response is unaffected, but the cache entry is evicted so subsequent requests no longer hit it.
120
+ - A `CacheOptionProvider` returning `false` still disables caching entirely for that request, independent of the policy above.
121
+
122
+ Cache keys are namespaced (`__ssr__cache:v2:...`). Older un-namespaced entries — including ones already stored in a custom `Container` — are never read back; they simply age out under the container's own eviction/TTL. There is no global cache flush.
123
+
109
124
  ### Cache Container
110
125
 
111
126
  By default, the server uses memory for caching. Typically, services are deployed in a Serverless container, creating a new process for each access, making it impossible to use the previous cache.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Server-Side Rendering
2
4
 
3
5
  Server-Side Rendering (SSR) generates complete HTML pages on the server and sends them to the browser for direct display, without requiring additional client-side rendering.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Streaming Server-Side Rendering
2
4
 
3
5
  Streaming rendering is an advanced rendering method that progressively returns content during the page rendering process, significantly improving user experience.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Config Routes
2
4
 
3
5
  By default, Modern.js recommends using [Convention Routes](/guides/basic-features/routes/routes.md) as the way to define routes. At the same time, Modern.js also provides a config-based routing capability that can be used together with convention routes or used separately.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Routing
2
4
 
3
5
  Modern.js supports conventional routing on top of both [React Router](https://reactrouter.com/en/main) and [TanStack Router](https://tanstack.com/router), offering file convention-based routing capabilities and supporting the industry-popular **nested routing** pattern. When an entry is recognized as [conventional routing](/guides/concept/entries.md#conventional-routing), Modern.js automatically generates the corresponding routing structure based on the file system.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Import JSON Files
2
4
 
3
5
  Modern.js supports import JSON files in code by default. You can use Rsbuild plugins to support importing [YAML](https://yaml.org/) and [Toml](https://toml.io/en/) files and converting them to JSON format.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Import SVG Assets
2
4
 
3
5
  Modern.js supports import SVG assets and transform SVG into React components or URLs.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Import Wasm Assets
2
4
 
3
5
  Modern.js supports import WebAssembly assets in code.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Import Static Assets
2
4
 
3
5
  Modern.js supports import static assets, including images, fonts, and medias.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Playwright
2
4
 
3
5
  Playwright is a testing framework that allows you to run tests automatically in Chromium, Firefox, and WebKit environments using a single API. You can use it to **write E2E tests**.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Rstest
2
4
 
3
5
  [Rstest](https://rstest.rs) is a testing framework developed by the Rspack team and built on top of Rspack for fast test execution.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Build Engine
2
4
 
3
5
  Modern.js internally encapsulates [Rsbuild](https://v2.rsbuild.rs/), using Rspack as the bundler.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Page Entry
2
4
 
3
5
  Through this chapter, you can understand the entry conventions in Modern.js and how to customize entries.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Web Server
2
4
 
3
5
  Modern.js provides an integrated Web server for applications that can run in any container environment with Node.js. Whether executing the `dev` command in a local development environment, running the `build && serve` commands in a production environment, or using the official deployment solution, it all runs through this Web server to host the application.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Modern.js For AI
2
4
 
3
5
  Modern.js provides a toolkit for AI agents that makes your project agent-ready out of the box, helping you use AI to develop, upgrade, and migrate Modern.js applications more accurately and efficiently.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Glossary
2
4
 
3
5
  ## BFF
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Introduction to Modern.js
2
4
 
3
5
  **Modern.js is a progressive web framework based on React**. At ByteDance, we use Modern.js to build upper-level frameworks that have supported the development of thousands of web applications.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Quick Start
2
4
 
3
5
  ## Environment
@@ -123,11 +125,7 @@ Now, the project structure is as follows:
123
125
  ```
124
126
 
125
127
  The default workspace starts shell-only and installs the published BleedingDev
126
- package aliases:
127
-
128
- ```bash
129
- pnpm dlx @bleedingdev/modern-js-ultramodern-create my-super-app
130
- ```
128
+ package aliases.
131
129
 
132
130
  From a generated SuperApp workspace, add a business MicroVertical in place:
133
131
 
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # Tech Stack
2
4
 
3
5
  The Modern.js framework comes with built-in popular libraries and development tools from the community.
@@ -1,3 +1,5 @@
1
+ > For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.
2
+
1
3
  # UltraModern.js 3.0 vs Modern.js 3.0
2
4
 
3
5
  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.
@@ -13,17 +15,9 @@ UltraModern.js 3.0 is our SuperApp framework forked from Modern.js. It keeps the
13
15
  - Add platform-level contracts only where they improve cross-team reliability.
14
16
  - Keep escape hatches explicit and outside the generated HTTP API path.
15
17
 
16
- ## Compatibility Contract
17
-
18
- UltraModern.js 3.0 keeps:
19
-
20
- - Modern.js app/config/plugin mental model.
21
- - Existing project structure and command flow.
22
- - Progressive adoption path (apps can stay mostly unchanged).
18
+ ## Current Workspace Contract
23
19
 
24
- UltraModern.js additions are designed as the default product surface for new SuperApps. The framework direction is Effect + TanStack + SSR + Micro Verticals, and generated HTTP API work uses that direction by default instead of preserving parallel raw-handler layouts.
25
- Existing Modern.js apps can migrate gradually; once an API surface is generated
26
- or migrated as UltraModern HTTP API, it must use the strict Effect HttpApi path.
20
+ UltraModern.js uses Effect HttpApi, TanStack Router, SSR, and independently deployable Micro Verticals. Generated workspaces use `api/index.ts`, `shared/api.ts`, and `src/api/*` with concrete Effect schemas. The CLI creates, adds to, and validates workspaces against the current contract.
27
21
 
28
22
  ## Intentional Differences (v3 line)
29
23
 
@@ -51,21 +45,9 @@ or migrated as UltraModern HTTP API, it must use the strict Effect HttpApi path.
51
45
  - Generated UltraModern API work uses the Effect runtime only; raw Hono/function handlers are not part of the generated API architecture.
52
46
  - We make incompatible scaffold changes when they remove architecture drift.
53
47
 
54
- ## Migration Guide
55
-
56
- For teams already on Modern.js 3.0 or an older BleedingDev UltraModern scaffold, the adoption path is to move API work onto the strict Effect HttpApi surface instead of preserving older raw handler layouts.
57
-
58
- 1. Keep existing Modern.js apps running as-is while they are outside the generated UltraModern surface. TanStack Router is the preferred path for new scaffolds and incremental route adoption, but route migration can happen on the team's schedule.
59
- 2. Use `bff.runtimeFramework: 'effect'` with `bff.effect.strictEffectApproach: true` for API work. Entries live at `api/index.ts`, contracts live at `shared/api.ts`, clients live under `src/api/*`, and request/response/error shapes come from Effect `Schema` plus `HttpApi`.
60
- 3. Treat raw handlers, `api/lambda/**`, manual `Response` construction, and manual request parsing as migration defects in generated or migrated UltraModern workspaces.
61
- 4. The public preset now ships with explicit release and certification gates. Generated workspaces include `.github/workflows/ultramodern-workspace-gates.yml`, so `pnpm check` and `pnpm build` stay part of the local adoption contract from day one while CI runs the primitive gates as parallel matrix jobs.
62
-
63
- For an older generated workspace, migrate by treating the published cohort as
64
- the source of truth:
48
+ ## Create and Validate a Workspace
65
49
 
66
50
  ```bash
67
- pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest --help
68
- pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical --dry-run
69
51
  pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical
70
52
  mise install
71
53
  mise exec -- pnpm install
@@ -73,73 +55,12 @@ mise exec -- pnpm check
73
55
  mise exec -- pnpm build
74
56
  ```
75
57
 
76
- ### Migrating localized Cloudflare SSR workspaces
77
-
78
- Current cohorts localize Cloudflare SSR workspaces.
79
- The framework moves bare locale-root redirects into the framework-owned
80
- Cloudflare Worker entry and the i18n server runtime. A request for `/` is
81
- redirected server-side with `302` to the negotiated locale path, for example
82
- `/cs` for `Accept-Language: cs-CZ` or `/en` for English and fallback traffic.
83
-
84
- Existing generated workspaces should upgrade the whole BleedingDev Modern
85
- package cohort together. Resolve the current cohort version first, then run
86
- the matching migration:
87
-
88
- ```bash
89
- COHORT="$(npm view @bleedingdev/modern-js-ultramodern-create version)"
90
- pnpm dlx "@bleedingdev/modern-js-ultramodern-create@$COHORT" ultramodern \
91
- migrate-strict-effect --version "$COHORT"
92
- pnpm install
93
- pnpm check
94
- pnpm build
95
- pnpm cloudflare:build
96
- ```
97
-
98
- For deployed Cloudflare Workers, redeploy after the cohort update and verify
99
- the root response before accepting the migration:
58
+ Localized Cloudflare SSR workspaces redirect `/` on the server to the negotiated locale. For example, `Accept-Language: cs-CZ` returns `302` with `Location: /cs`, `Cache-Control: private, no-store`, and `Vary` covering locale detection headers. Validate the deployed Worker with:
100
59
 
101
60
  ```bash
102
61
  curl -I -H 'Accept-Language: cs-CZ,cs;q=0.9,en;q=0.1' https://<worker-host>/
103
62
  ```
104
63
 
105
- The expected response is `302` with `Location: /cs` or the matching locale,
106
- `Cache-Control: private, no-store`, and `Vary` covering the locale detection
107
- headers. Following the redirect should return the SSR locale page with the
108
- matching document language and i18n SSR data.
109
-
110
- Do not fix older root `404` responses by adding app-owned root route files,
111
- client-side redirects, custom navigation wrappers, Cloudflare Worker
112
- postprocessing, generated output edits, or local redirect shims. If `/` still
113
- returns `404` after upgrading, confirm the production build log shows
114
- `Modern.js Framework v<cohort-version>` for the cohort you migrated to and
115
- redeploy the Worker.
116
-
117
- Strict generated API migration is part of every current cohort: the direct
118
- `api/index.ts` generator, generated `.mts` checks, the strict Oxlint boundary
119
- rule set, Effect cohort overrides, and the strict Effect migration command.
120
- Agents that cannot install the BleedingDev cohort yet should use the local
121
- Modern.js workspace for migration validation; otherwise pin the target cohort
122
- with `--ultramodern-package-version`.
123
-
124
- Before hand-editing package aliases or generated metadata, run the framework
125
- migration command from the target workspace:
126
-
127
- ```bash
128
- COHORT="$(npm view @bleedingdev/modern-js-ultramodern-create version)"
129
- pnpm dlx "@bleedingdev/modern-js-ultramodern-create@$COHORT" ultramodern \
130
- migrate-strict-effect --version "$COHORT"
131
- pnpm api:check
132
- pnpm contract:check
133
- ```
134
-
135
- The command updates `.modernjs/ultramodern.json`, root
136
- `modernjs.packageSource`, generated Modern package aliases, framework-owned
137
- toolchain pins, direct topology API metadata, strict Effect pnpm
138
- overrides/trust policy, and the pnpm lockfile. Remaining failures are source
139
- migration work: move code to `shared/api.ts`, `api/index.ts`, and
140
- `src/api/*-client.ts`, then delete `api/effect`, `api/lambda`, `shared/effect`,
141
- and `src/effect`.
142
-
143
64
  Generated strict Effect workspaces pin the compatible Effect cohort with pnpm
144
65
  overrides: `effect@4.0.0-rc.112`, `@effect/opentelemetry@4.0.0-rc.112`,
145
66
  and `@effect/vitest@4.0.0-rc.112`. Do not add app-local direct Effect
@@ -155,12 +76,12 @@ metadata transition; they are not release-age approvals.
155
76
  | Surface | Pin |
156
77
  | ------------------------------ | --------------------------------------------------------------------------------------------------- |
157
78
  | Effect runtime and test cohort | `effect`, `@effect/opentelemetry`, and `@effect/vitest`: `4.0.0-rc.112` |
158
- | Effect compiler | `@effect/tsgo@0.37.0` |
159
- | Oxc and Ultracite | `oxlint@1.80.0`, `oxfmt@0.65.0`, `ultracite@7.10.6` |
160
- | TanStack Router | `@tanstack/react-router@1.170.32`, `@tanstack/router-core@1.171.27`, `@tanstack/history@1.162.1` |
79
+ | Effect compiler | `@effect/tsgo@0.41.0` |
80
+ | Oxc and Ultracite | `oxlint@1.81.0`, `oxfmt@0.66.0`, `ultracite@7.11.0` |
81
+ | TanStack Router | `@tanstack/react-router@1.170.33`, `@tanstack/router-core@1.171.28`, `@tanstack/history@1.162.2` |
161
82
  | Module Federation | `bridge-react`, `manifest`, `modern-js-v3`, and `rspack`: `2.9.0`; `@module-federation/node@2.7.50` |
162
83
  | Tailwind CSS | `tailwindcss@4.3.3` |
163
- | Node and package tooling | Node `26.7.0`, `@types/node@^26.2.0`, pnpm `11.24.0` |
84
+ | Node and package tooling | Node `26.7.0`, `@types/node@^26.4.1`, pnpm `11.24.0` |
164
85
 
165
86
  Generated workspaces default to Module Federation bridge-react's router-free
166
87
  base entry (`bridge.enableBridgeRouter: false`), with TanStack Router as the
@@ -208,7 +129,7 @@ transport surfaces when needed. They do not make raw request handlers valid
208
129
  inside generated HTTP API modules.
209
130
 
210
131
  Strict API tests should exercise the `HttpApi` contract. Use
211
- `createEffectBffTestHandler` from `@modern-js/plugin-bff/effect-edge` for
132
+ `createEffectBffTestHandler` from `@modern-js/bff-effect/effect-edge` for
212
133
  edge-compatible proof tests; if you manually compose a web handler, provide
213
134
  `HttpServer.layerServices` beside your API group layer before calling
214
135
  `HttpRouter.toWebHandler`.