@modern-js/app-tools 3.9.3 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +54 -2
  2. package/dist/cjs/compat/hooks.js +0 -5
  3. package/dist/cjs/compat/index.js +0 -5
  4. package/dist/cjs/compat/utils.js +0 -5
  5. package/dist/cjs/plugins/initialize/index.js +0 -1
  6. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +54 -2
  7. package/dist/esm/compat/hooks.mjs +0 -5
  8. package/dist/esm/compat/index.mjs +0 -5
  9. package/dist/esm/compat/utils.mjs +0 -5
  10. package/dist/esm/plugins/initialize/index.mjs +0 -1
  11. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +54 -2
  12. package/dist/esm-node/compat/hooks.mjs +0 -5
  13. package/dist/esm-node/compat/index.mjs +0 -5
  14. package/dist/esm-node/compat/utils.mjs +0 -5
  15. package/dist/esm-node/plugins/initialize/index.mjs +0 -1
  16. package/dist/types/types/config/index.d.ts +0 -2
  17. package/dist/types/types/config/tools.d.ts +0 -8
  18. package/docs/apis/app/commands.md +2 -0
  19. package/docs/apis/app/hooks/api/lambda.md +2 -0
  20. package/docs/apis/app/hooks/config/favicon.md +2 -0
  21. package/docs/apis/app/hooks/config/html.md +2 -0
  22. package/docs/apis/app/hooks/config/icon.md +2 -0
  23. package/docs/apis/app/hooks/config/mock.md +2 -0
  24. package/docs/apis/app/hooks/config/public.md +2 -0
  25. package/docs/apis/app/hooks/config/upload.md +3 -3
  26. package/docs/apis/app/hooks/modern-config.md +2 -0
  27. package/docs/apis/app/hooks/server/server.md +2 -0
  28. package/docs/apis/app/hooks/shared.md +2 -0
  29. package/docs/apis/app/hooks/src/app.md +2 -0
  30. package/docs/apis/app/hooks/src/entry.md +2 -0
  31. package/docs/apis/app/hooks/src/entry.server.md +2 -0
  32. package/docs/apis/app/hooks/src/modern.runtime.md +2 -0
  33. package/docs/apis/app/hooks/src/routes.md +2 -0
  34. package/docs/apis/app/hooks/src/server.md +2 -0
  35. package/docs/apis/app/runtime/bff/use-hono-context.md +2 -0
  36. package/docs/apis/app/runtime/core/create-root.md +5 -1
  37. package/docs/apis/app/runtime/core/render.md +7 -2
  38. package/docs/apis/app/runtime/core/runtime-context.md +18 -16
  39. package/docs/apis/app/runtime/router/router.md +11 -6
  40. package/docs/apis/app/runtime/ssr/no-ssr.md +2 -0
  41. package/docs/apis/app/runtime/ssr/renderStreaming.md +2 -0
  42. package/docs/apis/app/runtime/ssr/renderString.md +2 -0
  43. package/docs/apis/app/runtime/ssr/requestHandler.md +2 -0
  44. package/docs/apis/app/runtime/utility/css-in-js.md +2 -0
  45. package/docs/apis/app/runtime/utility/head.md +2 -0
  46. package/docs/apis/app/runtime/utility/loadable.md +2 -0
  47. package/docs/community/blog/2022-0708-updates.md +2 -0
  48. package/docs/community/blog/2022-0910-updates.md +2 -0
  49. package/docs/community/blog/overview.md +2 -0
  50. package/docs/community/blog/v2-release-note.md +2 -0
  51. package/docs/community/blog/v3-release-note.md +18 -13
  52. package/docs/community/contributing-guide.md +17 -33
  53. package/docs/community/releases.md +2 -0
  54. package/docs/community/showcase.md +2 -0
  55. package/docs/community/team.md +2 -0
  56. package/docs/configure/app/bff/cross-project.md +2 -0
  57. package/docs/configure/app/bff/prefix.md +2 -0
  58. package/docs/configure/app/builder-plugins.md +2 -0
  59. package/docs/configure/app/dev/asset-prefix.md +2 -0
  60. package/docs/configure/app/dev/before-start-url.md +2 -0
  61. package/docs/configure/app/dev/client.md +2 -0
  62. package/docs/configure/app/dev/hmr.md +2 -0
  63. package/docs/configure/app/dev/host.md +2 -0
  64. package/docs/configure/app/dev/https.md +2 -0
  65. package/docs/configure/app/dev/lazy-compilation.md +19 -1
  66. package/docs/configure/app/dev/live-reload.md +2 -0
  67. package/docs/configure/app/dev/mock-dir.md +2 -0
  68. package/docs/configure/app/dev/progress-bar.md +2 -0
  69. package/docs/configure/app/dev/server.md +2 -0
  70. package/docs/configure/app/dev/setup-middlewares.md +2 -0
  71. package/docs/configure/app/dev/start-url.md +2 -0
  72. package/docs/configure/app/dev/watch-files.md +2 -0
  73. package/docs/configure/app/dev/write-to-disk.md +2 -0
  74. package/docs/configure/app/experiments/source-build.md +2 -0
  75. package/docs/configure/app/html/app-icon.md +2 -0
  76. package/docs/configure/app/html/crossorigin.md +2 -0
  77. package/docs/configure/app/html/favicon.md +2 -0
  78. package/docs/configure/app/html/inject.md +2 -0
  79. package/docs/configure/app/html/meta.md +2 -0
  80. package/docs/configure/app/html/mount-id.md +2 -0
  81. package/docs/configure/app/html/output-structure.md +2 -0
  82. package/docs/configure/app/html/script-loading.md +2 -0
  83. package/docs/configure/app/html/tags.md +2 -0
  84. package/docs/configure/app/html/template-parameters.md +2 -0
  85. package/docs/configure/app/html/template.md +2 -0
  86. package/docs/configure/app/html/title.md +2 -0
  87. package/docs/configure/app/output/asset-prefix.md +2 -0
  88. package/docs/configure/app/output/assets-retry.md +2 -0
  89. package/docs/configure/app/output/charset.md +2 -0
  90. package/docs/configure/app/output/clean-dist-path.md +2 -0
  91. package/docs/configure/app/output/convert-to-rem.md +2 -0
  92. package/docs/configure/app/output/copy.md +2 -0
  93. package/docs/configure/app/output/css-modules.md +3 -5
  94. package/docs/configure/app/output/data-uri-limit.md +2 -0
  95. package/docs/configure/app/output/disable-css-module-extension.md +2 -0
  96. package/docs/configure/app/output/disable-inline-runtime-chunk.md +2 -0
  97. package/docs/configure/app/output/disable-svgr.md +2 -0
  98. package/docs/configure/app/output/disable-ts-checker.md +2 -0
  99. package/docs/configure/app/output/dist-path.md +2 -0
  100. package/docs/configure/app/output/enable-asset-manifest.md +2 -0
  101. package/docs/configure/app/output/enable-css-module-tsdeclaration.md +2 -0
  102. package/docs/configure/app/output/enable-inline-route-manifests.md +2 -0
  103. package/docs/configure/app/output/externals.md +2 -0
  104. package/docs/configure/app/output/filename-hash.md +2 -0
  105. package/docs/configure/app/output/filename.md +2 -0
  106. package/docs/configure/app/output/inject-styles.md +2 -0
  107. package/docs/configure/app/output/inline-scripts.md +3 -2
  108. package/docs/configure/app/output/inline-styles.md +3 -2
  109. package/docs/configure/app/output/legal-comments.md +2 -0
  110. package/docs/configure/app/output/minify.md +2 -0
  111. package/docs/configure/app/output/override-browserslist.md +2 -0
  112. package/docs/configure/app/output/polyfill.md +2 -0
  113. package/docs/configure/app/output/source-map.md +2 -0
  114. package/docs/configure/app/output/split-route-chunks.md +3 -1
  115. package/docs/configure/app/output/ssg.md +2 -0
  116. package/docs/configure/app/output/ssgByEntries.md +2 -0
  117. package/docs/configure/app/output/svg-default-export.md +2 -0
  118. package/docs/configure/app/output/temp-dir.md +2 -0
  119. package/docs/configure/app/performance/build-cache.md +2 -0
  120. package/docs/configure/app/performance/chunk-split.md +3 -4
  121. package/docs/configure/app/performance/dns-prefetch.md +2 -0
  122. package/docs/configure/app/performance/preconnect.md +2 -0
  123. package/docs/configure/app/performance/prefetch.md +2 -0
  124. package/docs/configure/app/performance/preload.md +2 -0
  125. package/docs/configure/app/performance/print-file-size.md +2 -0
  126. package/docs/configure/app/performance/profile.md +2 -0
  127. package/docs/configure/app/performance/remove-console.md +2 -0
  128. package/docs/configure/app/performance/remove-moment-locale.md +2 -0
  129. package/docs/configure/app/plugins.md +2 -0
  130. package/docs/configure/app/resolve/alias-strategy.md +2 -0
  131. package/docs/configure/app/resolve/alias.md +2 -0
  132. package/docs/configure/app/resolve/condition-names.md +2 -0
  133. package/docs/configure/app/resolve/dedupe.md +2 -0
  134. package/docs/configure/app/resolve/extensions.md +2 -0
  135. package/docs/configure/app/runtime/0-intro.md +2 -0
  136. package/docs/configure/app/runtime/plugins.md +8 -4
  137. package/docs/configure/app/runtime/router.md +2 -0
  138. package/docs/configure/app/security/check-syntax.md +2 -0
  139. package/docs/configure/app/security/nonce.md +2 -0
  140. package/docs/configure/app/security/sri.md +2 -0
  141. package/docs/configure/app/server/base-url.md +2 -0
  142. package/docs/configure/app/server/port.md +2 -0
  143. package/docs/configure/app/server/public-routes.md +2 -0
  144. package/docs/configure/app/server/routes.md +2 -0
  145. package/docs/configure/app/server/rsc.md +2 -0
  146. package/docs/configure/app/server/ssr-by-entries.md +2 -0
  147. package/docs/configure/app/server/ssr.md +3 -1
  148. package/docs/configure/app/server/tsconfig-path.md +4 -2
  149. package/docs/configure/app/source/alias-strategy.md +2 -0
  150. package/docs/configure/app/source/alias.md +2 -0
  151. package/docs/configure/app/source/config-dir.md +2 -0
  152. package/docs/configure/app/source/decorators.md +2 -0
  153. package/docs/configure/app/source/define.md +2 -0
  154. package/docs/configure/app/source/disable-default-entries.md +2 -0
  155. package/docs/configure/app/source/enable-async-entry.md +2 -0
  156. package/docs/configure/app/source/enable-async-pre-entry.md +2 -0
  157. package/docs/configure/app/source/entries-dir.md +2 -0
  158. package/docs/configure/app/source/entries.md +2 -0
  159. package/docs/configure/app/source/exclude.md +2 -0
  160. package/docs/configure/app/source/global-vars.md +2 -0
  161. package/docs/configure/app/source/include.md +2 -0
  162. package/docs/configure/app/source/main-entry-name.md +2 -0
  163. package/docs/configure/app/source/pre-entry.md +2 -0
  164. package/docs/configure/app/source/react-compiler.md +2 -0
  165. package/docs/configure/app/source/transform-import.md +2 -0
  166. package/docs/configure/app/split-chunks.md +2 -0
  167. package/docs/configure/app/tools/autoprefixer.md +2 -0
  168. package/docs/configure/app/tools/bundler-chain.md +2 -0
  169. package/docs/configure/app/tools/css-extract.md +2 -0
  170. package/docs/configure/app/tools/css-loader.md +2 -0
  171. package/docs/configure/app/tools/dev-server.md +2 -0
  172. package/docs/configure/app/tools/html-plugin.md +2 -0
  173. package/docs/configure/app/tools/less.md +2 -0
  174. package/docs/configure/app/tools/lightningcss-loader.md +2 -0
  175. package/docs/configure/app/tools/minify-css.md +2 -0
  176. package/docs/configure/app/tools/postcss.md +2 -0
  177. package/docs/configure/app/tools/rspack.md +2 -0
  178. package/docs/configure/app/tools/sass.md +8 -6
  179. package/docs/configure/app/tools/style-loader.md +2 -0
  180. package/docs/configure/app/tools/svgr.md +2 -0
  181. package/docs/configure/app/tools/swc.md +2 -0
  182. package/docs/configure/app/tools/ts-checker.md +2 -0
  183. package/docs/configure/app/usage.md +3 -5
  184. package/docs/guides/advanced-features/bff/cross-project.md +6 -4
  185. package/docs/guides/advanced-features/bff/extend-server.md +2 -0
  186. package/docs/guides/advanced-features/bff/frameworks.md +2 -0
  187. package/docs/guides/advanced-features/bff/function.md +2 -0
  188. package/docs/guides/advanced-features/bff/operators.md +2 -0
  189. package/docs/guides/advanced-features/bff/sdk.md +2 -0
  190. package/docs/guides/advanced-features/bff/upload.md +2 -0
  191. package/docs/guides/advanced-features/bff.md +2 -0
  192. package/docs/guides/advanced-features/build-performance.md +2 -0
  193. package/docs/guides/advanced-features/compatibility.md +2 -0
  194. package/docs/guides/advanced-features/international/advanced.md +3 -1
  195. package/docs/guides/advanced-features/international/api.md +21 -13
  196. package/docs/guides/advanced-features/international/best-practices.md +17 -15
  197. package/docs/guides/advanced-features/international/configuration.md +3 -1
  198. package/docs/guides/advanced-features/international/locale-detection.md +15 -4
  199. package/docs/guides/advanced-features/international/quick-start.md +2 -0
  200. package/docs/guides/advanced-features/international/resource-loading.md +11 -7
  201. package/docs/guides/advanced-features/international/routing.md +5 -1
  202. package/docs/guides/advanced-features/international.md +2 -0
  203. package/docs/guides/advanced-features/low-level.md +2 -0
  204. package/docs/guides/advanced-features/page-performance/code-split.md +2 -0
  205. package/docs/guides/advanced-features/page-performance/inline-assets.md +2 -0
  206. package/docs/guides/advanced-features/page-performance/optimize-bundle.md +2 -0
  207. package/docs/guides/advanced-features/page-performance/react-compiler.md +2 -0
  208. package/docs/guides/advanced-features/server-monitor/logger.md +2 -0
  209. package/docs/guides/advanced-features/server-monitor/metrics.md +2 -0
  210. package/docs/guides/advanced-features/server-monitor/monitors.md +3 -3
  211. package/docs/guides/advanced-features/source-build.md +3 -1
  212. package/docs/guides/advanced-features/web-server.md +5 -3
  213. package/docs/guides/basic-features/alias.md +2 -0
  214. package/docs/guides/basic-features/css/css-in-js.md +2 -0
  215. package/docs/guides/basic-features/css/css-modules.md +2 -0
  216. package/docs/guides/basic-features/css/css.md +2 -0
  217. package/docs/guides/basic-features/css/tailwindcss.md +2 -0
  218. package/docs/guides/basic-features/data/data-cache.md +2 -0
  219. package/docs/guides/basic-features/data/data-fetch.md +3 -3
  220. package/docs/guides/basic-features/data/data-write.md +25 -28
  221. package/docs/guides/basic-features/debug/mock.md +4 -2
  222. package/docs/guides/basic-features/debug/proxy.md +2 -0
  223. package/docs/guides/basic-features/debug/rsdoctor.md +2 -0
  224. package/docs/guides/basic-features/debug/using-storybook.md +6 -4
  225. package/docs/guides/basic-features/deploy.md +2 -0
  226. package/docs/guides/basic-features/env-vars.md +2 -0
  227. package/docs/guides/basic-features/html.md +4 -3
  228. package/docs/guides/basic-features/output-files.md +3 -1
  229. package/docs/guides/basic-features/render/before-render.md +2 -0
  230. package/docs/guides/basic-features/render/overview.md +2 -0
  231. package/docs/guides/basic-features/render/rsc.md +12 -2
  232. package/docs/guides/basic-features/render/ssg.md +2 -0
  233. package/docs/guides/basic-features/render/ssr-cache.md +2 -0
  234. package/docs/guides/basic-features/render/ssr.md +10 -12
  235. package/docs/guides/basic-features/render/streaming-ssr.md +4 -1
  236. package/docs/guides/basic-features/routes/config-routes.md +54 -54
  237. package/docs/guides/basic-features/routes/routes.md +2 -0
  238. package/docs/guides/basic-features/static-assets/json-files.md +2 -0
  239. package/docs/guides/basic-features/static-assets/svg-assets.md +2 -0
  240. package/docs/guides/basic-features/static-assets/wasm-assets.md +2 -0
  241. package/docs/guides/basic-features/static-assets.md +2 -0
  242. package/docs/guides/basic-features/testing/playwright.md +8 -6
  243. package/docs/guides/basic-features/testing/rstest.md +7 -5
  244. package/docs/guides/concept/builder.md +2 -0
  245. package/docs/guides/concept/entries.md +2 -0
  246. package/docs/guides/concept/server.md +2 -0
  247. package/docs/guides/get-started/ai-coding-agents.md +5 -3
  248. package/docs/guides/get-started/glossary.md +2 -0
  249. package/docs/guides/get-started/introduction.md +2 -0
  250. package/docs/guides/get-started/quick-start.md +13 -5
  251. package/docs/guides/get-started/tech-stack.md +2 -0
  252. package/docs/guides/get-started/upgrade.md +2 -0
  253. package/docs/guides/topic-detail/module-federation/application.md +2 -0
  254. package/docs/guides/topic-detail/module-federation/deploy.md +4 -2
  255. package/docs/guides/topic-detail/module-federation/i18n.md +2 -0
  256. package/docs/guides/topic-detail/module-federation/introduce.md +2 -0
  257. package/docs/guides/topic-detail/module-federation/ssr.md +2 -0
  258. package/docs/guides/topic-detail/module-federation/usage.md +2 -0
  259. package/docs/guides/troubleshooting/builder.md +2 -0
  260. package/docs/guides/troubleshooting/cli.md +2 -0
  261. package/docs/guides/troubleshooting/dependencies.md +2 -0
  262. package/docs/guides/troubleshooting/hmr.md +2 -0
  263. package/docs/guides/upgrade/config.md +14 -0
  264. package/docs/guides/upgrade/entry.md +2 -0
  265. package/docs/guides/upgrade/other.md +2 -0
  266. package/docs/guides/upgrade/overview.md +2 -0
  267. package/docs/guides/upgrade/tailwindcss.md +2 -0
  268. package/docs/guides/upgrade/web-server.md +25 -6
  269. package/docs/index.md +2 -0
  270. package/docs/llms.txt +5 -5
  271. package/docs/plugin/cli-plugins/api.md +2 -0
  272. package/docs/plugin/cli-plugins/life-cycle.md +2 -0
  273. package/docs/plugin/introduction.md +2 -0
  274. package/docs/plugin/official/cli-plugins/plugin-bff.md +2 -0
  275. package/docs/plugin/official/cli-plugins/plugin-ssg.md +2 -0
  276. package/docs/plugin/official/cli-plugins/plugin-styled-components.md +2 -0
  277. package/docs/plugin/official/cli-plugins.md +2 -0
  278. package/docs/plugin/plugin-system.md +3 -3
  279. package/docs/plugin/runtime-plugins/api.md +2 -0
  280. package/docs/plugin/runtime-plugins/life-cycle.md +2 -0
  281. package/docs/plugin/server-plugins/api.md +2 -0
  282. package/docs/plugin/server-plugins/life-cycle.md +2 -0
  283. package/docs/tutorials/examples/csr-auth.md +2 -0
  284. package/docs/tutorials/foundations/introduction.md +2 -0
  285. package/lib/types.d.ts +0 -1
  286. package/package.json +16 -17
  287. package/{rslib.config.mts → rstack.config.mts} +4 -4
  288. package/dist/cjs/types/config/testing.js +0 -18
  289. package/dist/esm/types/config/testing.mjs +0 -0
  290. package/dist/esm-node/types/config/testing.mjs +0 -1
  291. package/dist/types/types/config/testing.d.ts +0 -8
package/docs/index.md CHANGED
@@ -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
  [NEWModern.js 3.0 is released!→](/community/blog/v3-release-note)
2
4
 
3
5
  # Modern.js 3.0A Progressive React Framework for modern web development
package/docs/llms.txt CHANGED
@@ -39,7 +39,7 @@
39
39
  - [Using Rsdoctor](/guides/basic-features/debug/rsdoctor.md): Rsdoctor is a Rspack build analysis tool. In Modern.js, we recommend using Rsdoctor to diagnose and analyze the build process and build outputs.
40
40
  - [Using Storybook](/guides/basic-features/debug/using-storybook.md): Storybook is a tool specifically designed for component debugging. It provides: A rich variety of debugging capabilitiesIntegration with some testing toolsReusable documentation contentSharing capabilitiesWorkflow automation
41
41
  - [Rstest](/guides/basic-features/testing/rstest.md): Rstest is a testing framework developed by the Rspack team and built on top of Rspack for fast test execution. This guide explains how to integrate Rstest with Modern.js for web app testing.
42
- - [Playwright](/guides/basic-features/testing/playwright.md): 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. To use Playwright in Modern.js, you need to install the dependencies first. You can run the following commands: <PackageManagerTabs command={{ npm: "npm init playwright", yarn: "yarn create playwright", pnpm: "pnpm create playwright" }} /> The above commands will automatically install Playwright dependencies and help you install and configure it in your project through a series of prompts, including adding a playwright.config.ts file. After creating with the default configuration, you can see the following files in your project: This is the default test file. Now create some new pages and test them.
42
+ - [Playwright](/guides/basic-features/testing/playwright.md): 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. To use Playwright in Modern.js, you need to install the dependencies first. You can run the following commands: <PackageManagerTabs command={{ npm: 'npm init playwright', yarn: 'yarn create playwright', pnpm: 'pnpm create playwright', }} /> The above commands will automatically install Playwright dependencies and help you install and configure it in your project through a series of prompts, including adding a playwright.config.ts file. After creating with the default configuration, you can see the following files in your project: This is the default test file. Now create some new pages and test them.
43
43
  - [Path Alias](/guides/basic-features/alias.md): 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. For example, if you frequently reference the src/common/request.ts module in your project, you can define an alias for it as @request and then use `` in your code instead of writing the full relative path every time. This also allows you to move the module to a different location without needing to update all the import statements in your code. In Modern.js, there are two ways to set up path aliases: Through the paths configuration in tsconfig.json.Through the source.alias configuration.
44
44
  - [Environment Variables](/guides/basic-features/env-vars.md): Modern.js provides support for environment variables, including built-in environment variables and custom environment variables.
45
45
  - [Output Files](/guides/basic-features/output-files.md): This chapter will introduces the directory structure of output files and how to control the output directory of different types of files.
@@ -99,7 +99,7 @@
99
99
  - [hmr](/configure/app/dev/hmr.md): Type: booleanDefault: true Whether to enable Hot Module Replacement.
100
100
  - [host](/configure/app/dev/host.md): Type: stringDefault: 0.0.0.0 Specify the host that the dev server listens to. By default, the dev server will listen to 0.0.0.0, which means listening to all network interfaces, including localhost and public network addresses. If you want the dev server to listen only on localhost, you can set it to:
101
101
  - [https](/configure/app/dev/https.md): Type: boolean | { key: string; cert: string }Default: false After configuring this option, you can enable HTTPS Dev Server, and disabling the HTTP Dev Server. HTTP: HTTPS: Automatically generate certificates You can directly set https to true, Modern.js will automatically generate the HTTPS certificate based on devcert. When using this method, you need to manually install the devcert dependency in your project: Then configure dev.https to true: The devcert has some limitations, it does not currently support IP addresses yet. Manually set the certificate You can also manually pass in the certificate and the private key required in the dev.https option. This parameter will be directly passed to the createServer method of the https module in Node.js. For details, please refer to https.createServer. Clean up cert cache The certificate created by devcert is saved in ~/Library/Application\ Support/devcert. You may do some cleanup if needed.
102
- - [lazyCompilation](/configure/app/dev/lazy-compilation.md): Type: Default: false Enable lazy compilation (compilation on demand), implemented based on Rspack's lazy compilation feature.
102
+ - [lazyCompilation](/configure/app/dev/lazy-compilation.md): Type: Default: depends on how the application renders:Pure CSR and streaming SSR applications: { imports: true, entries: false }, which compiles dynamic imports on demand;Applications using string SSR (including any entry in server.ssrByEntries using string SSR), RSC or SSG: false. Enable lazy compilation (compilation on demand), implemented based on Rspack's lazy compilation feature. This option only takes effect in the dev server and does not affect production build output. When enabled for streaming SSR applications, route components are still compiled eagerly so that first-screen JS/CSS injection stays correct. An explicitly configured dev.lazyCompilation always takes precedence over the default. To disable it:
103
103
  - [liveReload](/configure/app/dev/live-reload.md): Type: booleanDefault: true Whether to reload the page when source files are changed.
104
104
  - [mockDir](/configure/app/dev/mock-dir.md): Type: stringDefault: './config/mock' Sets the directory containing the Mock API entry file. Relative paths are resolved from the application directory, and absolute paths are also supported. Modern.js loads index.ts or index.js from this directory during development. For example, move the Mock API entry to mocks/index.ts: This is also useful in a monorepo when multiple applications share one Mock directory:
105
105
  - [progressBar](/configure/app/dev/progress-bar.md): Type: Default: true Whether to display progress bar during compilation.
@@ -226,11 +226,11 @@
226
226
  - [Introduction](/plugin/introduction.md): Modern.js provides a powerful plugin system that allows developers to extend the framework's functionality, customize the build process, and meet a variety of personalized development needs. Whether you want to add a custom command, optimize build output, or implement a unique deployment solution, Modern.js's plugin system provides robust support.
227
227
  - [Plugin System](/plugin/plugin-system.md): Modern.js adopts a highly extensible, plugin-based architecture, where its core functionalities and extended capabilities are implemented through plugins. The plugin system not only ensures the framework's flexibility but also provides developers with powerful customization options. This document focuses on how to write Modern.js plugins, helping you quickly get started with plugin development.
228
228
  - [CLI Plugin API](/plugin/cli-plugins/api.md): Modern.js's CLI plugins allow you to extend and customize the functionality of Modern.js projects during the build and development process.
229
- - [Life Cycle](/plugin/cli-plugins/life-cycle.md): `} </Mermaid>
229
+ - [Life Cycle](/plugin/cli-plugins/life-cycle.md): `}
230
230
  - [Plugin API](/plugin/runtime-plugins/api.md): Modern.js's Runtime Plugins allow you to extend and modify the behavior of your application during its React code execution. With Runtime Plugins, you can easily perform initialization tasks, implement React Higher-Order Component (HOC) wrapping, and more.
231
- - [Life Cycle](/plugin/runtime-plugins/life-cycle.md): `} </Mermaid>
231
+ - [Life Cycle](/plugin/runtime-plugins/life-cycle.md): `}
232
232
  - [Plugin API](/plugin/server-plugins/api.md): Modern.js's Server plugins allow you to extend and customize functionality during the server-side request processing phase, such as adding middleware, modifying request responses, etc.
233
- - [Life Cycle](/plugin/server-plugins/life-cycle.md): `} </Mermaid>
233
+ - [Life Cycle](/plugin/server-plugins/life-cycle.md): `}
234
234
  - [Overview](/plugin/official/cli-plugins.md): @modern-js/plugin-bff: Provides BFF services and unified invocation capabilities.@modern-js/plugin-ssg: Provides static site generation capabilities.
235
235
  - [BFF Plugin](/plugin/official/cli-plugins/plugin-bff.md): In a Modern.js application, developers can define API files under the api/lambda directory and export API functions using the BFF plugin. In the frontend code, these API functions can be directly invoked by importing the file, which initiates the API requests. For more details, refer to BFF - Basic Usage.
236
236
  - [SSG Plugin](/plugin/official/cli-plugins/plugin-ssg.md): SSG (Static Site Generation) is a technical solution that renders complete static web pages at build time based on data and templates. This means that in a production environment, pages are populated with content by default and can be cached by a CDN. For pages that do not require dynamic data, SSG can provide better performance and higher security. For more details, refer to Static Site Generation (SSG).
@@ -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
  # CLI Plugin API
2
4
 
3
5
  Modern.js's CLI plugins allow you to extend and customize the functionality of Modern.js projects during the build and development process.
@@ -1,2 +1,4 @@
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
  # Life Cycle
2
4
 
@@ -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
2
4
 
3
5
  Modern.js provides a powerful plugin system that allows developers to extend the framework's functionality, customize the build process, and meet a variety of personalized development needs. Whether you want to add a custom command, optimize build output, or implement a unique deployment solution, Modern.js's plugin system provides robust support.
@@ -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
  # BFF Plugin
2
4
 
3
5
  In a Modern.js application, developers can define API files under the `api/lambda` directory and export API functions using the BFF plugin. In the frontend code, these API functions can be directly invoked by importing the file, which initiates the API requests.
@@ -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
  # SSG Plugin
2
4
 
3
5
  SSG (Static Site Generation) is a technical solution that renders complete static web pages at build time based on data and templates. This means that in a production environment, pages are populated with content by default and can be cached by a CDN. For pages that do not require dynamic data, SSG can provide better performance and higher security.
@@ -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
  # Styled Components Plugin
2
4
 
3
5
  In a Modern.js application, developers can use the Styled Components plugin to utilize the styled-components library within the app, enabling CSS-in-JS functionality.
@@ -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
  # Overview
2
4
 
3
5
  - [@modern-js/plugin-bff](/plugin/official/cli-plugins/plugin-bff.md): Provides BFF services and unified invocation capabilities.
@@ -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
  # Plugin System
2
4
 
3
5
  Modern.js adopts a highly extensible, plugin-based architecture, where its core functionalities and extended capabilities are implemented through plugins. The plugin system not only ensures the framework's flexibility but also provides developers with powerful customization options. This document focuses on how to write Modern.js plugins, helping you quickly get started with plugin development.
@@ -190,9 +192,7 @@ Example:
190
192
  // Define Hooks
191
193
  import { createSyncHook } from '@modern-js/plugin';
192
194
 
193
- type RouteObject = {
194
- /** TODO **/
195
- };
195
+ type RouteObject = {/** TODO **/};
196
196
  const modifyRoutes = createSyncHook<(routes: RouteObject[]) => RouteObject[]>();
197
197
 
198
198
  // Register Hooks in the plugin
@@ -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
  # Plugin API
2
4
 
3
5
  Modern.js's Runtime Plugins allow you to extend and modify the behavior of your application during its React code execution. With Runtime Plugins, you can easily perform initialization tasks, implement React Higher-Order Component (HOC) wrapping, and more.
@@ -1,2 +1,4 @@
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
  # Life Cycle
2
4
 
@@ -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
  # Plugin API
2
4
 
3
5
  Modern.js's Server plugins allow you to extend and customize functionality during the server-side request processing phase, such as adding middleware, modifying request responses, etc.
@@ -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
  # Life Cycle
2
4
 
3
5
 
@@ -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
  # Route Authorization
2
4
 
3
5
  Modern.js defaults to the convention-based routing based on React Router v7. For more details, please refer to [Routing](/guides/basic-features/routes/routes.md#routing).
@@ -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 Example Library
2
4
 
3
5
  Welcome to Modern.js Example Library! Here you'll find practical code examples to help you get started with Modern.js quickly.
package/lib/types.d.ts CHANGED
@@ -186,7 +186,6 @@ declare module '*?url' {
186
186
  export default src;
187
187
  }
188
188
 
189
-
190
189
  declare module '*.css' {
191
190
  const classes: { readonly [key: string]: string };
192
191
  export default classes;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "3.9.3",
18
+ "version": "3.10.0",
19
19
  "types": "./dist/types/index.d.ts",
20
20
  "main": "./dist/cjs/index.js",
21
21
  "exports": {
@@ -114,10 +114,10 @@
114
114
  },
115
115
  "dependencies": {
116
116
  "@babel/parser": "^7.29.9",
117
- "@babel/traverse": "^7.29.8",
117
+ "@babel/traverse": "^7.29.10",
118
118
  "@babel/types": "^7.29.8",
119
- "@rsbuild/core": "2.2.9",
120
- "@swc/core": "1.15.41",
119
+ "@rsbuild/core": "2.2.13",
120
+ "@swc/core": "1.16.18",
121
121
  "@swc/helpers": "^0.5.17",
122
122
  "es-module-lexer": "^1.7.0",
123
123
  "flatted": "^3.4.4",
@@ -126,19 +126,18 @@
126
126
  "ndepe": "^0.1.13",
127
127
  "pkg-types": "^1.3.1",
128
128
  "std-env": "^3.10.0",
129
- "@modern-js/builder": "3.9.3",
130
- "@modern-js/i18n-utils": "3.9.3",
131
- "@modern-js/plugin": "3.9.3",
132
- "@modern-js/plugin-data-loader": "3.9.3",
133
- "@modern-js/prod-server": "3.9.3",
134
- "@modern-js/server": "3.9.3",
135
- "@modern-js/server-utils": "3.9.3",
136
- "@modern-js/server-core": "3.9.3",
137
- "@modern-js/types": "3.9.3",
138
- "@modern-js/utils": "3.9.3"
129
+ "@modern-js/builder": "3.10.0",
130
+ "@modern-js/i18n-utils": "3.10.0",
131
+ "@modern-js/plugin": "3.10.0",
132
+ "@modern-js/plugin-data-loader": "3.10.0",
133
+ "@modern-js/prod-server": "3.10.0",
134
+ "@modern-js/server": "3.10.0",
135
+ "@modern-js/server-core": "3.10.0",
136
+ "@modern-js/server-utils": "3.10.0",
137
+ "@modern-js/utils": "3.10.0",
138
+ "@modern-js/types": "3.10.0"
139
139
  },
140
140
  "devDependencies": {
141
- "@rslib/core": "1.0.1",
142
141
  "@types/babel__traverse": "7.28.0",
143
142
  "@types/node": "^20",
144
143
  "ts-node": "^10.9.2",
@@ -165,8 +164,8 @@
165
164
  "access": "public"
166
165
  },
167
166
  "scripts": {
168
- "dev": "rslib build --watch",
169
- "build": "rslib build && node ./bin/modern-bundle-docs.js",
167
+ "dev": "rs lib --watch",
168
+ "build": "rs lib && node ./bin/modern-bundle-docs.js",
170
169
  "test": "rstest"
171
170
  }
172
171
  }
@@ -1,8 +1,8 @@
1
1
  import path from 'path';
2
2
  import { rslibConfig } from '@modern-js/rslib';
3
- import { defineConfig } from '@rslib/core';
3
+ import { define } from 'rstack';
4
4
 
5
- export default defineConfig({
5
+ define.lib({
6
6
  ...rslibConfig,
7
7
  lib: rslibConfig.lib?.map(libConfig => {
8
8
  return {
@@ -37,11 +37,11 @@ export default defineConfig({
37
37
  ]),
38
38
  {
39
39
  from: 'plugins/deploy/platforms/templates/*.cjs',
40
- context: path.join(__dirname, 'src'),
40
+ context: path.join(import.meta.dirname, 'src'),
41
41
  },
42
42
  {
43
43
  from: 'plugins/deploy/platforms/templates/*.mjs',
44
- context: path.join(__dirname, 'src'),
44
+ context: path.join(import.meta.dirname, 'src'),
45
45
  },
46
46
  ],
47
47
  },
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.r = (exports1)=>{
5
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
- value: 'Module'
7
- });
8
- Object.defineProperty(exports1, '__esModule', {
9
- value: true
10
- });
11
- };
12
- })();
13
- var __webpack_exports__ = {};
14
- __webpack_require__.r(__webpack_exports__);
15
- for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
- Object.defineProperty(exports, '__esModule', {
17
- value: true
18
- });
File without changes
@@ -1 +0,0 @@
1
- import "node:module";
@@ -1,8 +0,0 @@
1
- import type { TestConfig } from '@modern-js/types';
2
- export interface TestingUserConfig {
3
- /**
4
- * Decide which transformer will be used to compile file
5
- * @default 'babel-jest'
6
- */
7
- transformer?: TestConfig['transformer'];
8
- }