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

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 (415) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/build.md +1 -1
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/dev.md +1 -1
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +1 -4
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/start.md +1 -1
  7. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/test.md +1 -1
  8. package/en/docusaurus-plugin-content-docs/current/apis/app/overview.md +1 -1
  9. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +17 -3
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/auto-actions.md +1 -1
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +1 -1
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +2 -2
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -1
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +1 -1
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +1 -1
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +1 -1
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +1 -23
  20. package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +56 -0
  21. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +1 -0
  22. package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +5 -0
  23. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +1 -1
  24. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +1 -1
  25. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +1 -1
  26. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +1 -1
  27. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +1 -1
  28. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +1 -1
  29. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +1 -1
  30. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +1 -1
  31. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +1 -1
  32. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +1 -1
  33. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +1 -1
  34. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +1 -1
  35. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +1 -1
  36. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +1 -1
  37. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +1 -1
  38. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +1 -1
  39. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +1 -1
  40. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +1 -1
  41. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +1 -1
  42. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +1 -1
  43. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +1 -1
  44. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +1 -1
  45. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +1 -1
  46. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +1 -1
  48. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +1 -1
  49. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +1 -1
  50. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +1 -1
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +1 -1
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +1 -1
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +1 -1
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +12 -0
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +1 -1
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +1 -1
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +1 -1
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +1 -1
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +1 -1
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +1 -1
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +1 -1
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +1 -1
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +1 -1
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +1 -1
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +1 -1
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +1 -1
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +1 -1
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +1 -1
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +1 -1
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +1 -1
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +1 -1
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +1 -1
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +1 -1
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +1 -1
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +1 -1
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +1 -1
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +1 -1
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +1 -1
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +1 -1
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +1 -1
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +1 -1
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +1 -1
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +1 -1
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +1 -1
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +1 -1
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +1 -1
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +1 -1
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +1 -1
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +1 -1
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +1 -1
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +1 -1
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +1 -1
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +1 -1
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +1 -1
  97. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +1 -1
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +1 -1
  99. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +1 -1
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +1 -1
  101. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +1 -1
  102. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +1 -1
  103. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +1 -1
  104. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +1 -1
  105. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +1 -1
  106. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +1 -1
  107. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +1 -1
  108. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +42 -0
  109. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +1 -1
  110. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +1 -1
  111. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +1 -1
  112. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +1 -1
  113. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +1 -1
  114. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/builder.md +46 -0
  115. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/_category_.json +4 -0
  116. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/_category_.json +4 -0
  117. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  118. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  119. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  120. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  121. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +49 -0
  122. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +58 -0
  123. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +59 -0
  124. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +49 -0
  125. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/develop.md +52 -0
  126. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +46 -0
  127. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  128. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +87 -0
  129. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/_category_.json +4 -0
  130. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +106 -0
  131. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/module.md +39 -0
  132. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/monorepo.md +28 -0
  133. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/mwa.md +89 -0
  134. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/_category_.json +4 -0
  135. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +26 -0
  136. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
  137. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/_category_.json +4 -0
  138. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addFile.md +52 -0
  139. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addHelper.md +26 -0
  140. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addManyFile.md +58 -0
  141. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addPartial.md +26 -0
  142. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +38 -0
  143. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmDir.md +24 -0
  144. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmFile.md +24 -0
  145. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +54 -0
  146. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +26 -0
  147. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +33 -0
  148. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/_category_.json +4 -0
  149. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.md +20 -0
  150. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/initGitRepo.md +16 -0
  151. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/isInGitRepo.md +16 -0
  152. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/_category_.json +4 -0
  153. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/afterForged.md +35 -0
  154. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +36 -0
  155. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/_category_.json +4 -0
  156. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/isFileExit.md +22 -0
  157. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/locale.md +17 -0
  158. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/readDir.md +22 -0
  159. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/_category_.json +4 -0
  160. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +57 -0
  161. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +56 -0
  162. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +42 -0
  163. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInputValue.md +30 -0
  164. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
  165. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +91 -0
  166. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/_category_.json +4 -0
  167. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createElement.md +33 -0
  168. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createSubProject.md +35 -0
  169. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/enableFunc.md +44 -0
  170. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/introduce.md +15 -0
  171. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/_category_.json +4 -0
  172. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/install.md +18 -0
  173. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +125 -0
  174. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +61 -0
  175. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +118 -0
  176. package/en/docusaurus-plugin-content-docs/current.json +57 -21
  177. package/package.json +3 -3
  178. package/scripts/config.ts +2 -2
  179. package/scripts/summary.en.json +1 -1
  180. package/scripts/summary.zh.json +1 -1
  181. package/zh/apis/app/commands/new.md +0 -3
  182. package/zh/apis/app/hooks/server/test.md +2 -2
  183. package/zh/apis/app/runtime/app/_category_.json +1 -1
  184. package/zh/apis/app/runtime/bff/_category_.json +1 -1
  185. package/zh/apis/app/runtime/core/_category_.json +1 -1
  186. package/zh/apis/app/runtime/core/bootstrap.md +17 -3
  187. package/zh/apis/app/runtime/model/_category_.json +1 -1
  188. package/zh/apis/app/runtime/model/create-app.md +1 -1
  189. package/zh/apis/app/runtime/model/use-store.md +1 -23
  190. package/zh/apis/app/runtime/router/_category_.json +1 -1
  191. package/zh/apis/app/runtime/ssr/_category_.json +1 -1
  192. package/zh/apis/app/runtime/testing/_category_.json +1 -1
  193. package/zh/apis/app/runtime/utility/_category_.json +1 -1
  194. package/zh/apis/app/runtime/web-server/_category_.json +1 -1
  195. package/zh/apis/app/runtime/web-server/hook.md +4 -4
  196. package/zh/apis/app/runtime/web-server/middleware.md +4 -4
  197. package/zh/components/reduck-migration.md +1 -0
  198. package/zh/configure/app/dev/asset-prefix.md +1 -1
  199. package/zh/configure/app/dev/hmr.md +1 -1
  200. package/zh/configure/app/dev/https.md +1 -1
  201. package/zh/configure/app/dev/port.md +1 -1
  202. package/zh/configure/app/dev/progress-bar.md +1 -1
  203. package/zh/configure/app/dev/start-url.md +1 -1
  204. package/zh/configure/app/experiments/_category_.json +4 -0
  205. package/zh/configure/app/experiments/lazy-compilation.md +1 -1
  206. package/zh/configure/app/html/_category_.json +4 -0
  207. package/zh/configure/app/html/app-icon.md +1 -1
  208. package/zh/configure/app/html/crossorigin.md +1 -1
  209. package/zh/configure/app/html/disable-html-folder.md +1 -1
  210. package/zh/configure/app/html/favicon-by-entries.md +1 -1
  211. package/zh/configure/app/html/favicon.md +1 -1
  212. package/zh/configure/app/html/inject-by-entries.md +1 -1
  213. package/zh/configure/app/html/inject.md +1 -1
  214. package/zh/configure/app/html/meta-by-entries.md +1 -1
  215. package/zh/configure/app/html/meta.md +1 -1
  216. package/zh/configure/app/html/mount-id.md +1 -1
  217. package/zh/configure/app/html/template-by-entries.md +1 -1
  218. package/zh/configure/app/html/template-parameters-by-entries.md +1 -1
  219. package/zh/configure/app/html/template-parameters.md +1 -1
  220. package/zh/configure/app/html/template.md +1 -1
  221. package/zh/configure/app/html/title-by-entries.md +1 -1
  222. package/zh/configure/app/html/title.md +1 -1
  223. package/zh/configure/app/output/asset-prefix.md +1 -1
  224. package/zh/configure/app/output/assets-retry.md +1 -1
  225. package/zh/configure/app/output/charset.md +1 -1
  226. package/zh/configure/app/output/clean-dist-path.md +1 -1
  227. package/zh/configure/app/output/convert-to-rem.md +1 -1
  228. package/zh/configure/app/output/copy.md +1 -1
  229. package/zh/configure/app/output/css-module-local-ident-name.md +1 -1
  230. package/zh/configure/app/output/data-uri-limit.md +1 -1
  231. package/zh/configure/app/output/disable-css-extract.md +12 -0
  232. package/zh/configure/app/output/disable-css-module-extension.md +1 -1
  233. package/zh/configure/app/output/disable-filename-hash.md +1 -1
  234. package/zh/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  235. package/zh/configure/app/output/disable-minimize.md +1 -1
  236. package/zh/configure/app/output/disable-source-map.md +1 -1
  237. package/zh/configure/app/output/disable-ts-checker.md +1 -1
  238. package/zh/configure/app/output/dist-path.md +1 -1
  239. package/zh/configure/app/output/enable-asset-fallback.md +1 -1
  240. package/zh/configure/app/output/enable-asset-manifest.md +1 -1
  241. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  242. package/zh/configure/app/output/enable-inline-scripts.md +1 -1
  243. package/zh/configure/app/output/enable-inline-styles.md +1 -1
  244. package/zh/configure/app/output/enable-latest-decorators.md +1 -1
  245. package/zh/configure/app/output/externals.md +1 -1
  246. package/zh/configure/app/output/filename.md +1 -1
  247. package/zh/configure/app/output/legal-comments.md +1 -1
  248. package/zh/configure/app/output/override-browserslist.md +1 -1
  249. package/zh/configure/app/output/polyfill.md +1 -1
  250. package/zh/configure/app/output/ssg.md +118 -114
  251. package/zh/configure/app/output/svg-default-export.md +1 -1
  252. package/zh/configure/app/performance/_category_.json +4 -0
  253. package/zh/configure/app/performance/build-cache.md +1 -1
  254. package/zh/configure/app/performance/bundle-analyze.md +1 -1
  255. package/zh/configure/app/performance/chunk-split.md +1 -1
  256. package/zh/configure/app/performance/print-file-size.md +1 -1
  257. package/zh/configure/app/performance/profile.md +1 -1
  258. package/zh/configure/app/performance/remove-console.md +1 -1
  259. package/zh/configure/app/performance/remove-moment-locale.md +1 -1
  260. package/zh/configure/app/plugins.md +1 -1
  261. package/zh/configure/app/runtime/state.md +13 -0
  262. package/zh/configure/app/security/_category_.json +4 -0
  263. package/zh/configure/app/security/sri.md +1 -1
  264. package/zh/configure/app/server/ssr.md +0 -2
  265. package/zh/configure/app/source/alias.md +1 -1
  266. package/zh/configure/app/source/compile-js-data-uri.md +1 -1
  267. package/zh/configure/app/source/define.md +1 -1
  268. package/zh/configure/app/source/exclude.md +1 -1
  269. package/zh/configure/app/source/global-vars.md +1 -1
  270. package/zh/configure/app/source/include.md +1 -1
  271. package/zh/configure/app/source/module-scopes.md +1 -1
  272. package/zh/configure/app/source/pre-entry.md +1 -1
  273. package/zh/configure/app/source/resolve-extension-prefix.md +1 -1
  274. package/zh/configure/app/source/resolve-main-fields.md +1 -1
  275. package/zh/configure/app/tools/autoprefixer.md +1 -1
  276. package/zh/configure/app/tools/babel.md +1 -1
  277. package/zh/configure/app/tools/css-extract.md +1 -1
  278. package/zh/configure/app/tools/css-loader.md +1 -1
  279. package/zh/configure/app/tools/dev-server.md +1 -1
  280. package/zh/configure/app/tools/html-plugin.md +1 -1
  281. package/zh/configure/app/tools/inspector.md +1 -1
  282. package/zh/configure/app/tools/less.md +1 -1
  283. package/zh/configure/app/tools/minify-css.md +1 -1
  284. package/zh/configure/app/tools/postcss.md +1 -1
  285. package/zh/configure/app/tools/pug.md +1 -1
  286. package/zh/configure/app/tools/sass.md +1 -1
  287. package/zh/configure/app/tools/style-loader.md +1 -1
  288. package/zh/configure/app/tools/styled-components.md +1 -1
  289. package/zh/configure/app/tools/swc.md +42 -0
  290. package/zh/configure/app/tools/terser.md +1 -1
  291. package/zh/configure/app/tools/ts-checker.md +1 -1
  292. package/zh/configure/app/tools/ts-loader.md +1 -1
  293. package/zh/configure/app/tools/webpack-chain.md +1 -1
  294. package/zh/configure/app/tools/webpack.md +1 -1
  295. package/zh/guides/advanced-features/bff/_category_.json +5 -1
  296. package/zh/guides/advanced-features/bff/bff-proxy.md +5 -3
  297. package/zh/guides/advanced-features/bff/frameworks.md +72 -51
  298. package/zh/guides/advanced-features/bff/function.md +16 -30
  299. package/zh/guides/advanced-features/bff/index.md +20 -0
  300. package/zh/guides/advanced-features/bff/type.md +43 -0
  301. package/zh/guides/advanced-features/custom-app.md +69 -1
  302. package/zh/guides/advanced-features/ssg.md +74 -63
  303. package/zh/guides/advanced-features/ssr.md +74 -11
  304. package/zh/guides/advanced-features/web-server.md +21 -110
  305. package/zh/guides/basic-features/builder.md +46 -0
  306. package/zh/guides/basic-features/css/_category_.json +1 -1
  307. package/zh/guides/basic-features/css/less-sass.md +1 -14
  308. package/zh/guides/basic-features/data-fetch.md +62 -1
  309. package/zh/guides/basic-features/env-vars.md +122 -41
  310. package/zh/guides/basic-features/routes.md +264 -0
  311. package/zh/guides/concept/entries.md +112 -0
  312. package/zh/guides/concept/lifecycle.md +10 -0
  313. package/zh/guides/get-started/quick-start.md +199 -1
  314. package/zh/guides/get-started/upgrade.md +75 -1
  315. package/zh/guides/topic-detail/framework-plugin/extend.md +3 -4
  316. package/zh/{apis/app/runtime/plugin/hook-api.md → guides/topic-detail/framework-plugin/hook-list.md} +42 -135
  317. package/zh/{apis/app/runtime/plugin → guides/topic-detail/framework-plugin}/hook.md +2 -3
  318. package/zh/guides/topic-detail/framework-plugin/implement.md +21 -10
  319. package/zh/guides/topic-detail/framework-plugin/introduction.md +49 -0
  320. package/{en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin → zh/guides/topic-detail/framework-plugin}/plugin-api.md +3 -4
  321. package/zh/guides/topic-detail/framework-plugin/relationship.md +2 -3
  322. package/zh/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  323. package/zh/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  324. package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  325. package/zh/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  326. package/zh/guides/topic-detail/generator/codesmith/api/git.md +48 -0
  327. package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +56 -0
  328. package/zh/guides/topic-detail/generator/codesmith/api/json.md +58 -0
  329. package/zh/guides/topic-detail/generator/codesmith/api/npm.md +45 -0
  330. package/zh/guides/topic-detail/generator/codesmith/develop.md +52 -0
  331. package/zh/guides/topic-detail/generator/codesmith/introduce.md +42 -1
  332. package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  333. package/zh/guides/topic-detail/generator/codesmith/structure.md +86 -0
  334. package/zh/guides/topic-detail/generator/config/mwa.md +4 -8
  335. package/zh/guides/topic-detail/generator/plugin/api/file/addFile.md +1 -1
  336. package/zh/guides/topic-detail/generator/plugin/api/file/addHelper.md +1 -1
  337. package/zh/guides/topic-detail/generator/plugin/api/file/addPartial.md +2 -2
  338. package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
  339. package/zh/guides/topic-detail/generator/plugin/api/file/rmDir.md +1 -1
  340. package/zh/guides/topic-detail/generator/plugin/api/file/rmFile.md +1 -1
  341. package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +3 -2
  342. package/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +2 -2
  343. package/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +1 -1
  344. package/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.md +3 -3
  345. package/zh/guides/topic-detail/generator/plugin/api/hook/onForged.md +3 -3
  346. package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -1
  347. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -1
  348. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  349. package/zh/guides/topic-detail/generator/plugin/api/new/createElement.md +1 -1
  350. package/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.md +1 -1
  351. package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.md +1 -1
  352. package/zh/guides/topic-detail/generator/plugin/api/npm/install.md +1 -1
  353. package/zh/guides/topic-detail/generator/plugin/develop.md +11 -7
  354. package/zh/guides/topic-detail/model/quick-start.md +4 -0
  355. package/zh/guides/topic-detail/monorepo/sub-project-interface.md +0 -2
  356. package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +2 -2
  357. package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +2 -2
  358. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +5 -2
  359. package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -8
  360. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +12 -6
  361. package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +2 -4
  362. package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +1 -1
  363. package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +44 -50
  364. package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +1 -1
  365. package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +4 -4
  366. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +8 -21
  367. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +37 -13
  368. package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +3 -13
  369. package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +1 -21
  370. package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +9 -9
  371. package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +9 -14
  372. package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +7 -7
  373. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +1 -1
  374. package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +2 -2
  375. package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +8 -17
  376. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +24 -19
  377. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +31 -35
  378. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +4 -9
  379. package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +66 -63
  380. package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +35 -33
  381. package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +28 -102
  382. package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +4 -6
  383. package/zh/tutorials/first-app/c10-model/10.2-add-model.md +3 -3
  384. package/zh/tutorials/first-app/c10-model/10.3-use-model.md +21 -20
  385. package/zh/tutorials/first-app/c10-model/10.4-testing.md +2 -2
  386. package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +34 -68
  387. package/zh/tutorials/first-app/c11-container/11.2-add-container.md +40 -37
  388. package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +6 -4
  389. package/zh/tutorials/first-app/c11-container/11.4-testing.md +2 -2
  390. package/zh/tutorials/foundations/introduction.md +1 -1
  391. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +0 -25
  392. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +0 -72
  393. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +0 -4
  394. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +0 -26
  395. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +0 -896
  396. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +0 -170
  397. package/zh/apis/app/runtime/default-alias.md +0 -23
  398. package/zh/apis/app/runtime/env.md +0 -70
  399. package/zh/apis/app/runtime/plugin/_category_.json +0 -4
  400. package/zh/apis/app/runtime/plugin/abstract.md +0 -26
  401. package/zh/apis/app/runtime/plugin/plugin-api.md +0 -117
  402. package/zh/components/deploy.md +0 -60
  403. package/zh/components/dev-ide.md +0 -1
  404. package/zh/components/entry-name.md +0 -15
  405. package/zh/components/env-prepare.md +0 -1
  406. package/zh/components/launch-bff-choices.md +0 -6
  407. package/zh/guides/advanced-features/bff/bff-server.md +0 -142
  408. package/zh/guides/advanced-features/typescript.md +0 -4
  409. package/zh/guides/basic-features/image.md +0 -43
  410. package/zh/guides/concept/integrated.md +0 -4
  411. package/zh/guides/concept/solutions.md +0 -4
  412. package/zh/guides/topic-detail/compile-speed.md +0 -182
  413. package/zh/guides/topic-detail/framework-plugin/abstract.md +0 -27
  414. package/zh/guides/troubleshooting/compile.md +0 -379
  415. package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +0 -318
@@ -2,4 +2,45 @@
2
2
  sidebar_position: 1
3
3
  ---
4
4
 
5
- # 介绍
5
+ # 什么是微生成器
6
+
7
+ Modern.js 提供了 `@modern-js/create` 工具和 `new` 命令分别用于初始化创建项目和提供开启一些插件功能的能力,这些工具都是基于微生成器也就是 codesmith 实现的。
8
+
9
+ codesmith 致力于提供一套微生成器的运行机制,并维护微生成器执行过程中的上下文信息,从而实现各种基于文件、命令等操作,完成复杂的操作。
10
+
11
+ codesmith 还将常用的方法进行了封装,可以直接使用其提供的 API 函数,可以更方便的实现自身的微生成器。
12
+
13
+ ## 核心概念
14
+
15
+ ### GeneratorCore
16
+
17
+ GeneratorCore 是 codesmith 运行生成器的核心,维护这生成器执行过程中的上下文及运行方法。
18
+
19
+ ```typescript
20
+ class GeneratorCore {
21
+ logger: ILogger; // 日志
22
+ materialsManager: MaterialsManager; // 资源
23
+ outputPath: string; // 输出路径
24
+ output: { // 输出方法
25
+ fs: (file: string | number, data: any, options?: fs.WriteFileOptions | string) => Promise<void>;
26
+ };
27
+ _context: GeneratorContext; // 上下文信息
28
+ 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>; // 运行子生成器
31
+ }
32
+ ```
33
+
34
+ ### Materials
35
+
36
+ 微生成器资源信息,目前只包含文件资源(fsMaterials),通过该字段可以获取到生成器执行过程中的 template 资源,并通过 API 对其进行操作。
37
+
38
+ ```typescript
39
+ class MaterialsManager {
40
+ materialMap: { // 资源映射关系
41
+ [materialUri: string]: FsMaterial;
42
+ };
43
+ loadLocalGenerator(generator: string): Promise<FsMaterial>; // 加载本地生成器资源(绝对路径)
44
+ loadRemoteGenerator(generator: string): Promise<FsMaterial>; // 加载远程生成器资源(npm 包)
45
+ }
46
+ ```
@@ -0,0 +1,48 @@
1
+ ---
2
+ sidebar_position: 4
3
+ ---
4
+
5
+
6
+ # 使用 JS 代码执行微生成器
7
+
8
+ 除了使用 cli 的方式执行微生成器,我们免不了需要在代码中执行微生成器,下面就介绍在 js 代码中如何执行微生成器。
9
+
10
+ ## 安装 codesmith 依赖
11
+
12
+ ```bash
13
+ pnpm add @modern-js/codesmith
14
+ ```
15
+
16
+ ## 创建 codesmith 实例
17
+
18
+ ```typescript
19
+ import { CodeSmith, Logger } from '@modern-js/codesmith';
20
+
21
+ const smith = new CodeSmith({
22
+ debug: false, // 是否开启 debug 模式,为 true 时会展示生成器中的 debug 信息
23
+ });
24
+ ```
25
+
26
+ ## 调用 forge 方法执行生成器
27
+
28
+ ```typescript
29
+ type RunnerTask = Array<{
30
+ name: string;
31
+ config: Record<string, any>;
32
+ }>;
33
+
34
+ const task: RunnerTask = [
35
+ {
36
+ name: "generator", // 生成器 npm 包名称
37
+ config: {}, // 生成器执行的默认配置
38
+ },
39
+ ];
40
+
41
+ await smith.forge({
42
+ tasks: task.map(runner => ({
43
+ generator: runner.name,
44
+ config: runner.config,
45
+ })),
46
+ pwd: '.', // 生成器执行路径
47
+ });
48
+ ```
@@ -0,0 +1,86 @@
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # 微生成器的组成
6
+
7
+ 一个微生成器项目为一个模块项目或者一个 Npm 包,包中包含几个基本部分:
8
+
9
+ ## package.json
10
+
11
+ npm 包描述信息,包含 name、version、main 等字段。
12
+
13
+ ## 入口文件
14
+
15
+ 上述 main 字段对应的 js 文件。文件为默认导出一个生成器函数,函数格式如下:
16
+
17
+ ```typescript
18
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
19
+
20
+ };
21
+ ```
22
+
23
+ 该函数参数为 context 和 generator:
24
+
25
+ ### context
26
+
27
+ context 提供 codesmith 运行时维护的上下文信息。其类型定义为:
28
+
29
+ ```typescript
30
+ interface GeneratorContext {
31
+ materials: Record<string, FsMaterial>; // 资源
32
+ config: Record<string, any>; // 用户 config 配置
33
+ data?: Record<string, any>; // 用户 data 配置
34
+ current: { material: FsMaterial; } | null; // 当前生成器运行可获取的文件资源
35
+ [key: string]: any; // 其他补充字段
36
+ }
37
+ ```
38
+
39
+ materials 是 codesmith 的抽象文件系统,维护这生成器名称和可操作文件的映射关系。
40
+
41
+ materials 中还维护这一个 default 的映射关系,用于维护当前生成器执行目录的资源信息,通过该字段可以对目标项目资源进行操作。
42
+
43
+ 例如当需要修改当前项目的 `package.json` 中的字段:
44
+
45
+ ```typescript
46
+ const resource = context.materials.default.get(path.join(appDir, 'package.json'))
47
+ ```
48
+
49
+ 将获取到的 resource 传递给 codesmith 提供的 JSON API 即可实现 json 操作。
50
+
51
+ GeneratorContext 的 current 字段上维护这当前运行的生成器文件资源,可以通过 `current.material` 获取到当前的 `FsMaterial`.
52
+
53
+ FsMaterial 中提供了 get 方法用于获取资源文件并将资源文件传给生成器支持的 API 即可对模板文件进行处理。
54
+
55
+ 例如:
56
+
57
+ ```typescript
58
+ const resourceMap = await material.find('templates/**/*');
59
+ ```
60
+
61
+ 通过上述方式可以获取到生成器中符合 `templates/**/*` 规则的所有模板文件,遍历该对象即可对资源文件进行操作。
62
+
63
+ ### generator
64
+
65
+ generator 提供 codesmith 运行时的函数方法。其类型定义为:
66
+
67
+ ```typescript
68
+ interface GeneratorCore {
69
+ logger: Logger; // log 函数,支持 info、warning、debug、error、verbose、stream
70
+ outputPath: string; // 输出文件路径
71
+ output: {
72
+ fs: (file: string | number, data: any, options?: string | fs.WriteFileOptions | undefined) => Promise<void>
73
+ }; // 写文件方法
74
+ runSubGenerator: (subGenerator: string, relativePwdPath?: string | undefined, config?: Record<string, any> | undefined): Promise<void> // 运行子生成器
75
+ }
76
+ ```
77
+
78
+ 其中 outputPath 和 context 中的 `materials.default` 指向相同的目录,outputPath 用于直接计算目标路径并操作,`materials.default` 用于获取资源文件。
79
+
80
+ runSubGenerator 提供了在一个微生成器中去运行其他微生成器的方法,该方法将自动更新和维护新的 context 上下文信息。
81
+
82
+ ## Template 文件
83
+
84
+ 生成器模板文件。
85
+
86
+ 推荐在项目根目录创建一个 templates 目录,用于维护该微生成器的模板文件,微生成器执行过程中只能使用自身的模板文件,对于需要共用的模板文件,建议通过共用子生成器实现。
@@ -32,7 +32,7 @@ New 命令的操作类型(actionType),类型支持两种:
32
32
 
33
33
  - 创建应用入口(entry)
34
34
 
35
- - 新建 Server 自定义源码目(server)
35
+ - 新建自定义 Web Serve 源码目录(server)
36
36
 
37
37
  这两个选项还需要配置具体的配合使用,介绍如下:
38
38
 
@@ -40,11 +40,9 @@ New 命令的操作类型(actionType),类型支持两种:
40
40
 
41
41
  入口名称(name), 字符串类型。
42
42
 
43
- 创建入口除了`name`之外,还需要 `needModifyMWAConfig`、`clientRoute` 字段。
44
-
45
43
  #### framework
46
44
 
47
- 自定义 Server 运行时框架(framework),支持两个选项:
45
+ 自定义 Web Serve 运行时框架(framework),支持两个选项:
48
46
 
49
47
  - Express(express)
50
48
 
@@ -66,13 +64,11 @@ New 命令的操作类型(actionType),类型支持两种:
66
64
 
67
65
  - Storybook(mwa_storybook)
68
66
 
69
- - 部署(deploy)
70
-
71
67
  - 启用「基于 UA 的 Polyfill」功能(polyfill)
72
68
 
73
69
  - 启用「全局代理」(proxy)
74
70
 
75
- `bff` 和 `deploy` 和还需要配置具体的配合使用,介绍如下:
71
+ `bff` 和还需要配置具体的配合使用,介绍如下:
76
72
 
77
73
  #### BFF 相关参数
78
74
 
@@ -86,7 +82,7 @@ BFF 类型(bffType),支持两个选项:
86
82
 
87
83
  ##### framework
88
84
 
89
- 扩展 Web Server 运行时框架(framework),支持两个选项:
85
+ BFF 运行时框架(framework),支持两个选项:
90
86
 
91
87
  - Express(express)
92
88
 
@@ -8,7 +8,7 @@ sidebar_position: 4
8
8
 
9
9
  该方法可用于任何文件类型,对于二进制以外的文件类型,添加文件时会进行 Handlebars 渲染。
10
10
 
11
- 该方法可在 onForged 生命周期的 api 参数上获取。
11
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
12
12
 
13
13
  其类型定义为:
14
14
 
@@ -6,7 +6,7 @@ sidebar_position: 2
6
6
 
7
7
  针对于文本类型文件,增加 Handlebars 的自定义 Help 函数,具体可查看文档[Custom Helpers](https://handlebarsjs.com/guide/#custom-helpers)。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -6,7 +6,7 @@ sidebar_position: 3
6
6
 
7
7
  针对于文本类型文件,增加 Handlebars 的自定义 Partial 片段,具体可查看文档[Partials](https://handlebarsjs.com/guide/#partials)。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -19,7 +19,7 @@ export type ForgedAPI = {
19
19
 
20
20
  ## name
21
21
 
22
- partial名称。
22
+ partial 名称。
23
23
 
24
24
  ## str
25
25
 
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
 
5
5
  # 介绍
6
6
 
7
- 文件操作 API 可在 onForged 生命周期函数中使用,可对当前项目文件进行增、删、改的操作。
7
+ 文件操作 API 可在 `onForged` 生命周期函数中使用,可对当前项目文件进行增、删、改的操作。
8
8
 
9
9
  文件操作 API 相关路径填写项目相对路径即可,生成器插件会自动添加当前项目路径前缀。
10
10
 
@@ -8,7 +8,7 @@ sidebar_position: 10
8
8
 
9
9
  该方法可用于任何文件类型。
10
10
 
11
- 该方法可在 onForged 生命周期的 api 参数上获取。
11
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
12
12
 
13
13
  其类型定义为:
14
14
 
@@ -8,7 +8,7 @@ sidebar_position: 9
8
8
 
9
9
  该方法可用于任何文件类型。
10
10
 
11
- 该方法可在 onForged 生命周期的 api 参数上获取。
11
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
12
12
 
13
13
  其类型定义为:
14
14
 
@@ -8,7 +8,7 @@ sidebar_position: 6
8
8
 
9
9
  该方法适用于 JSON 文件类型,可批量更新 JSON 文件中字段值。
10
10
 
11
- 该方法可在 onForged 生命周期的 api 参数上获取。
11
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
12
12
 
13
13
  其类型定义为:
14
14
 
@@ -29,7 +29,8 @@ JSON 文件的文件名或者文件路径。
29
29
  ## updateInfo
30
30
 
31
31
  字段更新信息。
32
- 该信息使用 Record 形式表示。
32
+
33
+ 该信息使用 `Record` 形式表示。
33
34
 
34
35
  例如需要更新 name 字段:
35
36
 
@@ -6,7 +6,7 @@ sidebar_position: 8
6
6
 
7
7
  更新 `package.json` 中 `modernConfig` 字段。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -22,5 +22,5 @@ export type ForgedAPI = {
22
22
  字段更新信息。
23
23
 
24
24
  :::info
25
- 该函数为 updateJSONFile 的封装,将自动更新 `package.json` 的 `modernConfig` 字段 updateInfo 中只需填写相对于 `modernConfig` 的更新信息即可。
25
+ 该函数为 updateJSONFile 的封装,将自动更新 `package.json` 的 `modernConfig` 字段 `updateInfo` 中只需填写相对于 `modernConfig` 的更新信息即可。
26
26
  :::
@@ -8,7 +8,7 @@ sidebar_position: 7
8
8
 
9
9
  该方法适用与文本列表文件类型。
10
10
 
11
- 该方法可在 onForged 生命周期的 api 参数上获取。
11
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
12
12
 
13
13
  其类型定义为:
14
14
 
@@ -4,7 +4,7 @@ sidebar_position: 2
4
4
 
5
5
  # AfterForged
6
6
 
7
- afterForged 函数为生成器插件生命周期函数,其通常用于定义安装依赖、Git 等操作,专业些操作将会在 onForged 函数执行完成后进行。
7
+ `afterForged` 函数为生成器插件生命周期函数,其通常用于定义安装依赖、Git 等操作,这些操作将会在 `onForged` 函数执行完成后进行。
8
8
 
9
9
  该方法可直接在 context 上获取。
10
10
 
@@ -24,11 +24,11 @@ export interface IPluginContext {
24
24
 
25
25
  ## func
26
26
 
27
- afterForged 参数是一个回调函数,函数参数为 api 和 inputData
27
+ `afterForged` 参数是一个回调函数,函数参数为 `api``inputData。`
28
28
 
29
29
  ### api
30
30
 
31
- 在 afterForged 生命周期中支持的函数列表,具体可查看 [Git API](/docs/guides/topic-detail/generator/plugin/api/git/isInGitRepo) 和 [NPM API](/docs/guides/topic-detail/generator/plugin/api/npm/install)。
31
+ `afterForged` 生命周期中支持的函数列表,具体可查看 [Git API](/docs/guides/topic-detail/generator/plugin/api/git/isInGitRepo) 和 [NPM API](/docs/guides/topic-detail/generator/plugin/api/npm/install)。
32
32
 
33
33
  ### inputData
34
34
 
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
 
5
5
  # OnForged
6
6
 
7
- onForged 函数为生成器插件生命周期函数,其通常用于定义文件类型操作,这些操作将在 base 的工程方案文件操作完成后进行。
7
+ `onForged` 函数为生成器插件生命周期函数,其通常用于定义文件类型操作,这些操作将在 base 的工程方案文件操作完成后进行。
8
8
 
9
9
  该方法可直接在 context 上获取。
10
10
 
@@ -24,11 +24,11 @@ export interface IPluginContext {
24
24
 
25
25
  ## func
26
26
 
27
- onForged 参数是一个回调函数,函数参数为 api 和 inputData。
27
+ `onForged` 参数是一个回调函数,函数参数为 api 和 inputData。
28
28
 
29
29
  ### api
30
30
 
31
- 在 onForged 生命周期中支持的函数列表,具体可查看[文件操作 API](/docs/guides/topic-detail/generator/plugin/api/file/introduce) 和[启用功能 API](/docs/guides/topic-detail/generator/plugin/api/new/introduce)。
31
+ `onForged` 生命周期中支持的函数列表,具体可查看[文件操作 API](/docs/guides/topic-detail/generator/plugin/api/file/introduce) 和[启用功能 API](/docs/guides/topic-detail/generator/plugin/api/new/introduce)。
32
32
 
33
33
  ### inputData
34
34
 
@@ -35,7 +35,7 @@ context.addInputAfter('packageManager', {
35
35
  properties: {
36
36
  language: {
37
37
  type: 'string',
38
- title: i18n.t(localeKeys.plugin_type.self),
38
+ title: '开发语言',
39
39
  enum: [
40
40
  { label: 'TS', value: 'ts' },
41
41
  { label: 'ES6+', value: 'js' },
@@ -35,7 +35,7 @@ context.addInputBefore('packageManager', {
35
35
  properties: {
36
36
  language: {
37
37
  type: 'string',
38
- title: i18n.t(localeKeys.plugin_type.self),
38
+ title: '开发语言',
39
39
  enum: [
40
40
  { label: 'TS', value: 'ts' },
41
41
  { label: 'ES6+', value: 'js' },
@@ -54,7 +54,7 @@ const schema = {
54
54
  properties: {
55
55
  language: {
56
56
  type: 'string',
57
- title: i18n.t(localeKeys.plugin_type.self),
57
+ title: '开发语言',
58
58
  enum: [
59
59
  { label: 'TS', value: 'ts' },
60
60
  { label: 'ES6+', value: 'js' },
@@ -6,7 +6,7 @@ sidebar_position: 2
6
6
 
7
7
  创建工程元素,只支持应用工程方案。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -6,7 +6,7 @@ sidebar_position: 4
6
6
 
7
7
  创建子项目,只支持 Monorepo 工程方案。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -6,7 +6,7 @@ sidebar_position: 3
6
6
 
7
7
  启用功能,支持应用和模块工程方案。
8
8
 
9
- 该方法可在 onForged 生命周期的 api 参数上获取。
9
+ 该方法可在 `onForged` 生命周期的 api 参数上获取。
10
10
 
11
11
  其类型定义为:
12
12
 
@@ -6,7 +6,7 @@ sidebar_position: 1
6
6
 
7
7
  在项目根目录安装依赖。
8
8
 
9
- install 函数中将根据 packageManager 的值使用对应的包管理工具安装依赖。
9
+ install 函数中将根据 `packageManager` 的值使用对应的包管理工具安装依赖。
10
10
 
11
11
  ```ts
12
12
  export type AfterForgedAPI = {
@@ -61,11 +61,15 @@ npx @modern-js/create plugin --plugin @modern-js/generator-plugin-plugin
61
61
  在默认的输入前添加输入,比如在`选择包管理工具`问题前添加问题,具体 Modern.js 每个问题的配置可查看[工程方案配置](/docs/guides/topic-detail/generator/config/common)。
62
62
 
63
63
  ```ts
64
- context.addInputBefore('packageManager', {
65
- key: 'test',
66
- name: '测试输入',
67
- type: 'input'
68
- })
64
+ context.addInputBefore('input2', {
65
+ type: 'object',
66
+ properties: {
67
+ 'input1.2': {
68
+ type: 'string',
69
+ title: 'input1.2',
70
+ },
71
+ },
72
+ });
69
73
  ```
70
74
 
71
75
  - setInput
@@ -73,8 +77,8 @@ context.addInputBefore('packageManager', {
73
77
  设置已经存在问题的属性
74
78
 
75
79
  ```ts
76
- context.setInput('test', 'type', 'radio')
77
- context.setInput('test', 'options', [{ key: 'option1', name: '选项一' }])
80
+ context.setInput('test', 'type', 'number')
81
+ context.setInput('test', 'enum', [{ value: 'option1', label: '选项一' }])
78
82
  ```
79
83
 
80
84
  ### onForged
@@ -3,6 +3,10 @@ sidebar_position: 1
3
3
  title: 快速上手
4
4
  ---
5
5
 
6
+ import ReduckMigration from '@site-docs/components/reduck-migration.md'
7
+
8
+ <ReduckMigration />
9
+
6
10
  [Reduck](https://github.com/modern-js-dev/reduck) 是 Modern.js 团队开发的遵循 MVC 模式的状态管理库,底层状态存储基于 [Redux](https://redux.js.org/) 实现,同时提供更高层级的抽象,并完全兼容 Redux 生态。
7
11
 
8
12
  Reduck 的目标是以 MVC 模式组织 React 应用开发结构,将业务逻辑维护在 Model 层,业务逻辑与 UI 解耦,让开发业务逻辑更集中、更简单,同时通过更高层级的抽象,减少重复工作(样板代码)。
@@ -22,8 +22,6 @@ sidebar_position: 3
22
22
  ? 请填写子项目名称 app
23
23
  ? 请填写子项目目录名称 app
24
24
  ? 请选择开发语言 TS
25
- ? 是否需要支持以下类型应用 不需要
26
- ? 是否需要调整默认配置? 否
27
25
  ```
28
26
 
29
27
  **「模块(内部)」子项目:**
@@ -10,11 +10,11 @@ title: 环境准备
10
10
 
11
11
  ## 1. Node.js
12
12
 
13
- 需要 [Node.js LTS](https://github.com/nodejs/Release),并确保 Node 版本大于等于 14.17.6。
13
+ 需要 [Node.js LTS](https://github.com/nodejs/Release),并确保 Node 版本大于等于 14.19.0, 推荐使用 16.x 版本。
14
14
 
15
15
  Modern.js 推荐在开发环境里先安装 [nvm](https://github.com/nvm-sh/nvm#install--update-script),在 shell 里集成[自动切换 node 版本的脚本](https://github.com/nvm-sh/nvm#deeper-shell-integration)。
16
16
 
17
- 然后只要仓库根目录下有内容为 `lts/fermium` 或 `lts/erbium` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
17
+ 然后只要仓库根目录下有内容为 `lts/fermium` 或 `lts/gallium` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
18
18
 
19
19
  ## 2. pnpm
20
20
 
@@ -75,10 +75,10 @@ ni package.json
75
75
  "dependencies": {
76
76
  "react": "^17",
77
77
  "react-dom": "^17",
78
- "@modern-js/runtime": "^1.0.0"
78
+ "@modern-js/runtime": "^2.0.0"
79
79
  },
80
80
  "devDependencies": {
81
- "@modern-js/app-tools": "^1.0.0"
81
+ "@modern-js/app-tools": "^2.0.0"
82
82
  }
83
83
  }
84
84
  ```
@@ -6,18 +6,21 @@ title: 启用 SSR
6
6
 
7
7
  在项目根目录下创建 `modern.config.js`:
8
8
 
9
+ import Tabs from '@theme/Tabs';
10
+ import TabItem from '@theme/TabItem';
11
+
9
12
  <Tabs>
10
13
  <TabItem value="macOS" label="macOS" default>
11
14
 
12
15
  ```bash
13
- touch modern.config.js
16
+ touch modern.config.ts
14
17
  ```
15
18
 
16
19
  </TabItem>
17
20
  <TabItem value="Windows" label="Windows">
18
21
 
19
22
  ```bash
20
- ni modern.config.js
23
+ ni modern.config.ts
21
24
  ```
22
25
 
23
26
  </TabItem>
@@ -54,14 +54,6 @@ Modern.js 生成器会通过交互式的问题获取一些必要信息,动态
54
54
  # 请选择包管理工具
55
55
  ❯ pnpm
56
56
  Yarn
57
-
58
- # 是否需要支持以下类型应用
59
- ❯ 不需要
60
- Electron
61
-
62
- # 是否需要调整默认配置
63
- ❯ 否
64
-
65
57
  ```
66
58
 
67
59
  项目生成后,在项目根目录执行 `pnpm run dev` 就可以直接进行调试了:
@@ -6,17 +6,23 @@ title: 样板文件
6
6
 
7
7
  ```md
8
8
  .
9
- ├── .vscode/
10
- ├── src/
11
- │   ├── .eslintrc.json
12
- │   ├── App.css
13
- │   └── App.jsx
14
- ├── .editorconfig
9
+ ├── .eslintrc.js
15
10
  ├── .gitignore
11
+ ├── .husky
12
+ ├── .idea
16
13
  ├── .npmrc
17
14
  ├── .nvmrc
15
+ ├── .prettierrc
16
+ ├── .vscode
18
17
  ├── README.md
18
+ ├── modern.config.js
19
19
  ├── package.json
20
+ ├── src
21
+ │   ├── .eslintrc.js
22
+ │   └── routes
23
+ │   ├── index.css
24
+ │   ├── layout.jsx
25
+ │   └── page.jsx
20
26
  └── pnpm-lock.yaml
21
27
  ```
22
28
 
@@ -2,11 +2,9 @@
2
2
  title: ​配置项目
3
3
  ---
4
4
 
5
- 通过命令行工具创建的 Modern.js 项目,在 `package.json` 文件中,存在 `modernConfig` 字段。
5
+ 通过命令行工具创建的 Modern.js 项目,会默认生成 `modern.config.js` 配置文件。
6
6
 
7
- 我们也可以创建 `modern.config.js` 配置文件。
8
-
9
- 这两处都可以进行 Modern.js 项目的配置,并且 `modernConfig` 字段中的配置优先级高于 `modern.config.js` 中相同的内容。
7
+ Modern.js 也支持使用 `package.json` 文件中的 `modernConfig` 字段进行配置,两个位置不支持同时配置同一字段,推荐使用 `modern.config.js` 配置文件进行配置。
10
8
 
11
9
  :::info 注
12
10
 
@@ -15,7 +15,7 @@ cd hello-modern/
15
15
  code .
16
16
  ```
17
17
 
18
- ![vsc-alert](https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/docs/vsc-mwa.png)
18
+ ![vsc-alert](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/vsc-mwa.jpeg)
19
19
 
20
20
  :::info 补充信息
21
21
  必须打开项目根目录,不能打开其他子目录或父目录,否则 IDE 支持不会生效。