@modern-js/main-doc 2.0.2 → 2.1.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 (525) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/index.md +0 -5
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/serve.md +2 -4
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/lambda.md +12 -12
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/api.md +13 -13
  7. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/app.md +0 -2
  8. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/common.md +1 -3
  9. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/app.md +16 -9
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/index_.md +0 -1
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/routes.md +5 -3
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/server.md +6 -4
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/stories.md +2 -2
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/test.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/define-config.md +0 -1
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/hook.md +3 -3
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +3 -6
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/create-app.md +1 -3
  19. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-loader.md +2 -2
  20. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-module-apps.md +58 -51
  21. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-runtime-context.md +3 -4
  22. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/index.md +0 -5
  23. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/Provider.md +1 -1
  24. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +8 -5
  25. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -3
  26. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +3 -3
  27. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +0 -1
  28. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +0 -3
  29. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +0 -2
  30. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/router.md +23 -54
  31. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/no-ssr.md +1 -8
  32. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/pre-render.md +10 -6
  33. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/render.md +0 -2
  34. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/css-in-js.md +2 -2
  35. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/head.md +3 -5
  36. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/loadable.md +14 -15
  37. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/hook.md +4 -5
  38. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/middleware.md +7 -6
  39. package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +3 -2
  40. package/en/docusaurus-plugin-content-docs/current/components/debug-app.md +17 -0
  41. package/en/docusaurus-plugin-content-docs/current/components/enable-bff.md +10 -14
  42. package/en/docusaurus-plugin-content-docs/current/components/enable-micro-frontend.md +4 -4
  43. package/en/docusaurus-plugin-content-docs/current/components/global-proxy-config.md +6 -9
  44. package/en/docusaurus-plugin-content-docs/current/components/global-proxy.md +0 -1
  45. package/en/docusaurus-plugin-content-docs/current/components/micro-master-manifest-config.md +2 -2
  46. package/en/docusaurus-plugin-content-docs/current/components/micro-runtime-config.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/components/prerequisites.md +19 -0
  48. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +0 -1
  49. package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +1 -1
  50. package/en/docusaurus-plugin-content-docs/current/components/router-legacy-tip.md +0 -1
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/auto-load-plugin.md +8 -9
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/prefix.md +6 -6
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/proxy.md +8 -9
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/builder-plugins.md +6 -6
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/deploy/microFrontend.md +11 -13
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +2 -2
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +2 -2
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +2 -2
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +2 -2
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +2 -2
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/proxy.md +0 -1
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +2 -2
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +2 -2
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +2 -2
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +2 -2
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +2 -2
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +2 -2
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +2 -2
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +2 -2
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +2 -2
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +2 -2
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +2 -2
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +2 -2
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags-by-entries.md +12 -0
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags.md +12 -0
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +2 -2
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +2 -2
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +2 -2
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +2 -2
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +2 -2
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +2 -2
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +2 -2
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +2 -2
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +2 -2
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +2 -2
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +2 -2
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +2 -2
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +2 -2
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +2 -2
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +2 -2
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +2 -2
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +2 -2
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +2 -2
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +2 -2
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-node-polyfill.md +8 -6
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +2 -2
  97. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +2 -2
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +2 -2
  99. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +2 -2
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +2 -2
  101. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
  102. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +2 -2
  103. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +2 -2
  104. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +2 -2
  105. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +2 -2
  106. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +2 -2
  107. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +2 -2
  108. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +2 -2
  109. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +2 -2
  110. package/en/docusaurus-plugin-content-docs/current/configure/app/output/ssg.md +3 -2
  111. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +2 -2
  112. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +2 -2
  113. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +2 -2
  114. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +2 -2
  115. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +2 -2
  116. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +2 -2
  117. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +2 -2
  118. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +2 -2
  119. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +6 -6
  120. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/intro.md +11 -10
  121. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/master-app.md +1 -2
  122. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +7 -7
  123. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/state.md +15 -15
  124. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +2 -2
  125. package/en/docusaurus-plugin-content-docs/current/configure/app/server/base-url.md +3 -4
  126. package/en/docusaurus-plugin-content-docs/current/configure/app/server/enable-framework-ext.md +5 -4
  127. package/en/docusaurus-plugin-content-docs/current/configure/app/server/port.md +24 -4
  128. package/en/docusaurus-plugin-content-docs/current/configure/app/server/public-routes.md +6 -6
  129. package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +7 -7
  130. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr-by-entries.md +5 -5
  131. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr.md +4 -4
  132. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +2 -2
  133. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +2 -2
  134. package/en/docusaurus-plugin-content-docs/current/configure/app/source/config-dir.md +2 -2
  135. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +2 -2
  136. package/en/docusaurus-plugin-content-docs/current/configure/app/source/design-system.md +656 -634
  137. package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-default-entries.md +1 -1
  138. package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-entry-dirs.md +8 -8
  139. package/en/docusaurus-plugin-content-docs/current/configure/app/source/enable-async-entry.md +1 -1
  140. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries-dir.md +7 -7
  141. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries.md +4 -6
  142. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +2 -2
  143. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +2 -2
  144. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +2 -2
  145. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +2 -2
  146. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +2 -2
  147. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +2 -2
  148. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +2 -2
  149. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +2 -2
  150. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +2 -2
  151. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +2 -2
  152. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +2 -2
  153. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +2 -2
  154. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +2 -2
  155. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +2 -2
  156. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/jest.md +9 -9
  157. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +2 -2
  158. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +2 -2
  159. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +2 -2
  160. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +2 -2
  161. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +2 -2
  162. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +2 -2
  163. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +2 -2
  164. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +12 -1
  165. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +2 -2
  166. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +2 -2
  167. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +2 -2
  168. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +2 -2
  169. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +2 -2
  170. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/frameworks.md +6 -6
  171. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/function.md +44 -38
  172. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/index.md +9 -9
  173. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/type.md +0 -1
  174. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/code-split.md +3 -4
  175. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/compatibility.md +6 -7
  176. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/eslint.md +0 -1
  177. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/index.md +0 -5
  178. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/low-level.md +17 -19
  179. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssg.md +8 -10
  180. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssr.md +5 -11
  181. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/testing.md +3 -3
  182. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/web-server.md +3 -4
  183. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/alias.md +7 -11
  184. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +6 -6
  185. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +2 -2
  186. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +1 -2
  187. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +43 -47
  188. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +3 -3
  189. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +106 -192
  190. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/env-vars.md +8 -8
  191. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/html.md +55 -47
  192. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/mock.md +4 -4
  193. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/proxy.md +4 -5
  194. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +90 -9
  195. package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +1 -2
  196. package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +2 -2
  197. package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +1 -1
  198. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/extend.md +13 -13
  199. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook-list.md +2 -2
  200. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook.md +57 -54
  201. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/implement.md +11 -11
  202. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/lifecycle.md +0 -1
  203. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
  204. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +33 -33
  205. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +3 -3
  206. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +3 -3
  207. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +3 -2
  208. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +3 -4
  209. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +9 -12
  210. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +2 -3
  211. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +4 -3
  212. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
  213. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +13 -11
  214. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +18 -27
  215. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +1 -4
  216. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
  217. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -5
  218. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +0 -1
  219. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -4
  220. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -3
  221. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
  222. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  223. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
  224. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +11 -12
  225. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +8 -8
  226. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +1 -2
  227. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
  228. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c02-development.md +18 -21
  229. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
  230. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
  231. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
  232. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/auto-actions.md +0 -1
  233. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/computed-state.md +0 -2
  234. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/define-model.md +3 -6
  235. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/faq.md +2 -5
  236. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/manage-effects.md +2 -5
  237. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/model-communicate.md +1 -4
  238. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/performance.md +1 -5
  239. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/quick-start.md +0 -6
  240. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/redux-integration.md +3 -2
  241. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/test-model.md +1 -1
  242. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/typescript-best-practice.md +13 -14
  243. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-model.md +14 -12
  244. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
  245. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c01-start.md +19 -19
  246. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c02-component.md +11 -11
  247. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c03-css.md +52 -55
  248. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c04-routes.md +23 -23
  249. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c05-loader.md +12 -11
  250. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c06-model.md +28 -28
  251. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c07-container.md +25 -26
  252. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c08-entries.md +36 -38
  253. package/en/docusaurus-plugin-content-docs/current.json +3 -47
  254. package/package.json +3 -3
  255. package/scripts/config.ts +4 -2
  256. package/scripts/summary.en.json +1 -1
  257. package/scripts/summary.zh.json +1 -1
  258. package/scripts/sync.ts +1 -1
  259. package/zh/apis/app/commands/index.md +0 -5
  260. package/zh/apis/app/commands/lint.md +1 -1
  261. package/zh/apis/app/commands/serve.md +2 -4
  262. package/zh/apis/app/hooks/api/framework/lambda.md +12 -12
  263. package/zh/apis/app/hooks/api/functions/api.md +13 -13
  264. package/zh/apis/app/hooks/api/functions/app.md +0 -2
  265. package/zh/apis/app/hooks/api/functions/common.md +1 -1
  266. package/zh/apis/app/hooks/index.md +0 -5
  267. package/zh/apis/app/hooks/shared.md +0 -1
  268. package/zh/apis/app/hooks/src/app.md +16 -9
  269. package/zh/apis/app/hooks/src/index_.md +0 -2
  270. package/zh/apis/app/hooks/src/routes.md +6 -7
  271. package/zh/apis/app/hooks/src/server.md +6 -4
  272. package/zh/apis/app/hooks/src/stories.md +1 -1
  273. package/zh/apis/app/hooks/src/test.md +1 -1
  274. package/zh/apis/app/runtime/app/define-config.md +1 -2
  275. package/zh/apis/app/runtime/bff/hook.md +3 -3
  276. package/zh/apis/app/runtime/core/bootstrap.md +2 -3
  277. package/zh/apis/app/runtime/core/use-loader.md +2 -2
  278. package/zh/apis/app/runtime/core/use-module-apps.md +53 -50
  279. package/zh/apis/app/runtime/core/use-runtime-context.md +3 -4
  280. package/zh/apis/app/runtime/index.md +0 -5
  281. package/zh/apis/app/runtime/model/Provider.md +1 -0
  282. package/zh/apis/app/runtime/model/auto-actions.md +1 -1
  283. package/zh/apis/app/runtime/model/connect.md +9 -5
  284. package/zh/apis/app/runtime/model/create-app.md +3 -3
  285. package/zh/apis/app/runtime/model/create-store.md +2 -4
  286. package/zh/apis/app/runtime/model/handle-effect.md +3 -4
  287. package/zh/apis/app/runtime/model/model_.md +0 -3
  288. package/zh/apis/app/runtime/model/use-local-model.md +0 -1
  289. package/zh/apis/app/runtime/model/use-store.md +0 -2
  290. package/zh/apis/app/runtime/router/router.md +23 -53
  291. package/zh/apis/app/runtime/ssr/no-ssr.md +1 -5
  292. package/zh/apis/app/runtime/ssr/pre-render.md +10 -6
  293. package/zh/apis/app/runtime/testing/cleanup.md +2 -2
  294. package/zh/apis/app/runtime/testing/render.md +0 -2
  295. package/zh/apis/app/runtime/utility/css-in-js.md +2 -2
  296. package/zh/apis/app/runtime/utility/head.md +3 -5
  297. package/zh/apis/app/runtime/utility/loadable.md +14 -15
  298. package/zh/apis/app/runtime/web-server/hook.md +5 -4
  299. package/zh/apis/app/runtime/web-server/middleware.md +8 -6
  300. package/zh/apis/monorepo/commands/bump.md +1 -1
  301. package/zh/apis/monorepo/commands/change.md +3 -2
  302. package/zh/apis/monorepo/commands/gen-release-note.md +1 -2
  303. package/zh/apis/monorepo/commands/index.md +1 -6
  304. package/zh/apis/monorepo/commands/lint.md +1 -1
  305. package/zh/apis/monorepo/commands/release.md +0 -1
  306. package/zh/apis/monorepo/hooks/index.md +1 -6
  307. package/zh/components/command-tip.md +3 -2
  308. package/zh/components/enable-bff.md +10 -14
  309. package/zh/components/enable-micro-frontend.md +4 -4
  310. package/zh/components/global-proxy-config.md +6 -9
  311. package/zh/components/global-proxy.md +0 -1
  312. package/zh/components/init-app.md +0 -1
  313. package/zh/components/micro-master-manifest-config.md +2 -2
  314. package/zh/components/micro-runtime-config.md +1 -1
  315. package/zh/components/reduck-migration.md +0 -1
  316. package/zh/components/router-legacy-tip.md +0 -1
  317. package/zh/configure/app/auto-load-plugin.md +9 -10
  318. package/zh/configure/app/bff/prefix.md +6 -10
  319. package/zh/configure/app/bff/proxy.md +9 -8
  320. package/zh/configure/app/builder-plugins.md +6 -6
  321. package/zh/configure/app/deploy/microFrontend.md +11 -11
  322. package/zh/configure/app/dev/asset-prefix.md +2 -2
  323. package/zh/configure/app/dev/hmr.md +2 -2
  324. package/zh/configure/app/dev/https.md +2 -2
  325. package/zh/configure/app/dev/port.md +2 -2
  326. package/zh/configure/app/dev/progress-bar.md +2 -2
  327. package/zh/configure/app/dev/proxy.md +0 -1
  328. package/zh/configure/app/dev/start-url.md +2 -2
  329. package/zh/configure/app/experiments/lazy-compilation.md +2 -2
  330. package/zh/configure/app/html/app-icon.md +2 -2
  331. package/zh/configure/app/html/crossorigin.md +2 -2
  332. package/zh/configure/app/html/disable-html-folder.md +2 -2
  333. package/zh/configure/app/html/favicon-by-entries.md +2 -2
  334. package/zh/configure/app/html/favicon.md +2 -2
  335. package/zh/configure/app/html/inject-by-entries.md +2 -2
  336. package/zh/configure/app/html/inject.md +2 -2
  337. package/zh/configure/app/html/meta-by-entries.md +2 -2
  338. package/zh/configure/app/html/meta.md +2 -2
  339. package/zh/configure/app/html/mount-id.md +2 -2
  340. package/zh/configure/app/html/tags-by-entries.md +12 -0
  341. package/zh/configure/app/html/tags.md +12 -0
  342. package/zh/configure/app/html/template-by-entries.md +2 -2
  343. package/zh/configure/app/html/template-parameters-by-entries.md +2 -2
  344. package/zh/configure/app/html/template-parameters.md +2 -2
  345. package/zh/configure/app/html/template.md +2 -2
  346. package/zh/configure/app/html/title-by-entries.md +2 -2
  347. package/zh/configure/app/html/title.md +2 -2
  348. package/zh/configure/app/output/asset-prefix.md +2 -2
  349. package/zh/configure/app/output/assets-retry.md +2 -2
  350. package/zh/configure/app/output/charset.md +2 -2
  351. package/zh/configure/app/output/clean-dist-path.md +2 -2
  352. package/zh/configure/app/output/convert-to-rem.md +2 -2
  353. package/zh/configure/app/output/copy.md +2 -2
  354. package/zh/configure/app/output/css-module-local-ident-name.md +2 -2
  355. package/zh/configure/app/output/data-uri-limit.md +2 -2
  356. package/zh/configure/app/output/disable-css-extract.md +2 -2
  357. package/zh/configure/app/output/disable-css-module-extension.md +2 -2
  358. package/zh/configure/app/output/disable-filename-hash.md +2 -2
  359. package/zh/configure/app/output/disable-inline-runtime-chunk.md +2 -2
  360. package/zh/configure/app/output/disable-minimize.md +2 -2
  361. package/zh/configure/app/output/disable-node-polyfill.md +8 -8
  362. package/zh/configure/app/output/disable-source-map.md +2 -2
  363. package/zh/configure/app/output/disable-ts-checker.md +2 -2
  364. package/zh/configure/app/output/dist-path.md +2 -2
  365. package/zh/configure/app/output/enable-asset-fallback.md +2 -2
  366. package/zh/configure/app/output/enable-asset-manifest.md +2 -2
  367. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
  368. package/zh/configure/app/output/enable-inline-scripts.md +2 -2
  369. package/zh/configure/app/output/enable-inline-styles.md +2 -2
  370. package/zh/configure/app/output/enable-latest-decorators.md +2 -2
  371. package/zh/configure/app/output/externals.md +2 -2
  372. package/zh/configure/app/output/filename.md +2 -2
  373. package/zh/configure/app/output/legal-comments.md +2 -2
  374. package/zh/configure/app/output/override-browserslist.md +2 -2
  375. package/zh/configure/app/output/polyfill.md +2 -2
  376. package/zh/configure/app/output/ssg.md +3 -2
  377. package/zh/configure/app/output/svg-default-export.md +2 -2
  378. package/zh/configure/app/performance/build-cache.md +2 -2
  379. package/zh/configure/app/performance/bundle-analyze.md +2 -2
  380. package/zh/configure/app/performance/chunk-split.md +2 -2
  381. package/zh/configure/app/performance/print-file-size.md +2 -2
  382. package/zh/configure/app/performance/profile.md +2 -2
  383. package/zh/configure/app/performance/remove-console.md +2 -2
  384. package/zh/configure/app/performance/remove-moment-locale.md +2 -2
  385. package/zh/configure/app/plugins.md +6 -6
  386. package/zh/configure/app/runtime/intro.md +39 -11
  387. package/zh/configure/app/runtime/master-app.md +1 -2
  388. package/zh/configure/app/runtime/router.md +6 -7
  389. package/zh/configure/app/runtime/state.md +15 -16
  390. package/zh/configure/app/security/sri.md +2 -2
  391. package/zh/configure/app/server/base-url.md +3 -6
  392. package/zh/configure/app/server/enable-framework-ext.md +5 -4
  393. package/zh/configure/app/server/port.md +24 -6
  394. package/zh/configure/app/server/public-routes.md +6 -8
  395. package/zh/configure/app/server/routes.md +6 -6
  396. package/zh/configure/app/server/ssr-by-entries.md +5 -8
  397. package/zh/configure/app/server/ssr.md +4 -5
  398. package/zh/configure/app/source/alias.md +2 -2
  399. package/zh/configure/app/source/compile-js-data-uri.md +2 -2
  400. package/zh/configure/app/source/config-dir.md +2 -2
  401. package/zh/configure/app/source/define.md +2 -2
  402. package/zh/configure/app/source/design-system.md +656 -630
  403. package/zh/configure/app/source/disable-default-entries.md +3 -3
  404. package/zh/configure/app/source/disable-entry-dirs.md +8 -7
  405. package/zh/configure/app/source/enable-async-entry.md +3 -3
  406. package/zh/configure/app/source/entries-dir.md +7 -7
  407. package/zh/configure/app/source/entries.md +5 -6
  408. package/zh/configure/app/source/exclude.md +2 -2
  409. package/zh/configure/app/source/global-vars.md +2 -2
  410. package/zh/configure/app/source/include.md +2 -2
  411. package/zh/configure/app/source/module-scopes.md +2 -2
  412. package/zh/configure/app/source/pre-entry.md +2 -2
  413. package/zh/configure/app/source/resolve-extension-prefix.md +2 -2
  414. package/zh/configure/app/source/resolve-main-fields.md +2 -2
  415. package/zh/configure/app/testing/transformer.md +2 -3
  416. package/zh/configure/app/tools/autoprefixer.md +2 -2
  417. package/zh/configure/app/tools/babel.md +2 -2
  418. package/zh/configure/app/tools/css-extract.md +2 -2
  419. package/zh/configure/app/tools/css-loader.md +2 -2
  420. package/zh/configure/app/tools/dev-server.md +2 -2
  421. package/zh/configure/app/tools/html-plugin.md +2 -2
  422. package/zh/configure/app/tools/inspector.md +2 -2
  423. package/zh/configure/app/tools/jest.md +9 -9
  424. package/zh/configure/app/tools/less.md +2 -2
  425. package/zh/configure/app/tools/minify-css.md +2 -2
  426. package/zh/configure/app/tools/postcss.md +2 -2
  427. package/zh/configure/app/tools/pug.md +2 -2
  428. package/zh/configure/app/tools/sass.md +2 -2
  429. package/zh/configure/app/tools/style-loader.md +2 -2
  430. package/zh/configure/app/tools/styled-components.md +2 -2
  431. package/zh/configure/app/tools/swc.md +12 -1
  432. package/zh/configure/app/tools/terser.md +2 -2
  433. package/zh/configure/app/tools/ts-checker.md +2 -2
  434. package/zh/configure/app/tools/ts-loader.md +2 -2
  435. package/zh/configure/app/tools/webpack-chain.md +2 -2
  436. package/zh/configure/app/tools/webpack.md +2 -2
  437. package/zh/guides/advanced-features/bff/frameworks.md +6 -6
  438. package/zh/guides/advanced-features/bff/function.md +49 -44
  439. package/zh/guides/advanced-features/bff/index.md +9 -9
  440. package/zh/guides/advanced-features/bff/type.md +0 -1
  441. package/zh/guides/advanced-features/code-split.md +3 -3
  442. package/zh/guides/advanced-features/compatibility.md +6 -7
  443. package/zh/guides/advanced-features/eslint.md +0 -1
  444. package/zh/guides/advanced-features/index.md +0 -5
  445. package/zh/guides/advanced-features/low-level.md +17 -19
  446. package/zh/guides/advanced-features/ssg.md +8 -9
  447. package/zh/guides/advanced-features/ssr.md +5 -11
  448. package/zh/guides/advanced-features/testing.md +3 -2
  449. package/zh/guides/advanced-features/web-server.md +3 -4
  450. package/zh/guides/basic-features/alias.md +7 -11
  451. package/zh/guides/basic-features/css/css-in-js.md +5 -5
  452. package/zh/guides/basic-features/css/css-modules.md +2 -2
  453. package/zh/guides/basic-features/css/postcss.md +42 -46
  454. package/zh/guides/basic-features/css/tailwindcss.md +5 -5
  455. package/zh/guides/basic-features/data-fetch.md +109 -192
  456. package/zh/guides/basic-features/env-vars.md +7 -6
  457. package/zh/guides/basic-features/html.md +54 -46
  458. package/zh/guides/basic-features/index.md +0 -5
  459. package/zh/guides/basic-features/mock.md +4 -4
  460. package/zh/guides/basic-features/proxy.md +4 -5
  461. package/zh/guides/basic-features/routes.md +105 -18
  462. package/zh/guides/concept/entries.md +5 -7
  463. package/zh/guides/get-started/quick-start.md +3 -4
  464. package/zh/guides/topic-detail/changesets/add.md +1 -3
  465. package/zh/guides/topic-detail/changesets/changelog.md +30 -31
  466. package/zh/guides/topic-detail/changesets/commit.md +44 -45
  467. package/zh/guides/topic-detail/changesets/config.md +2 -1
  468. package/zh/guides/topic-detail/changesets/github.md +6 -10
  469. package/zh/guides/topic-detail/changesets/introduce.md +0 -1
  470. package/zh/guides/topic-detail/changesets/release-note.md +9 -12
  471. package/zh/guides/topic-detail/changesets/release-pre.md +1 -1
  472. package/zh/guides/topic-detail/framework-plugin/extend.md +13 -13
  473. package/zh/guides/topic-detail/framework-plugin/hook-list.md +2 -2
  474. package/zh/guides/topic-detail/framework-plugin/hook.md +57 -54
  475. package/zh/guides/topic-detail/framework-plugin/implement.md +11 -11
  476. package/zh/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
  477. package/zh/guides/topic-detail/generator/codesmith/api/app.md +36 -36
  478. package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +2 -2
  479. package/zh/guides/topic-detail/generator/codesmith/api/fs.md +2 -2
  480. package/zh/guides/topic-detail/generator/codesmith/api/git.md +3 -2
  481. package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +2 -2
  482. package/zh/guides/topic-detail/generator/codesmith/api/json.md +9 -11
  483. package/zh/guides/topic-detail/generator/codesmith/api/npm.md +4 -2
  484. package/zh/guides/topic-detail/generator/codesmith/introduce.md +20 -7
  485. package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
  486. package/zh/guides/topic-detail/generator/codesmith/structure.md +13 -10
  487. package/zh/guides/topic-detail/generator/config/common.md +18 -27
  488. package/zh/guides/topic-detail/generator/plugin/abstract.md +1 -1
  489. package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -0
  490. package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -4
  491. package/zh/guides/topic-detail/generator/plugin/api/info/locale.md +1 -1
  492. package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +2 -2
  493. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +3 -4
  494. package/zh/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
  495. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  496. package/zh/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
  497. package/zh/guides/topic-detail/generator/plugin/develop.md +13 -13
  498. package/zh/guides/topic-detail/generator/plugin/use.md +8 -8
  499. package/zh/guides/topic-detail/generator/project.md +1 -1
  500. package/zh/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
  501. package/zh/guides/topic-detail/micro-frontend/c02-development.md +20 -23
  502. package/zh/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
  503. package/zh/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
  504. package/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
  505. package/zh/guides/topic-detail/model/auto-actions.md +0 -1
  506. package/zh/guides/topic-detail/model/computed-state.md +0 -2
  507. package/zh/guides/topic-detail/model/define-model.md +3 -6
  508. package/zh/guides/topic-detail/model/faq.md +2 -5
  509. package/zh/guides/topic-detail/model/manage-effects.md +2 -5
  510. package/zh/guides/topic-detail/model/model-communicate.md +1 -4
  511. package/zh/guides/topic-detail/model/performance.md +1 -5
  512. package/zh/guides/topic-detail/model/quick-start.md +0 -6
  513. package/zh/guides/topic-detail/model/redux-integration.md +3 -2
  514. package/zh/guides/topic-detail/model/test-model.md +1 -1
  515. package/zh/guides/topic-detail/model/typescript-best-practice.md +13 -14
  516. package/zh/guides/topic-detail/model/use-model.md +14 -12
  517. package/zh/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
  518. package/zh/guides/topic-detail/monorepo/intro.md +0 -1
  519. package/zh/guides/topic-detail/monorepo/sub-project-interface.md +14 -7
  520. package/zh/tutorials/first-app/c01-start.md +2 -2
  521. package/zh/tutorials/first-app/c03-css.md +6 -9
  522. package/zh/tutorials/first-app/c04-routes.md +1 -1
  523. package/zh/tutorials/first-app/c05-loader.md +2 -1
  524. package/zh/tutorials/first-app/c07-container.md +6 -7
  525. package/zh/tutorials/first-app/c08-entries.md +5 -7
@@ -12,56 +12,55 @@ sidebar_position: 2
12
12
  先以 Pipeline 为例,简单介绍一下 Hook 模型的工作方式。先看一个简单的例子:
13
13
 
14
14
  ```ts
15
- import { createPipeline } from '@modern-js/plugin'
15
+ import { createPipeline } from '@modern-js/plugin';
16
16
 
17
17
  // 1. 创建
18
- const pipeline = createPipeline<number, number>()
18
+ const pipeline = createPipeline<number, number>();
19
19
 
20
20
  // 2. 添加函数
21
21
  pipeline.use((count, next) => {
22
- return next(count + 1)
23
- })
22
+ return next(count + 1);
23
+ });
24
24
  pipeline.use((count, next) => {
25
- return count * 2
26
- })
25
+ return count * 2;
26
+ });
27
27
 
28
28
  // 3. 执行
29
- pipeline.run(1) // 4
30
- pipeline.run(5) // 12
29
+ pipeline.run(1); // 4
30
+ pipeline.run(5); // 12
31
31
  ```
32
32
 
33
33
  在这个例子中,创建了一个 `Pipeline<number, number>` 类型的 Pipeline(L3),这意味着运行它的时候,你需要传入一个 `number`,然后你会得到一个 `number`,而这个模型管理的函数的类型是:
34
34
 
35
35
  ```ts
36
- (count: number, next: (nextCount: number) => number) => number
36
+ (count: number, next: (nextCount: number) => number) => number;
37
37
  ```
38
38
 
39
39
  这里全是 `number`,是因为我们创建的是 `Pipeline<number, number>` ,如果创建的是 `Pipeline<number, string>` 则运行它入参是 `number`,返回值是 `string`,对应管理的函数的类型会是:
40
40
 
41
41
  ```ts
42
- (count: number, next: (nextCount: number) => string) => string
42
+ (count: number, next: (nextCount: number) => string) => string;
43
43
  ```
44
44
 
45
-
46
45
  创建好 Pipeline 之后,可以通过 `use` 添加函数(L5、L8),需要注意的是,添加的顺序就是他们默认的运行顺序,在这些函数中,你可以对 `count` 进行处理、返回一个值,如果你调用了 `next` 函数,则会运行后面的函数,即如果你添加了三个函数: `A`、`B`、`C`,如果你在 `A` 中调用 `next` 那么就会运行 `B`,同样的,如果你在 `B` 中调用 `next` 那么就会运行 `C`,而在上面的例子中,添加的第一个函数(L5)就运行了 `next`,所以这里就会运行第二个函数(L8),并且运行的返回值就是 第二个函数的返回值,如果在第一个函数中没有调用 `next`,直接返回,例如:
47
46
 
48
47
  ```ts
49
- import { createPipeline } from '@modern-js/plugin'
48
+ import { createPipeline } from '@modern-js/plugin';
50
49
 
51
50
  // 1. 创建
52
- const pipeline = createPipeline<number, number>()
51
+ const pipeline = createPipeline<number, number>();
53
52
 
54
53
  // 2. 添加函数
55
54
  pipeline.use((count, next) => {
56
- return count + 1
57
- })
55
+ return count + 1;
56
+ });
58
57
  pipeline.use((count, next) => {
59
- return count * 2
60
- })
58
+ return count * 2;
59
+ });
61
60
 
62
61
  // 3. 执行
63
- pipeline.run(1) // 2
64
- pipeline.run(5) // 6
62
+ pipeline.run(1); // 2
63
+ pipeline.run(5); // 6
65
64
  ```
66
65
 
67
66
  则在运行 Pipeline 的时候就不会运行第二个函数,那么 Pipeline 的运行结果则就是第一个函数的返回值。
@@ -80,12 +79,16 @@ pipeline.run(5) // 6
80
79
  当 Pipeline 中没有函数或者所有函数都调用了 `next` 函数,则就需要在运行的时候提供:
81
80
 
82
81
  ```ts
83
- pipeline({}, {
82
+ pipeline(
83
+ {},
84
+ {
84
85
  onLast: () => {
85
- // do something
86
- }
87
- })
86
+ // do something
87
+ },
88
+ },
89
+ );
88
90
  ```
91
+
89
92
  :::
90
93
 
91
94
  ### Waterfall
@@ -93,31 +96,31 @@ pipeline({}, {
93
96
  这种模型顾名思义,他的特点就是参数的顺序递交,即前面一个函数的返回值,将会成为下一个函数的入参,我们也用一个例子来看一下:
94
97
 
95
98
  ```ts
96
- import { createWaterfall } from '@modern-js/plugin'
99
+ import { createWaterfall } from '@modern-js/plugin';
97
100
 
98
101
  // 1. 创建
99
- const waterfall = createWaterfall<number>()
102
+ const waterfall = createWaterfall<number>();
100
103
 
101
104
  // 2. 添加函数
102
- waterfall.use((count) => {
103
- return count + 1
104
- })
105
- waterfall.use((count) => {
106
- return count * 2
107
- })
105
+ waterfall.use(count => {
106
+ return count + 1;
107
+ });
108
+ waterfall.use(count => {
109
+ return count * 2;
110
+ });
108
111
 
109
112
  // 3. 执行
110
- waterfall.run(1) // 4
111
- waterfall.run(5) // 12
113
+ waterfall.run(1); // 4
114
+ waterfall.run(5); // 12
112
115
  ```
113
116
 
114
117
  这个例子中,创建了一个类型为 `Waterfall<number> `,即这个模型执行的入参和返回值是一样的,这个例子中都是 `number`,而它管理的函数的类型是:
115
118
 
116
119
  ```ts
117
- (count: number) => number
120
+ (count: number) => number;
118
121
  ```
119
122
 
120
- 可能简单看这个例子感觉和上面的 Pipeline 功能一样,那需要注意的是,首先这里 Waterfall 管理的函数没有next 函数作为第二个参数,所以它无法在函数内部通过调用 next 来先运行之后添加的函数,从而修改运行的顺序,其次这里的运行的入参的类型和返回值的类型必须是一样的(而 Pipeline 可以不一样)。
123
+ 可能简单看这个例子感觉和上面的 Pipeline 功能一样,那需要注意的是,首先这里 Waterfall 管理的函数没有 next 函数作为第二个参数,所以它无法在函数内部通过调用 next 来先运行之后添加的函数,从而修改运行的顺序,其次这里的运行的入参的类型和返回值的类型必须是一样的(而 Pipeline 可以不一样)。
121
124
 
122
125
  同样的,在 Waterfall 这个大类中,也提供了 Sync 和 Async 的小类,分别对应 Sync 和 Async 的函数。
123
126
 
@@ -126,22 +129,22 @@ waterfall.run(5) // 12
126
129
  这种 Hook 模型与上面两种 Hook 模型的区别是,没有那么强的前后参数返回值递交的概念,在这个模型中,每个函数都是基于同样的入参,相对独立运行的,通过一个例子简单看一下:
127
130
 
128
131
  ```ts
129
- import { createWorkflow } from '@modern-js/plugin'
132
+ import { createWorkflow } from '@modern-js/plugin';
130
133
 
131
134
  // 1. 创建
132
- const workflow = createWorkflow <number, number>()
135
+ const workflow = createWorkflow<number, number>();
133
136
 
134
137
  // 2. 添加函数
135
- workflow.use((count) => {
136
- return count + 1
137
- })
138
- workflow.use((count) => {
139
- return count * 2
140
- })
138
+ workflow.use(count => {
139
+ return count + 1;
140
+ });
141
+ workflow.use(count => {
142
+ return count * 2;
143
+ });
141
144
 
142
145
  // 3. 执行
143
- workflow.run(1) // [2, 2]
144
- workflow.run(5) // [6, 10]
146
+ workflow.run(1); // [2, 2]
147
+ workflow.run(5); // [6, 10]
145
148
  ```
146
149
 
147
150
  在这个例子中,添加了两个函数,所以运行的结果就是这两个函数运行的结果形成的一个数组。
@@ -153,15 +156,15 @@ workflow.run(5) // [6, 10]
153
156
  <div style={{ width: "100%", overflowX: "scroll" }}>
154
157
  <div style={{ width: "150%" }}>
155
158
 
156
- ||函数类型|执行顺序|函数参数来源|执行返回值来源|倾向处理的任务类型|函数 TS 类型|
157
- |-----|-----|-----|-----|----|----|----|
158
- |Pipeline|Sync|默认执行第一个添加的函数,可以通过 next 调用之后添加的函数|第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数向 next 函数传递的参数|第一个函数的返回值|<ul><li>需要修改初始参数</li><li>需要修改函数执行顺序</li></ul>|`(input: I, next: Next<I, O>) => O`|
159
- |AsyncPipeline|Sync/Async|默认执行第一个添加的函数,可以通过 next 调用之后添加的函数|第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数向 next 函数传递的参数|第一个函数的返回值|<ul><li>需要修改初始参数</li><li>需要修改函数执行顺序</li></ul>|`(input: I, next: AsyncNext<I, O>) => O | Promise<O>`|
160
- |WaterFall|Sync|一直顺序执行|第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数的返回值|最后一个函数的返回值|<ul><li>需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul>|`(I: I) => I`|
161
- |AsyncWaterFall|Sync/Async|一直顺序执行|第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数的返回值|最后一个函数的返回值|<ul><li>需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul>|`(I: I) => I | Promise<I>`|
162
- |Workflow|Sync|一直顺序执行|所有函数的入参都是运行的参数|所有函数返回值形成的数组|<ul><li>不需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul>|`(I: I) => O`|
163
- |AsyncWorkflow|Sync/Async|一直顺序执行|所有函数的入参都是运行的参数|所有函数返回值形成的数组|<ul><li>不需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul>|`(I: I) => O | Promise<O>`|
164
- |ParallelWorkFlow|Sync/Async|异步执行|所有函数的入参都是运行的参数|所有函数返回值形成的数组|<ul><li>不需要修改初始参数</li><li>不关心执行顺序</li></ul>|`(I: I) => O | Promise<O>`|
159
+ | | 函数类型 | 执行顺序 | 函数参数来源 | 执行返回值来源 | 倾向处理的任务类型 | 函数 TS 类型 |
160
+ | ---------------- | ---------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------ | ------------------------------------------------------------------- | ------------------------------------------------------ |
161
+ | Pipeline | Sync | 默认执行第一个添加的函数,可以通过 next 调用之后添加的函数 | 第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数向 next 函数传递的参数 | 第一个函数的返回值 | <ul><li>需要修改初始参数</li><li>需要修改函数执行顺序</li></ul> | `(input: I, next: Next<I, O>) => O` |
162
+ | AsyncPipeline | Sync/Async | 默认执行第一个添加的函数,可以通过 next 调用之后添加的函数 | 第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数向 next 函数传递的参数 | 第一个函数的返回值 | <ul><li>需要修改初始参数</li><li>需要修改函数执行顺序</li></ul> | `(input: I, next: AsyncNext<I, O>) => O | Promise<O>` |
163
+ | WaterFall | Sync | 一直顺序执行 | 第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数的返回值 | 最后一个函数的返回值 | <ul><li>需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul> | `(I: I) => I` |
164
+ | AsyncWaterFall | Sync/Async | 一直顺序执行 | 第一个函数的参数来源是运行的参数,之后的函数的参数来源是,前一个函数的返回值 | 最后一个函数的返回值 | <ul><li>需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul> | `(I: I) => I | Promise<I>` |
165
+ | Workflow | Sync | 一直顺序执行 | 所有函数的入参都是运行的参数 | 所有函数返回值形成的数组 | <ul><li>不需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul> | `(I: I) => O` |
166
+ | AsyncWorkflow | Sync/Async | 一直顺序执行 | 所有函数的入参都是运行的参数 | 所有函数返回值形成的数组 | <ul><li>不需要修改初始参数</li><li>不需要修改函数执行顺序</li></ul> | `(I: I) => O | Promise<O>` |
167
+ | ParallelWorkFlow | Sync/Async | 异步执行 | 所有函数的入参都是运行的参数 | 所有函数返回值形成的数组 | <ul><li>不需要修改初始参数</li><li>不关心执行顺序</li></ul> | `(I: I) => O | Promise<O>` |
165
168
 
166
169
  </div>
167
170
  </div>
@@ -13,7 +13,7 @@ Modern.js 插件是一个对象,对象包含以下属性:
13
13
  - `setup`: 插件初始化函数,只会执行一次。setup 函数可以返回一个 Hooks 对象,Modern.js 会在特定的时机执行这些 Hooks。
14
14
 
15
15
  ```ts
16
- const MyPlugin = {
16
+ const myPlugin = {
17
17
  name: 'my-plugin',
18
18
 
19
19
  setup() {
@@ -51,7 +51,7 @@ Modern-js 支持多种工程开发,如应用工程(app-tools), 模块工程(mo
51
51
  ```ts
52
52
  import type { CliPlugin } from '@modern-js/core';
53
53
 
54
- const MyPlugin: CliPlugin = {
54
+ const myPlugin: CliPlugin = {
55
55
  name: 'my-plugin',
56
56
 
57
57
  setup() {
@@ -71,7 +71,7 @@ const MyPlugin: CliPlugin = {
71
71
  ```ts
72
72
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
73
73
 
74
- const MyPlugin: CliPlugin<AppTools> = {
74
+ const myPlugin: CliPlugin<AppTools> = {
75
75
  name: 'my-plugin',
76
76
 
77
77
  setup() {
@@ -103,7 +103,7 @@ type AppTools = {
103
103
  import type { CliPlugin } from '@modern-js/core';
104
104
  import type { MyPluginHook } from 'xxx';
105
105
 
106
- const MyPlugin: CliPlugin<{ hooks: MyPluginHook }> = {};
106
+ const myPlugin: CliPlugin<{ hooks: MyPluginHook }> = {};
107
107
  ```
108
108
 
109
109
  ```ts
@@ -111,7 +111,7 @@ const MyPlugin: CliPlugin<{ hooks: MyPluginHook }> = {};
111
111
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
112
112
  import type { MyPluginHook } from 'xxx';
113
113
 
114
- const MyPlugin: CliPlugin<AppTools & { hooks: MyPluginHook }> = {};
114
+ const myPlugin: CliPlugin<AppTools & { hooks: MyPluginHook }> = {};
115
115
  ```
116
116
 
117
117
  详细说明,请参考 [扩展 Hook](/docs/guides/topic-detail/framework-plugin/extend)。
@@ -127,7 +127,7 @@ type MyPluginOptions = {
127
127
  foo: string;
128
128
  };
129
129
 
130
- const MyPlugin = (options: MyPluginOptions): CliPlugin => ({
130
+ const myPlugin = (options: MyPluginOptions): CliPlugin => ({
131
131
  name: 'my-plugin',
132
132
 
133
133
  setup() {
@@ -183,7 +183,7 @@ export default (): CliPlugin => ({
183
183
 
184
184
  本地插件推荐写在 `config/plugin` 目录下,并通过 `export default` 导出:
185
185
 
186
- ```ts title=config/plugin/MyPlugin.ts
186
+ ```ts title=config/plugin/myPlugin.ts
187
187
  import type { CliPlugin } from '@modern-js/core';
188
188
 
189
189
  export default (): CliPlugin => ({
@@ -199,10 +199,10 @@ export default (): CliPlugin => ({
199
199
 
200
200
  ```ts title="modern.config.ts"
201
201
  import { defineConfig } from '@modern-js/app-tools';
202
- import MyPlugin from './config/plugin/MyPlugin';
202
+ import myPlugin from './config/plugin/myPlugin';
203
203
 
204
204
  export default defineConfig({
205
- plugins: [MyPlugin()],
205
+ plugins: [myPlugin()],
206
206
  });
207
207
  ```
208
208
 
@@ -237,10 +237,10 @@ export default (): CliPlugin => ({
237
237
 
238
238
  ```ts title="modern.config.ts"
239
239
  import { defineConfig } from '@modern-js/app-tools';
240
- import MyPlugin from 'my-plugin';
240
+ import myPlugin from 'my-plugin';
241
241
 
242
242
  export default defineConfig({
243
- plugins: [MyPlugin()],
243
+ plugins: [myPlugin()],
244
244
  });
245
245
  ```
246
246
 
@@ -29,7 +29,7 @@ export default (): CliPlugin => ({
29
29
  用于获取应用原始配置。
30
30
 
31
31
  ```ts
32
- const useConfigContext: () => UserConfig
32
+ const useConfigContext: () => UserConfig;
33
33
 
34
34
  interface UserConfig {
35
35
  source?: SourceConfig;
@@ -51,7 +51,7 @@ interface UserConfig {
51
51
  用于获取应用运行上下文。
52
52
 
53
53
  ```ts
54
- const useAppContext: () => IAppContext
54
+ const useAppContext: () => IAppContext;
55
55
 
56
56
  interface IAppContext {
57
57
  appDirectory: string;
@@ -79,7 +79,7 @@ interface IAppContext {
79
79
  用于获取解析之后的最终配置。
80
80
 
81
81
  ```ts
82
- const useResolvedConfigContext: () => NormalizedConfig
82
+ const useResolvedConfigContext: () => NormalizedConfig;
83
83
 
84
84
  interface NormalizedConfig {
85
85
  source: NormalizedSourceConfig;
@@ -91,7 +91,7 @@ interface NormalizedConfig {
91
91
  plugins: PluginConfig;
92
92
  runtime: RuntimeConfig;
93
93
  runtimeByEntries?: RuntimeByEntriesConfig;
94
- _raw: UserConfig
94
+ _raw: UserConfig;
95
95
  }
96
96
  ```
97
97
 
@@ -8,13 +8,13 @@ sidebar_position: 1
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { AppAPI } from '@modern-js/codesmith-api-app';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
15
  const appApi = new AppAPI(context, generator);
16
16
  await appApi.runInstall();
17
- }
17
+ };
18
18
  ```
19
19
 
20
20
  - 创建 AppAPI 实例,参数和微生成器函数参数一致,为 context 和 generator,具体介绍请看[微生成器项目组成](/docs/guides/topic-detail/generator/codesmith/structure)。
@@ -51,6 +51,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
51
51
  4. 在非 monorepo 项目(判断条件,config 中 `isMonorepoSubProject` 不存在或者为 false)中提交初始 commit,commit 信息为 feat: init,支持自定义。
52
52
 
53
53
  参数:
54
+
54
55
  - commitMessage?: `string` 初始化 commit message 信息。
55
56
  - installFunc?: `() => Promise<void>` 安装依赖函数。
56
57
 
@@ -64,35 +65,35 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
64
65
  - filter?: `(resourceKey: string) => boolean` 过滤函数,参数为 templatePattern 匹配的文件路径,返回 true 表示渲染该文件,返回 false 表示不渲染该文件。
65
66
  - rename?: `(resourceKey: string) => string` 重命名函数,参数为 templatePattern 匹配的文件路径,返回新文件名。默认会替换 resourceKey 开头的 templates 目录和结尾的 .handlebars 后缀。
66
67
  - parameters?: `Record<string, any>` 渲染参数,当模板中存在 handlebars 或者 ejs 变量时,使用其传递对应变量值。
67
- - type?: `'handlebars' | 'ejs'` 模板文件类型,默认为 handlebars。
68
+ - type?: `'handlebars' | 'ejs'` 模板文件类型,默认为 handlebars。
68
69
 
69
70
  例如:
70
71
 
71
- ```typescript
72
+ ```ts
73
+ await appApi.forgeTemplate(
74
+ 'templates/base-templates/**/*',
75
+ undefined,
76
+ resourceKey =>
77
+ resourceKey
78
+ .replace('templates/base-templates/', '')
79
+ .replace('.handlebars', ''),
80
+ );
81
+
72
82
  await appApi.forgeTemplate(
73
- 'templates/base-templates/**/*',
74
- undefined,
75
- resourceKey =>
76
- resourceKey
77
- .replace('templates/base-templates/', '')
78
- .replace('.handlebars', ''),
79
- );
80
-
81
- await appApi.forgeTemplate(
82
- 'templates/base-template/**/*',
83
- resourceKey => !resourceKey.include('eslintrc.json'),
84
- resourceKey =>
85
- resourceKey
86
- .replace('templates/base-template/', projectPath)
87
- .replace('language', language as string)
88
- .replace('.handlebars', ''),
89
- {
90
- name: packageName as string,
91
- language,
92
- isTs: language === Language.TS,
93
- packageManager: getPackageManagerText(packageManager as any),
94
- },
95
- );
83
+ 'templates/base-template/**/*',
84
+ resourceKey => !resourceKey.include('eslintrc.json'),
85
+ resourceKey =>
86
+ resourceKey
87
+ .replace('templates/base-template/', projectPath)
88
+ .replace('language', language as string)
89
+ .replace('.handlebars', ''),
90
+ {
91
+ name: packageName as string,
92
+ language,
93
+ isTs: language === Language.TS,
94
+ packageManager: getPackageManagerText(packageManager as any),
95
+ },
96
+ );
96
97
  ```
97
98
 
98
99
  ### showSuccessInfo
@@ -115,12 +116,12 @@ await appApi.forgeTemplate(
115
116
 
116
117
  例如:
117
118
 
118
- ```typescript
119
- await appApi.runSubGenerator(
120
- getGeneratorPath('@modern-js/repo-generator', context.config.distTag),
121
- undefined,
122
- { ...context.config, hasPlugin: false },
123
- );
119
+ ```ts
120
+ await appApi.runSubGenerator(
121
+ getGeneratorPath('@modern-js/repo-generator', context.config.distTag),
122
+ undefined,
123
+ { ...context.config, hasPlugin: false },
124
+ );
124
125
  ```
125
126
 
126
127
  ### getInputBySchema
@@ -131,7 +132,7 @@ await appApi.forgeTemplate(
131
132
 
132
133
  - schema: `FormilySchema | Question[]` 问题列表,支持 Formily schema 和 inquirer 类型。
133
134
  - type: `'formily' | 'inquirer'` 类型,默认值为 formily。
134
- - configValue: `Record<string, unknown> = {}` schema 默认值,传入该值的 schema 字段对应的问题将不再和用户交互。
135
+ - configValue: `Record<string, unknown> = {}` schema 默认值,传入该值的 schema 字段对应的问题将不再和用户交互。
135
136
  - validateMap?: `Record<string, (input: unknown, data?: Record<string, unknown>) => { success: boolean; error?: string }>` schema 中特殊字段的验证函数。
136
137
  - initValue?: `Record<string, any>` schema 中字段的初始化值。
137
138
 
@@ -141,11 +142,10 @@ Formily Schema 类型支持方式可参考[自定义输入相关类型定义](/d
141
142
 
142
143
  通过 schema 完成用户交互输入,schema 参数值为函数,用户处理国际化问题,仅支持 Formily schema。
143
144
 
144
-
145
145
  参数:
146
146
 
147
147
  - schema: `config?: Record<string, any>) => FormilySchema` 获取问题列表函数,config 参数为当前生成器中的 config 配置信息。
148
- - configValue: `Record<string, unknown> = {}` schema 默认值,传入该值的 schema 字段对应的问题将不再和用户交互。
148
+ - configValue: `Record<string, unknown> = {}` schema 默认值,传入该值的 schema 字段对应的问题将不再和用户交互。
149
149
  - validateMap?: `Record<string, (input: unknown, data?: Record<string, unknown>) => { success: boolean; error?: string }>` schema 中特殊字段的验证函数。
150
150
  - initValue?: `Record<string, any>` schema 中字段的初始化值。
151
151
 
@@ -8,7 +8,7 @@ sidebar_position: 6
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { EjsAPI } from '@modern-js/codesmith-api-ejs';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
@@ -47,7 +47,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
47
47
  - target: `(globMatch: string) => string` 目标文件路径生成函数,参数为 `resourceKey。`
48
48
  - options?: `RenderTemplateDirOptions` glob 查找文件配置,具体函数可查看这里 [glob](https://www.npmjs.com/package/glob)。
49
49
 
50
- ```typescript
50
+ ```ts
51
51
  type RenderTemplateDirOptions = {
52
52
  nodir?: boolean;
53
53
  dot?: boolean;
@@ -8,7 +8,7 @@ sidebar_position: 3
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { FsAPI } from '@modern-js/codesmith-api-fs';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
@@ -45,7 +45,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
45
45
  - target: `(globMatch: string) => string` 目标文件路径生成函数,参数为 `resourceKey。`
46
46
  - options?: `RenderTemplateDirOptions` glob 查找文件配置,具体函数可查看这里 [glob](https://www.npmjs.com/package/glob)。
47
47
 
48
- ```typescript
48
+ ```ts
49
49
  type RenderTemplateDirOptions = {
50
50
  nodir?: boolean;
51
51
  dot?: boolean;
@@ -8,13 +8,13 @@ sidebar_position: 4
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { GitAPI } from '@modern-js/codesmith-api-git';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
15
  const gitApi = new GitAPI(generatorCore, generatorContext);
16
16
  await gitApi.initGitRepo();
17
- }
17
+ };
18
18
  ```
19
19
 
20
20
  - 创建 GitAPI 实例,参数和微生成器函数参数一致,为 context 和 generator,具体介绍请看微生成器项目组成
@@ -44,5 +44,6 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
44
44
  执行 `git add .` 和 `git commit` 提交当前变更。
45
45
 
46
46
  参数:
47
+
47
48
  - commitMessage: `string` commit 信息。
48
49
  - cwd?: `string` git 命令的执行目录,默认为微生成器 `outputPath`。
@@ -8,7 +8,7 @@ sidebar_position: 5
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { HandlebarsAPI } from '@modern-js/codesmith-api-handlebars';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
@@ -47,7 +47,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
47
47
  - target: `(globMatch: string) => string` 目标文件路径生成函数,参数为 `resourceKey。`
48
48
  - options?: `RenderTemplateDirOptions` glob 查找文件配置,具体函数可查看这里 [glob](https://www.npmjs.com/package/glob)。
49
49
 
50
- ```typescript
50
+ ```ts
51
51
  type RenderTemplateDirOptions = {
52
52
  nodir?: boolean;
53
53
  dot?: boolean;
@@ -8,23 +8,20 @@ sidebar_position: 2
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { JsonAPI } from '@modern-js/codesmith-api-json';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
15
  const jsonAPI = new JsonAPI(generator);
16
- await jsonAPI.update(
17
- context.materials.default.get('package.json'),
18
- {
19
- query: {},
20
- update: {
21
- $set: {
22
- 'dependencies.@modern-js/plugin-bff': `^2.0.0`,
23
- },
16
+ await jsonAPI.update(context.materials.default.get('package.json'), {
17
+ query: {},
18
+ update: {
19
+ $set: {
20
+ 'dependencies.@modern-js/plugin-bff': `^2.0.0`,
24
21
  },
25
22
  },
26
- );
27
- }
23
+ });
24
+ };
28
25
  ```
29
26
 
30
27
  - 创建 JsonAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看[微生成器项目组成](/docs/guides/topic-detail/generator/codesmith/structure)。
@@ -37,6 +34,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
37
34
  获取 JSON 文件内容。
38
35
 
39
36
  参数:
37
+
40
38
  - resource: `FsResource`,文件资源,通过 `context.materials.default.get(<filename>)` 获取。
41
39
 
42
40
  ### extend
@@ -8,13 +8,13 @@ sidebar_position: 7
8
8
 
9
9
  ## 使用姿势
10
10
 
11
- ```typescript
11
+ ```ts
12
12
  import { NpmAPI } from '@modern-js/codesmith-api-npm';
13
13
 
14
14
  export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
15
  const npmApi = new NpmAPI(generator);
16
16
  await npmApi.pnpmInstall();
17
- }
17
+ };
18
18
  ```
19
19
 
20
20
  - 创建 NpmAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看微生成器项目组成 。
@@ -35,6 +35,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
35
35
  使用 yarn 安装依赖。
36
36
 
37
37
  参数:
38
+
38
39
  - cwd?: `string` install 命令的执行目录,默认为微生成器 `outputPath`。
39
40
 
40
41
  ### pnpmInstall
@@ -42,4 +43,5 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => {
42
43
  使用 pnpm 安装依赖。
43
44
 
44
45
  参数:
46
+
45
47
  - cwd?: `string` install 命令的执行目录,默认为微生成器 `outputPath`。
@@ -16,18 +16,30 @@ codesmith 还将常用的方法进行了封装,可以直接使用其提供的
16
16
 
17
17
  GeneratorCore 是 codesmith 运行生成器的核心,维护这生成器执行过程中的上下文及运行方法。
18
18
 
19
- ```typescript
19
+ ```ts
20
20
  class GeneratorCore {
21
21
  logger: ILogger; // 日志
22
22
  materialsManager: MaterialsManager; // 资源
23
23
  outputPath: string; // 输出路径
24
- output: { // 输出方法
25
- fs: (file: string | number, data: any, options?: fs.WriteFileOptions | string) => Promise<void>;
24
+ output: {
25
+ // 输出方法
26
+ fs: (
27
+ file: string | number,
28
+ data: any,
29
+ options?: fs.WriteFileOptions | string,
30
+ ) => Promise<void>;
26
31
  };
27
32
  _context: GeneratorContext; // 上下文信息
28
33
  addMaterial(key: string, material: FsMaterial): void; // 添加资源
29
- runGenerator(generator: string, config?: Record<string, unknown>): Promise<void>; // 运行生成器
30
- runSubGenerator(subGenerator: string, relativePwdPath?: string, config?: Record<string, any>): Promise<void>; // 运行子生成器
34
+ runGenerator(
35
+ generator: string,
36
+ config?: Record<string, unknown>,
37
+ ): Promise<void>; // 运行生成器
38
+ runSubGenerator(
39
+ subGenerator: string,
40
+ relativePwdPath?: string,
41
+ config?: Record<string, any>,
42
+ ): Promise<void>; // 运行子生成器
31
43
  }
32
44
  ```
33
45
 
@@ -35,9 +47,10 @@ class GeneratorCore {
35
47
 
36
48
  微生成器资源信息,目前只包含文件资源(fsMaterials),通过该字段可以获取到生成器执行过程中的 template 资源,并通过 API 对其进行操作。
37
49
 
38
- ```typescript
50
+ ```ts
39
51
  class MaterialsManager {
40
- materialMap: { // 资源映射关系
52
+ materialMap: {
53
+ // 资源映射关系
41
54
  [materialUri: string]: FsMaterial;
42
55
  };
43
56
  loadLocalGenerator(generator: string): Promise<FsMaterial>; // 加载本地生成器资源(绝对路径)