@modern-js/main-doc 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>; // 加载本地生成器资源(绝对路径)