@modern-js/main-doc 2.0.0-beta.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/_category_.json +8 -0
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/build.md +44 -0
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/dev.md +31 -0
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/index.md +12 -0
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/inspect.md +39 -0
  7. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +22 -0
  8. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +59 -0
  9. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/start.md +32 -0
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/test.md +36 -0
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/upgrade.md +21 -0
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/_category_.json +8 -0
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/_category_.json +4 -0
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/_category_.json +4 -0
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/lambda.md +54 -0
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/_category_.json +4 -0
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/api.md +78 -0
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/app.md +12 -0
  19. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/common.md +10 -0
  20. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/test.md +10 -0
  21. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/_category_.json +4 -0
  22. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/html.md +8 -0
  23. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/icon.md +15 -0
  24. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/mock.md +6 -0
  25. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/public.md +28 -0
  26. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/storybook.md +12 -0
  27. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/upload.md +42 -0
  28. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/index.md +7 -0
  29. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/modern-config.md +8 -0
  30. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/_category_.json +4 -0
  31. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/index_.md +14 -0
  32. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/test.md +10 -0
  33. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/shared.md +6 -0
  34. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/_category_.json +4 -0
  35. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/app.md +45 -0
  36. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/index_.md +34 -0
  37. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/pages.md +180 -0
  38. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/stories.md +12 -0
  39. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/test.md +12 -0
  40. package/en/docusaurus-plugin-content-docs/current/apis/app/overview.md +12 -0
  41. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/_category_.json +9 -0
  42. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/_category_.json +4 -0
  43. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/define-config.md +60 -0
  44. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/_category_.json +4 -0
  45. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/hook.md +43 -0
  46. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/use-context.md +36 -0
  47. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/_category_.json +5 -0
  48. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +55 -0
  49. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/create-app.md +47 -0
  50. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-loader.md +83 -0
  51. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-module-apps.md +101 -0
  52. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-runtime-context.md +59 -0
  53. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +25 -0
  54. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +72 -0
  55. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/index.md +12 -0
  56. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/Provider.md +35 -0
  57. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/_category_.json +4 -0
  58. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/auto-actions.md +120 -0
  59. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +140 -0
  60. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +73 -0
  61. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +62 -0
  62. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +105 -0
  63. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +197 -0
  64. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +27 -0
  65. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +89 -0
  66. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +49 -0
  67. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +48 -0
  68. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +4 -0
  69. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +26 -0
  70. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +896 -0
  71. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +170 -0
  72. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/plugin-api.md +117 -0
  73. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/_category_.json +4 -0
  74. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/router.md +492 -0
  75. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/_category_.json +4 -0
  76. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/no-ssr.md +44 -0
  77. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/pre-render.md +91 -0
  78. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/_category_.json +4 -0
  79. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/act.md +34 -0
  80. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/cleanup.md +38 -0
  81. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/render.md +72 -0
  82. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/renderApp.md +33 -0
  83. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/_category_.json +4 -0
  84. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/css-in-js.md +42 -0
  85. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/head.md +39 -0
  86. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/loadable.md +85 -0
  87. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/_category_.json +4 -0
  88. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/hook.md +131 -0
  89. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/middleware.md +106 -0
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/fetcher.md +28 -0
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/prefix.md +33 -0
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/proxy.md +75 -0
  93. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/asset-prefix.md +0 -1
  94. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/hmr.md +0 -1
  95. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/https.md +0 -1
  96. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/port.md +0 -1
  97. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/progress-bar.md +0 -1
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/proxy.md +80 -0
  99. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/start-url.md +0 -1
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/with-master-app.md +32 -0
  101. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +12 -0
  102. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/app-icon.md +0 -1
  103. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/crossorigin.md +0 -1
  104. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/disable-html-folder.md +0 -1
  105. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/favicon-by-entries.md +0 -1
  106. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/favicon.md +0 -1
  107. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/inject-by-entries.md +0 -1
  108. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/inject.md +0 -1
  109. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/meta-by-entries.md +0 -1
  110. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/meta.md +0 -1
  111. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/mount-id.md +0 -1
  112. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-by-entries.md +0 -1
  113. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-parameters-by-entries.md +0 -1
  114. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-parameters.md +0 -1
  115. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template.md +0 -1
  116. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/title-by-entries.md +0 -1
  117. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/title.md +0 -1
  118. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/asset-prefix.md +0 -1
  119. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/assets-retry.md +0 -1
  120. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/charset.md +0 -1
  121. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/clean-dist-path.md +0 -1
  122. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/convert-to-rem.md +0 -1
  123. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/copy.md +0 -1
  124. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/css-module-local-ident-name.md +0 -1
  125. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/data-uri-limit.md +0 -1
  126. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-css-module-extension.md +0 -1
  127. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-filename-hash.md +0 -1
  128. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-inline-runtime-chunk.md +0 -1
  129. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-minimize.md +0 -1
  130. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-node-polyfill.md +20 -0
  131. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-source-map.md +0 -1
  132. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +12 -0
  133. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/dist-path.md +0 -1
  134. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-asset-fallback.md +0 -1
  135. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-asset-manifest.md +0 -1
  136. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-css-module-tsdeclaration.md +0 -1
  137. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-inline-scripts.md +0 -1
  138. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-inline-styles.md +0 -1
  139. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-latest-decorators.md +0 -1
  140. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-modern-mode.md +34 -0
  141. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/externals.md +0 -1
  142. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/filename.md +0 -1
  143. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/legal-comments.md +0 -1
  144. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/override-browserslist.md +0 -1
  145. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/polyfill.md +0 -1
  146. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/svg-default-export.md +0 -1
  147. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/build-cache.md +0 -1
  148. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/bundle-analyze.md +0 -1
  149. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/chunk-split.md +0 -1
  150. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/print-file-size.md +0 -1
  151. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/profile.md +0 -1
  152. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/remove-console.md +0 -1
  153. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/remove-moment-locale.md +0 -1
  154. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +74 -0
  155. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/intro.md +91 -0
  156. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/master-app.md +60 -0
  157. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +19 -0
  158. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/state.md +41 -0
  159. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/security/sri.md +0 -1
  160. package/en/docusaurus-plugin-content-docs/current/configure/app/server/base-url.md +33 -0
  161. package/en/docusaurus-plugin-content-docs/current/configure/app/server/port.md +18 -0
  162. package/en/docusaurus-plugin-content-docs/current/configure/app/server/public-routes.md +26 -0
  163. package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +91 -0
  164. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr-by-entries.md +28 -0
  165. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr.md +20 -0
  166. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/alias.md +0 -1
  167. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/compile-js-data-uri.md +0 -1
  168. package/en/docusaurus-plugin-content-docs/current/configure/app/source/config-dir.md +23 -0
  169. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/define.md +0 -1
  170. package/en/docusaurus-plugin-content-docs/current/configure/app/source/design-system.md +1150 -0
  171. package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-default-entries.md +28 -0
  172. package/en/docusaurus-plugin-content-docs/current/configure/app/source/enable-async-entry.md +50 -0
  173. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries-dir.md +38 -0
  174. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries.md +62 -0
  175. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +12 -0
  176. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/global-vars.md +0 -1
  177. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/include.md +0 -1
  178. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/module-scopes.md +0 -1
  179. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/pre-entry.md +0 -1
  180. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/resolve-extension-prefix.md +0 -1
  181. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/resolve-main-fields.md +0 -1
  182. package/en/docusaurus-plugin-content-docs/current/configure/app/testing/transformer.md +18 -0
  183. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/autoprefixer.md +0 -1
  184. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/babel.md +0 -1
  185. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/css-extract.md +0 -1
  186. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/css-loader.md +0 -1
  187. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/dev-server.md +0 -1
  188. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/esbuild.md +61 -0
  189. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/html-plugin.md +0 -1
  190. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/inspector.md +0 -1
  191. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/jest.md +39 -0
  192. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/less.md +0 -1
  193. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/minify-css.md +0 -1
  194. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/postcss.md +0 -1
  195. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/pug.md +0 -1
  196. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/sass.md +0 -1
  197. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/style-loader.md +0 -1
  198. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/styled-components.md +0 -1
  199. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/tailwindcss.md +47 -0
  200. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/terser.md +0 -1
  201. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/ts-checker.md +0 -1
  202. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/ts-loader.md +0 -1
  203. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/webpack-chain.md +0 -1
  204. package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/webpack.md +0 -1
  205. package/en/docusaurus-plugin-content-docs/current/configure/app/usage.md +92 -0
  206. package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/_category_.json +0 -0
  207. package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/basic.md +0 -0
  208. package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/introduction.md +0 -0
  209. package/en/docusaurus-plugin-content-docs/current.json +262 -0
  210. package/package.json +7 -5
  211. package/scripts/config.ts +98 -0
  212. package/scripts/summary.en.json +1 -0
  213. package/scripts/summary.zh.json +1 -0
  214. package/scripts/sync.ts +26 -5
  215. package/zh/apis/app/commands/build.md +2 -2
  216. package/zh/apis/app/commands/dev.md +1 -1
  217. package/zh/apis/app/commands/index.md +1 -1
  218. package/zh/apis/app/commands/lint.md +2 -2
  219. package/zh/apis/app/commands/new.md +1 -1
  220. package/zh/apis/app/commands/start.md +1 -1
  221. package/zh/apis/app/commands/test.md +1 -1
  222. package/zh/apis/app/commands/upgrade.md +0 -2
  223. package/zh/apis/app/hooks/api/framework/_category_.json +1 -1
  224. package/zh/apis/app/hooks/api/framework/lambda.md +8 -33
  225. package/zh/apis/app/hooks/api/functions/_category_.json +1 -1
  226. package/zh/apis/app/hooks/api/functions/api.md +29 -2
  227. package/zh/apis/app/hooks/api/functions/app.md +5 -3
  228. package/zh/apis/app/hooks/api/functions/common.md +3 -5
  229. package/zh/apis/app/hooks/api/test.md +2 -4
  230. package/zh/apis/app/hooks/config/html.md +1 -3
  231. package/zh/apis/app/hooks/config/icon.md +2 -2
  232. package/zh/apis/app/hooks/config/mock.md +2 -8
  233. package/zh/apis/app/hooks/config/public.md +2 -4
  234. package/zh/apis/app/hooks/config/storybook.md +2 -4
  235. package/zh/apis/app/hooks/config/upload.md +1 -7
  236. package/zh/apis/app/hooks/modern-config.md +1 -3
  237. package/zh/apis/app/hooks/server/index_.md +12 -0
  238. package/zh/apis/app/hooks/server/test.md +3 -3
  239. package/zh/apis/app/hooks/shared.md +1 -2
  240. package/zh/apis/app/hooks/src/app.md +8 -4
  241. package/zh/apis/app/hooks/src/{index.md → index_.md} +2 -2
  242. package/zh/apis/app/hooks/src/pages.md +3 -4
  243. package/zh/apis/app/hooks/src/stories.md +2 -2
  244. package/zh/apis/app/hooks/src/test.md +1 -1
  245. package/zh/apis/app/overview.md +1 -1
  246. package/zh/apis/app/runtime/app/_category_.json +2 -2
  247. package/zh/apis/app/runtime/app/define-config.md +14 -10
  248. package/zh/apis/app/runtime/bff/_category_.json +4 -0
  249. package/zh/apis/app/runtime/bff/hook.md +43 -0
  250. package/zh/apis/app/runtime/bff/use-context.md +36 -0
  251. package/zh/apis/app/runtime/core/_category_.json +4 -0
  252. package/zh/apis/app/runtime/core/bootstrap.md +55 -0
  253. package/zh/apis/app/runtime/core/create-app.md +47 -0
  254. package/zh/apis/app/runtime/core/use-loader.md +83 -0
  255. package/zh/apis/app/runtime/core/use-module-apps.md +101 -0
  256. package/zh/apis/app/runtime/core/use-runtime-context.md +59 -0
  257. package/zh/apis/app/runtime/default-alias.md +4 -7
  258. package/zh/apis/app/runtime/env.md +22 -20
  259. package/zh/apis/app/runtime/model/Provider.md +6 -8
  260. package/zh/apis/app/runtime/model/_category_.json +1 -1
  261. package/zh/apis/app/runtime/model/auto-actions.md +1 -2
  262. package/zh/apis/app/runtime/model/connect.md +8 -5
  263. package/zh/apis/app/runtime/model/create-app.md +3 -4
  264. package/zh/apis/app/runtime/model/create-store.md +5 -3
  265. package/zh/apis/app/runtime/model/handle-effect.md +5 -5
  266. package/zh/apis/app/runtime/model/model_.md +3 -3
  267. package/zh/apis/app/runtime/model/use-local-model.md +2 -2
  268. package/zh/apis/app/runtime/model/use-model.md +6 -7
  269. package/zh/apis/app/runtime/model/use-static-model.md +2 -2
  270. package/zh/apis/app/runtime/model/use-store.md +3 -3
  271. package/zh/apis/app/runtime/router/_category_.json +4 -0
  272. package/zh/apis/app/runtime/{container → router}/router.md +0 -0
  273. package/zh/apis/app/runtime/ssr/_category_.json +4 -0
  274. package/zh/apis/app/runtime/ssr/no-ssr.md +41 -0
  275. package/zh/apis/app/runtime/ssr/pre-render.md +91 -0
  276. package/zh/apis/app/runtime/testing/_category_.json +1 -1
  277. package/zh/apis/app/runtime/testing/act.md +8 -8
  278. package/zh/apis/app/runtime/testing/cleanup.md +10 -9
  279. package/zh/apis/app/runtime/testing/render.md +43 -23
  280. package/zh/apis/app/runtime/testing/renderApp.md +8 -8
  281. package/zh/apis/app/runtime/utility/_category_.json +1 -1
  282. package/zh/apis/app/runtime/utility/css-in-js.md +17 -35
  283. package/zh/apis/app/runtime/{app → utility}/head.md +6 -10
  284. package/zh/apis/app/runtime/utility/{loadable/loadable_.md → loadable.md} +29 -56
  285. package/zh/apis/app/runtime/web-server/_category_.json +1 -1
  286. package/zh/apis/app/runtime/web-server/hook.md +100 -90
  287. package/zh/apis/app/runtime/web-server/middleware.md +106 -0
  288. package/zh/apis/monorepo/commands/bump.md +1 -1
  289. package/zh/apis/monorepo/commands/change.md +1 -1
  290. package/zh/apis/monorepo/commands/clear.md +1 -1
  291. package/zh/apis/monorepo/commands/deploy.md +1 -1
  292. package/zh/apis/monorepo/commands/gen-release-note.md +1 -1
  293. package/zh/apis/monorepo/commands/lint.md +1 -1
  294. package/zh/apis/monorepo/commands/new.md +1 -1
  295. package/zh/apis/monorepo/commands/pre.md +1 -1
  296. package/zh/apis/monorepo/commands/release.md +1 -1
  297. package/zh/configure/app/bff/fetcher.md +1 -2
  298. package/zh/configure/app/bff/prefix.md +2 -3
  299. package/zh/configure/app/bff/proxy.md +8 -13
  300. package/zh/configure/app/dev/asset-prefix.md +0 -1
  301. package/zh/configure/app/dev/hmr.md +0 -1
  302. package/zh/configure/app/dev/https.md +0 -1
  303. package/zh/configure/app/dev/port.md +0 -1
  304. package/zh/configure/app/dev/progress-bar.md +0 -1
  305. package/zh/configure/app/dev/proxy.md +2 -3
  306. package/zh/configure/app/dev/start-url.md +0 -1
  307. package/zh/configure/app/dev/with-master-app.md +0 -1
  308. package/zh/configure/app/experiments/lazy-compilation.md +12 -0
  309. package/zh/configure/app/html/app-icon.md +0 -1
  310. package/zh/configure/app/html/crossorigin.md +0 -1
  311. package/zh/configure/app/html/disable-html-folder.md +0 -1
  312. package/zh/configure/app/html/favicon-by-entries.md +0 -1
  313. package/zh/configure/app/html/favicon.md +0 -1
  314. package/zh/configure/app/html/inject-by-entries.md +0 -1
  315. package/zh/configure/app/html/inject.md +0 -1
  316. package/zh/configure/app/html/meta-by-entries.md +0 -1
  317. package/zh/configure/app/html/meta.md +0 -1
  318. package/zh/configure/app/html/mount-id.md +0 -1
  319. package/zh/configure/app/html/template-by-entries.md +0 -1
  320. package/zh/configure/app/html/template-parameters-by-entries.md +0 -1
  321. package/zh/configure/app/html/template-parameters.md +0 -1
  322. package/zh/configure/app/html/template.md +0 -1
  323. package/zh/configure/app/html/title-by-entries.md +0 -1
  324. package/zh/configure/app/html/title.md +0 -1
  325. package/zh/configure/app/output/asset-prefix.md +0 -1
  326. package/zh/configure/app/output/assets-retry.md +0 -1
  327. package/zh/configure/app/output/charset.md +0 -1
  328. package/zh/configure/app/output/clean-dist-path.md +0 -1
  329. package/zh/configure/app/output/convert-to-rem.md +0 -1
  330. package/zh/configure/app/output/copy.md +0 -1
  331. package/zh/configure/app/output/css-module-local-ident-name.md +0 -1
  332. package/zh/configure/app/output/data-uri-limit.md +0 -1
  333. package/zh/configure/app/output/disable-css-module-extension.md +0 -1
  334. package/zh/configure/app/output/disable-filename-hash.md +0 -1
  335. package/zh/configure/app/output/disable-inline-runtime-chunk.md +0 -1
  336. package/zh/configure/app/output/disable-minimize.md +0 -1
  337. package/zh/configure/app/output/disable-node-polyfill.md +2 -4
  338. package/zh/configure/app/output/disable-source-map.md +0 -1
  339. package/zh/configure/app/output/disable-ts-checker.md +12 -0
  340. package/zh/configure/app/output/dist-path.md +0 -1
  341. package/zh/configure/app/output/enable-asset-fallback.md +0 -1
  342. package/zh/configure/app/output/enable-asset-manifest.md +0 -1
  343. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +0 -1
  344. package/zh/configure/app/output/enable-inline-scripts.md +0 -1
  345. package/zh/configure/app/output/enable-inline-styles.md +0 -1
  346. package/zh/configure/app/output/enable-latest-decorators.md +0 -1
  347. package/zh/configure/app/output/enable-modern-mode.md +13 -5
  348. package/zh/configure/app/output/externals.md +0 -1
  349. package/zh/configure/app/output/filename.md +0 -1
  350. package/zh/configure/app/output/legal-comments.md +0 -1
  351. package/zh/configure/app/output/override-browserslist.md +0 -1
  352. package/zh/configure/app/output/polyfill.md +0 -1
  353. package/zh/configure/app/output/svg-default-export.md +0 -1
  354. package/zh/configure/app/performance/build-cache.md +0 -1
  355. package/zh/configure/app/performance/bundle-analyze.md +0 -1
  356. package/zh/configure/app/performance/chunk-split.md +0 -1
  357. package/zh/configure/app/performance/print-file-size.md +0 -1
  358. package/zh/configure/app/performance/profile.md +0 -1
  359. package/zh/configure/app/performance/remove-console.md +0 -1
  360. package/zh/configure/app/performance/remove-moment-locale.md +0 -1
  361. package/zh/configure/app/runtime/intro.md +92 -0
  362. package/zh/configure/app/runtime/master-app.md +8 -21
  363. package/zh/configure/app/runtime/router.md +4 -38
  364. package/zh/configure/app/runtime/state.md +10 -13
  365. package/zh/configure/app/security/sri.md +0 -1
  366. package/zh/configure/app/server/base-url.md +1 -2
  367. package/zh/configure/app/server/port.md +1 -2
  368. package/zh/configure/app/server/public-routes.md +1 -2
  369. package/zh/configure/app/server/routes.md +4 -5
  370. package/zh/configure/app/server/ssr-by-entries.md +2 -3
  371. package/zh/configure/app/server/ssr.md +1 -2
  372. package/zh/configure/app/source/alias.md +0 -1
  373. package/zh/configure/app/source/compile-js-data-uri.md +0 -1
  374. package/zh/configure/app/source/config-dir.md +12 -4
  375. package/zh/configure/app/source/define.md +0 -1
  376. package/zh/configure/app/source/design-system.md +14 -24
  377. package/zh/configure/app/source/disable-default-entries.md +8 -3
  378. package/zh/configure/app/source/enable-async-entry.md +3 -3
  379. package/zh/configure/app/source/entries-dir.md +1 -1
  380. package/zh/configure/app/source/entries.md +16 -9
  381. package/zh/configure/app/source/exclude.md +12 -0
  382. package/zh/configure/app/source/global-vars.md +0 -1
  383. package/zh/configure/app/source/include.md +0 -1
  384. package/zh/configure/app/source/module-scopes.md +0 -1
  385. package/zh/configure/app/source/pre-entry.md +0 -1
  386. package/zh/configure/app/source/resolve-extension-prefix.md +0 -1
  387. package/zh/configure/app/source/resolve-main-fields.md +0 -1
  388. package/zh/configure/app/testing/transformer.md +2 -4
  389. package/zh/configure/app/tools/autoprefixer.md +0 -1
  390. package/zh/configure/app/tools/babel.md +0 -1
  391. package/zh/configure/app/tools/css-extract.md +0 -1
  392. package/zh/configure/app/tools/css-loader.md +0 -1
  393. package/zh/configure/app/tools/dev-server.md +0 -1
  394. package/zh/configure/app/tools/esbuild.md +5 -5
  395. package/zh/configure/app/tools/html-plugin.md +0 -1
  396. package/zh/configure/app/tools/inspector.md +0 -1
  397. package/zh/configure/app/tools/jest.md +2 -4
  398. package/zh/configure/app/tools/less.md +0 -1
  399. package/zh/configure/app/tools/minify-css.md +0 -1
  400. package/zh/configure/app/tools/postcss.md +0 -1
  401. package/zh/configure/app/tools/pug.md +0 -1
  402. package/zh/configure/app/tools/sass.md +0 -1
  403. package/zh/configure/app/tools/style-loader.md +0 -1
  404. package/zh/configure/app/tools/styled-components.md +0 -1
  405. package/zh/configure/app/tools/terser.md +0 -1
  406. package/zh/configure/app/tools/ts-checker.md +0 -1
  407. package/zh/configure/app/tools/ts-loader.md +0 -1
  408. package/zh/configure/app/tools/webpack-chain.md +0 -1
  409. package/zh/configure/app/tools/webpack.md +0 -1
  410. package/zh/configure/app/usage.md +15 -4
  411. package/zh/guides/advanced-features/bff/bff-server.md +1 -1
  412. package/zh/guides/advanced-features/bff/frameworks.md +0 -221
  413. package/zh/guides/advanced-features/code-split.md +1 -1
  414. package/zh/guides/advanced-features/low-level.md +2 -2
  415. package/zh/guides/advanced-features/ssg.md +2 -2
  416. package/zh/guides/advanced-features/ssr.md +4 -4
  417. package/zh/guides/basic-features/alias.md +1 -1
  418. package/zh/guides/basic-features/css/postcss.md +1 -1
  419. package/zh/guides/basic-features/css/tailwindcss.md +2 -2
  420. package/zh/guides/basic-features/env-vars.md +2 -3
  421. package/zh/guides/basic-features/proxy.md +2 -2
  422. package/zh/guides/topic-detail/compile-speed.md +5 -5
  423. package/zh/guides/topic-detail/generator/_category_.json +4 -0
  424. package/zh/guides/topic-detail/generator/codesmith/_category_.json +4 -0
  425. package/zh/guides/topic-detail/generator/codesmith/introduce.md +5 -0
  426. package/zh/guides/topic-detail/generator/config/_category_.json +4 -0
  427. package/zh/{configure/generator/introduce.md → guides/topic-detail/generator/config/common.md} +35 -42
  428. package/zh/{configure/generator → guides/topic-detail/generator/config}/module.md +7 -11
  429. package/zh/{configure/generator → guides/topic-detail/generator/config}/monorepo.md +4 -4
  430. package/zh/{configure/generator → guides/topic-detail/generator/config}/mwa.md +11 -45
  431. package/zh/guides/topic-detail/generator/plugin/_category_.json +4 -0
  432. package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/abstract.md +0 -0
  433. package/zh/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
  434. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/_category_.json +0 -0
  435. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addFile.md +1 -1
  436. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addHelper.md +0 -0
  437. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addManyFile.md +1 -1
  438. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addPartial.md +0 -0
  439. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/introduce.md +0 -0
  440. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/rmDir.md +0 -0
  441. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/rmFile.md +0 -0
  442. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateJSONFile.md +0 -0
  443. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateModernConfig.md +0 -0
  444. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateTextRawFile.md +0 -0
  445. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/_category_.json +0 -0
  446. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/gitAddAndCommit.md +0 -0
  447. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/initGitRepo.md +0 -0
  448. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/isInGitRepo.md +0 -0
  449. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/_category_.json +0 -0
  450. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/afterForged.md +1 -1
  451. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/onForged.md +1 -1
  452. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/_category_.json +0 -0
  453. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/isFileExit.md +0 -0
  454. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/locale.md +0 -0
  455. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/readDir.md +0 -0
  456. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/_category_.json +0 -0
  457. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/addInputAfter.md +14 -6
  458. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/addInputBefore.md +14 -6
  459. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/setInput.md +2 -2
  460. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/setInputValue.md +0 -0
  461. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
  462. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/introduce.md +0 -0
  463. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/_category_.json +0 -0
  464. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/createElement.md +1 -1
  465. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/createSubProject.md +1 -1
  466. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/enableFunc.md +1 -3
  467. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/introduce.md +3 -3
  468. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/npm/_category_.json +0 -0
  469. package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/npm/install.md +0 -0
  470. package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/develop.md +4 -4
  471. package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/use.md +0 -0
  472. package/zh/guides/topic-detail/generator/project.md +117 -0
  473. package/zh/guides/topic-detail/micro-frontend/debugging.md +5 -5
  474. package/zh/guides/topic-detail/micro-frontend/route-mode.md +2 -2
  475. package/zh/guides/troubleshooting/compile.md +3 -3
  476. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +2 -2
  477. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +4 -4
  478. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +3 -3
  479. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +2 -2
  480. package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +1 -1
  481. package/scripts/gen-config.ts +0 -60
  482. package/zh/apis/app/hooks/api/framework/app.md +0 -100
  483. package/zh/apis/app/hooks/server/index.md +0 -14
  484. package/zh/apis/app/hooks/src/error.md +0 -10
  485. package/zh/apis/app/hooks/src/eslint.md +0 -9
  486. package/zh/apis/app/runtime/app/bootstrap.md +0 -83
  487. package/zh/apis/app/runtime/app/create-app.md +0 -47
  488. package/zh/apis/app/runtime/app/no-ssr.md +0 -41
  489. package/zh/apis/app/runtime/app/pre-render.md +0 -77
  490. package/zh/apis/app/runtime/app/use-module-app.md +0 -60
  491. package/zh/apis/app/runtime/app/use-module-apps.md +0 -64
  492. package/zh/apis/app/runtime/app/use-runtime-context.md +0 -39
  493. package/zh/apis/app/runtime/bff-server/_category_.json +0 -4
  494. package/zh/apis/app/runtime/bff-server/after-lambda-registed.md +0 -35
  495. package/zh/apis/app/runtime/bff-server/hook.md +0 -120
  496. package/zh/apis/app/runtime/bff-server/use-context.md +0 -70
  497. package/zh/apis/app/runtime/container/_category_.json +0 -4
  498. package/zh/apis/app/runtime/container/use-loader.md +0 -64
  499. package/zh/apis/app/runtime/utility/loadable/_category_.json +0 -4
  500. package/zh/apis/app/runtime/utility/loadable/lazy.md +0 -29
  501. package/zh/apis/app/runtime/utility/loadable/loadable-component.md +0 -61
  502. package/zh/apis/app/runtime/utility/loadable/loadable-library.md +0 -67
  503. package/zh/apis/generator/plugin/_category_.json +0 -4
  504. package/zh/apis/generator/plugin/input/addOptionAfter.md +0 -45
  505. package/zh/apis/generator/plugin/input/addOptionBefore.md +0 -45
  506. package/zh/apis/generator/plugin/input/type.md +0 -101
  507. package/zh/guides/topic-detail/generator-plugin/_category_.json +0 -4
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: index.[tj]s
3
+ sidebar_position: 1
4
+ ---
5
+
6
+ A file that extends the Modern.js Web Server, to add a Hook or Middleware to the Web Server that the project uses.
7
+
8
+ It can intercept requests and responses, authenticate and role, request preprocessing, exception bottom-up, etc.;
9
+
10
+ It can also be inserted logic into the built-in processing handler (including route matching, resource addressing, header injection, page rendering, static web hosting).
11
+
12
+ :::info
13
+ For detail, see [Hook](/docs/apis/app/runtime/web-server/hook) & [Middleware](/docs/apis/app/runtime/web-server/middleware)。
14
+ :::
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: test.[tj]s
3
+ sidebar_position: 2
4
+ ---
5
+
6
+ App's Web Server test file,support for writing test cases in the `server/` directory which file with suffix `.test.[tj]s`.
7
+
8
+ :::info
9
+ To use unit test and integration test, you need to execute the `new` command in advance to enable the `unit test/integration test`.
10
+ :::
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: shared/
3
+ sidebar_position: 5
4
+ ---
5
+
6
+ Shared directory. When the project has common code under `api/`, `server/`, `src/`, put the code under this directory rather then import directly.
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "src/",
3
+ "position": 1
4
+ }
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: App.[tj]sx
3
+ sidebar_position: 1
4
+ ---
5
+
6
+ Entry identifier if App want control route by code.
7
+
8
+ `App.[tj]sx` is not the actual App entry, Modern.js will auto generate the entry file, the content is roughly as follows:
9
+
10
+ ```js
11
+ import React from 'react';
12
+ import { createApp, bootstrap } from '@modern-js/runtime';
13
+ // App.[jt]sx
14
+ import App from '@_modern_js_src/App';
15
+ import { state } from '@modern-js/runtime/plugins';
16
+ import { immer, effects, autoActions, devtools } from '@modern-js/runtime/model';
17
+
18
+ const createStatePlugins = (config) => {
19
+ const plugins = [];
20
+ plugins.push(immer(config['immer']));
21
+ plugins.push(effects(config['effects']));
22
+ plugins.push(autoActions(config['autoActions']));
23
+ plugins.push(devtools(config['devtools']));
24
+ return plugins;
25
+ }
26
+ let AppWrapper = null;
27
+ function render() {
28
+ AppWrapper = createApp({
29
+ plugins: [
30
+ state({...{plugins: createStatePlugins(true)}, ...App?.config?.state}),
31
+ ]
32
+ })(App)
33
+ if (IS_BROWSER) {
34
+ bootstrap(AppWrapper, MOUNT_ID);
35
+ }
36
+ return AppWrapper
37
+ }
38
+ AppWrapper = render();
39
+ export default AppWrapper;;
40
+ ```
41
+
42
+ :::note
43
+ In multi-entry App,each entry can have a `App.[jt]sx`, for detail, see [Entry](/docs/guides/concept/entries).
44
+ :::
45
+
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: index.[tj]s
3
+ sidebar_position: 3
4
+ ---
5
+
6
+ Entry identifier if App want use custom entry. In most case, [`App.[tj]sx`](/docs/apis/app/hooks/src/app) hook file can already meet our needs.
7
+
8
+ When we need to add custom behavior before `bootstrap` or completely take over the webpack entry, we can place `index.[tj]s` in `src/` or entry directory. The following are discussed in two cases:
9
+
10
+
11
+ 1. add custom behavior before bootstrap
12
+
13
+ Just add default export under `src/index.[tj]s`:
14
+
15
+ ```js title=src/index.js
16
+ import { bootstrap } from '@modern-js/runtime';
17
+
18
+ export default App => {
19
+ // do something before bootstrap...
20
+ bootstrap(App, 'root');
21
+ };
22
+ ```
23
+
24
+ 2. Fully take over the webpack entry
25
+
26
+ When there is no default export function under `src/index.[tj]sx?`, this file is the real webpack entry file, and the code can be organized such as create-react-app:
27
+
28
+ ```js title=src/index.jsx
29
+ import React from 'react';
30
+ import ReactDOM from 'react-dom';
31
+ import App from './App';
32
+
33
+ ReactDOM.render(<App />, document.getElementById('root'));
34
+ ```
@@ -0,0 +1,180 @@
1
+ ---
2
+ title: pages/
3
+ sidebar_position: 2
4
+ ---
5
+
6
+ Entry identifier if the application want uses file system-based routing.
7
+
8
+ When the entry is the **Pages entry** type, the files in the `pages/` directory will be analyzed to client side routing.
9
+
10
+ For example, the following directory:
11
+
12
+ ```bash
13
+ .
14
+ └── src
15
+ └── pages
16
+ ├── about
17
+ │ └── index.jsx
18
+ ├── index.jsx
19
+ └── info.jsx
20
+ ```
21
+
22
+ The generated route is configured as:
23
+
24
+ ```bash
25
+ [
26
+ { path: '/', component: 'pages/index.jsx' },
27
+ { path: '/info' component: 'pages/info.jsx' },
28
+ { path: '/about', component: 'pages/about/index.jsx' }
29
+ ]
30
+ ```
31
+
32
+ Files match the following conditions will not be treated as routing files:
33
+
34
+ - suffix is not `.(j|t)sx?`.
35
+ - `.d.ts` type definition file.
36
+ - test file suffix like `.(test|spec|e2e).(j|t)sx?`.
37
+
38
+ :::tip
39
+ it is recommended to write only the routing files in the `pages/`, and write the business logic to the independent features directory outside the `pages/`. In this way, most of the files in the pages directory will be routing files, and there is no need for additional filtering rules.
40
+ :::
41
+
42
+ ### Dynamic Routing
43
+
44
+ Directories or files wrapped with `[]` are considered dynamic routing.
45
+
46
+ For example the following directory structure:
47
+
48
+ ```bash
49
+ .
50
+ └── src
51
+ └── pages
52
+ ├── [post]
53
+ │ ├── detail.jsx
54
+ │ └── index.js
55
+ ├── users
56
+ │ └── [id].jsx
57
+ ├── index.jsx
58
+ └── info.jsx
59
+ ```
60
+
61
+ The generated route is configured as:
62
+
63
+ ```js
64
+ [
65
+ { path: '/', component: 'pages/index.jsx' },
66
+ { path: '/info', component: 'pages/info.jsx' },
67
+ { path: '/:post/', component: 'pages/[post]/index.js' },
68
+ { path: '/:post/detail' components: 'pages/[post]/detail.jsx'},
69
+ { path: '/users/:id', components: 'pages/users/[id].jsx'}
70
+ ]
71
+ ```
72
+
73
+ Basis dynamic routing, it supports adding special routing suffixes `(*、?、+)`.
74
+
75
+ For example: `src/pages/users/[id]*.tsx` generate route `/users/:id*`
76
+
77
+ ### Global Layout
78
+
79
+ When the entire App needs a global `layout`, it can be achieved through `pages/_app.tsx`, which as follows:
80
+
81
+ ```js
82
+ import React from 'react';
83
+ import UserLayout from 'xxxx';
84
+
85
+ export default const App = ({Component, ...pageProps}:{ Component: React.ComponentType}) => {
86
+ return (
87
+ <UserLayout>
88
+ <Component {...pageProps} />
89
+ </UserLayout>
90
+ );
91
+ }
92
+ ```
93
+
94
+ The above `Component` is the component to which the route is accessed.
95
+
96
+ For example the following directory structure:
97
+
98
+ ```bash
99
+ .
100
+ └── pages
101
+ ├── a
102
+ │ ├── b
103
+ │ │ └── index.js
104
+ │ └── index.js
105
+ └── index.js
106
+ ```
107
+
108
+ - access `/`, the `Component` is `pages/index.js`。
109
+ - access `/a`, the `Component` is `pages/a/index.js`。
110
+ - access `/a/b`, the `Component` is `pages/a/b/index.js`。
111
+
112
+ :::tip Advantages
113
+
114
+ - preserve the state of the global layout when the page changes.
115
+ - add global css.
116
+ - handle ComponentDidCatch error
117
+ - use `defineConfig`(/docs/apis/app/runtime/app/define-config) dynamic configuration runtime.
118
+
119
+ :::
120
+
121
+ ### Partial Layout
122
+
123
+ When developing an App, where sub routes under the same route may share the layout.
124
+
125
+ For this scene, Modern.js convention, when there is a `_layout.js` in the directory, the routes can shared this layout.
126
+
127
+ For example the following directory structure:
128
+
129
+ ```bash
130
+ └── pages
131
+ ├── a
132
+ │ ├── b
133
+ │ │ └── index.js
134
+ │ ├── _layout.js
135
+ │ └── index.js
136
+ └── index.js
137
+ ```
138
+
139
+ ```js title="pages/a/_layout.js"
140
+ import React from 'react';
141
+
142
+ const ALayout = ({ Component, ...pageProps }) => {
143
+ return <Component {...pageProps} />;
144
+ };
145
+ export default ALayout;
146
+ ```
147
+
148
+ The Component props is the specific route, for example
149
+
150
+ - access `/a`, the `Component` is `pages/a/index.js`。
151
+ - 访问 `/a/b`, the `Component` is `pages/a/b/index.js`。
152
+
153
+ In this way, you can use `pages/a/_layout.js` to display the routing common layout in the `a` directory.
154
+
155
+ ### 404 路由
156
+
157
+ The convention `pages/404.[tj]sx` is the default 404 route.
158
+
159
+ For example the following directory structure:
160
+
161
+ ```bash
162
+ .
163
+ └── src
164
+ └── pages
165
+ ├── user.js
166
+ ├── home.js
167
+ ├── 404.js
168
+ ```
169
+
170
+ the generated route is configured is as:
171
+
172
+ ```bash
173
+ [
174
+ { path: '/user', component: './pages/user.js'},
175
+ { path: '/home', component: './pages/home.js' },
176
+ { path: '*', component: './pages/404.js'}
177
+ ]
178
+ ```
179
+
180
+ All unmatched routes will match to `pages/404.[tj]s`。
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: "**/*.stories.[tj]sx"
3
+ sidebar_position: 7
4
+ ---
5
+
6
+ App Storybook debug file. files in `src/` which suffix `*.stories.[tj]sx` are as debug files for Storybook.
7
+
8
+ Execute the `dev story` command to debugging these files in the Storybook.
9
+
10
+ :::info
11
+ Using a Storybook requires executing `new` command to enable the 「Visual Testing (Storybook)」 mode.
12
+ :::
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: "**/*.test.[tj]sx?"
3
+ sidebar_position: 6
4
+ ---
5
+
6
+ App test file.
7
+
8
+ The App supports the file suffixed with `.test.[tj]sx` under the `src/` to write test cases.
9
+
10
+ :::info
11
+ To use unit test and integration test, you need to execute the `new` command in advance to enable the `unit test/integration test`.
12
+ :::
@@ -0,0 +1,12 @@
1
+ ---
2
+ sidebar_position: 0
3
+ ---
4
+
5
+ # Overview
6
+
7
+ This section covers all APIs in `@modern-js/app-tools`.
8
+
9
+ import OverviewNav from '@site/src/components/OverviewNav';
10
+ import sidebarData from '@site/plugins/overview-loader!@site/plugins/overview-data.json';
11
+
12
+ <OverviewNav cards={sidebarData.docsSidebars.apisAppSidebar} />
@@ -0,0 +1,9 @@
1
+ {
2
+ "label": "运行时",
3
+ "position": 3,
4
+ "collapsed": false,
5
+ "link": {
6
+ "type": "doc",
7
+ "id": "apis/app/runtime/index"
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "APP API",
3
+ "position": 4
4
+ }
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: defineConfig
3
+ ---
4
+
5
+ For dynamically configuring applications runtime features.
6
+
7
+ ## Usage
8
+
9
+ ```ts
10
+ import { defineConfig } from '@modern-js/runtime';
11
+ ```
12
+
13
+ Runtime configurations can usually be configured under the `runtime` of the `modern.config.js`, such as the [router](/docs/configure/app/runtime/router) configuration.
14
+
15
+ The configuration in `modern.config.js` is determined at build time,If some configuration parameters are obtained at runtime, or if the configuration parameters are from a module (such as a component), then need use `defineConfig` API configuration on runtime.
16
+
17
+ :::info
18
+ `@modern-js/app-tools` has the same name API, Used to provide **TS type for configuration**, please distinguish them.
19
+ :::
20
+
21
+ ## Function Signature
22
+
23
+ ```ts
24
+ function defineConfig(Component, config): any;
25
+ ```
26
+
27
+ ### Input
28
+
29
+ - Component: App root Component。
30
+ - config: runtime config。
31
+
32
+ ## Example
33
+
34
+ ```tsx
35
+ function App () {
36
+ ...
37
+ }
38
+
39
+ defineConfig(App, {
40
+ router: {
41
+ supportHtml5History: false
42
+ }
43
+ })
44
+ ```
45
+
46
+
47
+ 1. `defineConfig` can configuring [runtime.state](/docs/configure/app/runtime/state)、[runtime.router](/docs/configure/app/runtime/router) etc.
48
+
49
+ 2. `defineConfig` before configuring a property, such as `router`, you need to make sure that the `modern.config.js` has been configured to enable this feature.
50
+
51
+ 3. `defineConfig` incoming configuration will be merged with the configuration in `modern.config.js`. Taking `router` as an example, the final application configuration is as follows:
52
+
53
+ ```json
54
+ {
55
+ // 来自 `modern.config.js`
56
+ ...runtime.router
57
+ // 来自 `defineConfig`
58
+ ...config.router
59
+ }
60
+ ```
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "BFF API",
3
+ "position": 8
4
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: hook
3
+ ---
4
+
5
+ Used to add framework middleware under BFF function mode, the middleware will execute before BFF function.
6
+
7
+ ## Usage
8
+
9
+ according to the framework extend plugin, export from the corresponding namespace:
10
+
11
+ ```ts
12
+ import { hook } from '@modern-js/runtime/{namespace}';
13
+ ```
14
+
15
+ ## Function Signature
16
+
17
+ ```ts
18
+ type HookOptions = {
19
+ addMiddleware: string | function
20
+ }
21
+
22
+ function hook(options: HookOptions): void
23
+ ```
24
+
25
+ ### Input
26
+
27
+ - `options`: a range of hooks provided by Modern.js.
28
+ - `addMiddleware`: add middlewares for BFF.
29
+
30
+ ## Example
31
+
32
+ middleware for different frameworks should be different(an example is when using the koa framework):
33
+
34
+ ```ts title=api/_app.ts
35
+ import { hook } from '@modern-js/runtime/koa';
36
+
37
+ export default hook(({ addMiddleware }) => {
38
+ addMiddleware(async (ctx, next) => {
39
+ ctx.req.query.id = 'koa';
40
+ await next();
41
+ });
42
+ });
43
+ ```
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: useContext
3
+ ---
4
+
5
+ Used to get the request context in the BFF function.
6
+
7
+ ## Usage
8
+
9
+ according to the framework extend plugin, export from the corresponding namespace:
10
+
11
+ ```ts
12
+ import { useContext } from '@modern-js/runtime/{namespace}';
13
+ ```
14
+
15
+ ## Function Signature
16
+
17
+ `function useContext(): any`
18
+
19
+ ## Example
20
+
21
+ Developers can get more request information through `context`, such as browser UA(an example is when using the koa framework):
22
+
23
+ ```ts
24
+ import { useContext } from '@modern-js/runtime/koa';
25
+
26
+ export async function get() {
27
+ const ctx = useContext();
28
+ return ctx.req.headers['user-agent'];
29
+ }
30
+ ```
31
+
32
+ :::caution
33
+ only in BFF function, `useContext` API can be used.
34
+ :::
35
+
36
+ Although the `useContext` API is supported in any framework extend plugin, the types of return values are different.
@@ -0,0 +1,5 @@
1
+ {
2
+ "label": "Core API",
3
+ "sidebar-labale": "111",
4
+ "position": 3
5
+ }
@@ -0,0 +1,55 @@
1
+ ---
2
+ title: bootstrap
3
+ ---
4
+
5
+ Used to start and mount App, usually without manual calls。This API is only required when using [Custom App](/docs/guides/advanced-features/custom-app).
6
+
7
+ ## Usage
8
+
9
+ ```ts
10
+ import { bootstrap } from '@modern-js/runtime';
11
+
12
+ bootstrap(App, 'root');
13
+ ```
14
+
15
+ ## Function Signature
16
+
17
+ ```ts
18
+ function bootstrap(AppComponent: React.ComponentType<any>, rootId: string): React.ComponentType<any> | void
19
+ ```
20
+
21
+ ### Input
22
+
23
+ - `AppComponent`: reactElement instance created by [`createApp`](./create-app).
24
+ - `rootId`: DOM root element id to mount,like `"root"`.
25
+
26
+ ## Example
27
+
28
+ ```tsx
29
+ import { createApp, bootstrap } from '@modern-js/runtime';
30
+ import { router, state } from '@modern-js/runtime/plugins';
31
+
32
+ function App() {
33
+ return <div>Hello Modern.js</div>;
34
+ }
35
+
36
+ const WrappedApp = createApp({
37
+ // customized plugin
38
+ plugins: [router({}), state({})],
39
+ })(App);
40
+
41
+ bootstrap(WrappedApp, 'root');
42
+
43
+ ```
44
+
45
+ :::info
46
+ since `@modern-js/runtime/plugins` is a alias,when used in a ts project, its type needs to be declared,Just add the following type declarations to `src/modern-app-env.d.ts`:
47
+
48
+ ```ts
49
+ declare module '@modern-js/runtime/plugins';
50
+ ```
51
+ :::
52
+
53
+ :::warning
54
+ bootstrap only supported for use in CSR.
55
+ :::
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: createApp
3
+ ---
4
+
5
+ Used to create custom entries, custom runtime plugins. This API is only required when using [Custom App](/docs/guides/advanced-features/custom-app).
6
+
7
+ ## Usage
8
+
9
+ ```ts
10
+ import { createApp } from '@modern-js/runtime';
11
+ ```
12
+
13
+ ## Function Signature
14
+
15
+ ```ts
16
+ import type { Plugin } from '@modern-js/runtime';
17
+
18
+ function createApp(options: { plugins: Plugin[] }): React.ComponentType<any>;
19
+ ```
20
+
21
+ ### Input
22
+
23
+ - `options`: optional configuration.
24
+ - `plugins`: custom plugin extensions.
25
+
26
+ ## Example
27
+
28
+ ### Create Custom Entry
29
+
30
+ For details, see [`bootstrap`](./bootstrap.md)。
31
+
32
+ ### Custom Plugins
33
+
34
+ ```ts
35
+ import { createApp } from '@modern-js/runtime';
36
+
37
+ function App() {
38
+ return <div>app</div>;
39
+ }
40
+
41
+ export default createApp({
42
+ plugins: [
43
+ router({}),
44
+ state({}),
45
+ ]
46
+ })(App);
47
+ ```