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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) 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 -2
  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/model/auto-actions.md +1 -1
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +1 -1
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +1 -1
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -1
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +1 -1
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +1 -1
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +1 -1
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +1 -1
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +56 -0
  20. package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +5 -0
  21. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +12 -0
  22. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +1 -1
  23. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/_category_.json +4 -0
  24. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/_category_.json +4 -0
  25. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  26. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  27. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  28. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  29. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +49 -0
  30. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +58 -0
  31. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +59 -0
  32. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +49 -0
  33. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/develop.md +52 -0
  34. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +46 -0
  35. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  36. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +87 -0
  37. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/_category_.json +4 -0
  38. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +106 -0
  39. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/module.md +39 -0
  40. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/monorepo.md +28 -0
  41. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/mwa.md +89 -0
  42. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/_category_.json +4 -0
  43. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +26 -0
  44. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
  45. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/_category_.json +4 -0
  46. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addFile.md +52 -0
  47. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addHelper.md +26 -0
  48. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addManyFile.md +58 -0
  49. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addPartial.md +26 -0
  50. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +38 -0
  51. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmDir.md +24 -0
  52. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmFile.md +24 -0
  53. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +54 -0
  54. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +26 -0
  55. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +33 -0
  56. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/_category_.json +4 -0
  57. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.md +20 -0
  58. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/initGitRepo.md +16 -0
  59. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/isInGitRepo.md +16 -0
  60. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/_category_.json +4 -0
  61. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/afterForged.md +35 -0
  62. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +36 -0
  63. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/_category_.json +4 -0
  64. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/isFileExit.md +22 -0
  65. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/locale.md +17 -0
  66. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/readDir.md +22 -0
  67. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/_category_.json +4 -0
  68. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +57 -0
  69. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +56 -0
  70. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +42 -0
  71. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInputValue.md +30 -0
  72. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
  73. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +91 -0
  74. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/_category_.json +4 -0
  75. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createElement.md +33 -0
  76. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createSubProject.md +35 -0
  77. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/enableFunc.md +44 -0
  78. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/introduce.md +15 -0
  79. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/_category_.json +4 -0
  80. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/install.md +18 -0
  81. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +125 -0
  82. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +61 -0
  83. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +118 -0
  84. package/en/docusaurus-plugin-content-docs/current.json +39 -3
  85. package/package.json +3 -3
  86. package/scripts/summary.en.json +1 -1
  87. package/scripts/summary.zh.json +1 -1
  88. package/zh/apis/app/commands/new.md +0 -1
  89. package/zh/apis/app/hooks/server/test.md +2 -2
  90. package/zh/apis/app/runtime/web-server/hook.md +4 -4
  91. package/zh/apis/app/runtime/web-server/middleware.md +4 -4
  92. package/zh/configure/app/output/disable-css-extract.md +12 -0
  93. package/zh/guides/advanced-features/bff/_category_.json +5 -1
  94. package/zh/guides/advanced-features/bff/bff-proxy.md +5 -3
  95. package/zh/guides/advanced-features/bff/frameworks.md +72 -51
  96. package/zh/guides/advanced-features/bff/function.md +16 -30
  97. package/zh/guides/advanced-features/bff/index.md +20 -0
  98. package/zh/guides/advanced-features/bff/type.md +43 -0
  99. package/zh/guides/advanced-features/custom-app.md +63 -1
  100. package/zh/guides/advanced-features/web-server.md +21 -110
  101. package/zh/guides/basic-features/data-fetch.md +61 -0
  102. package/zh/guides/basic-features/env-vars.md +88 -41
  103. package/zh/guides/basic-features/routes.md +267 -0
  104. package/zh/guides/concept/entries.md +112 -0
  105. package/zh/guides/concept/lifecycle.md +10 -0
  106. package/zh/guides/get-started/quick-start.md +199 -1
  107. package/zh/guides/get-started/upgrade.md +75 -1
  108. package/zh/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  109. package/zh/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  110. package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  111. package/zh/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  112. package/zh/guides/topic-detail/generator/codesmith/api/git.md +48 -0
  113. package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +56 -0
  114. package/zh/guides/topic-detail/generator/codesmith/api/json.md +58 -0
  115. package/zh/guides/topic-detail/generator/codesmith/api/npm.md +45 -0
  116. package/zh/guides/topic-detail/generator/codesmith/develop.md +52 -0
  117. package/zh/guides/topic-detail/generator/codesmith/introduce.md +42 -1
  118. package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  119. package/zh/guides/topic-detail/generator/codesmith/structure.md +86 -0
  120. package/zh/guides/topic-detail/generator/config/mwa.md +4 -8
  121. package/zh/guides/topic-detail/generator/plugin/api/file/addFile.md +1 -1
  122. package/zh/guides/topic-detail/generator/plugin/api/file/addHelper.md +1 -1
  123. package/zh/guides/topic-detail/generator/plugin/api/file/addPartial.md +2 -2
  124. package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
  125. package/zh/guides/topic-detail/generator/plugin/api/file/rmDir.md +1 -1
  126. package/zh/guides/topic-detail/generator/plugin/api/file/rmFile.md +1 -1
  127. package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +3 -2
  128. package/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +2 -2
  129. package/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +1 -1
  130. package/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.md +3 -3
  131. package/zh/guides/topic-detail/generator/plugin/api/hook/onForged.md +3 -3
  132. package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -1
  133. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -1
  134. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  135. package/zh/guides/topic-detail/generator/plugin/api/new/createElement.md +1 -1
  136. package/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.md +1 -1
  137. package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.md +1 -1
  138. package/zh/guides/topic-detail/generator/plugin/api/npm/install.md +1 -1
  139. package/zh/guides/topic-detail/generator/plugin/develop.md +11 -7
  140. package/zh/guides/topic-detail/monorepo/sub-project-interface.md +0 -2
  141. package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +2 -2
  142. package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -8
  143. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +15 -7
  144. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +1 -1
  145. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +1 -5
  146. package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +0 -8
  147. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +0 -72
  148. package/zh/apis/app/runtime/env.md +0 -70
  149. package/zh/components/deploy.md +0 -60
  150. package/zh/components/dev-ide.md +0 -1
  151. package/zh/components/entry-name.md +0 -15
  152. package/zh/components/env-prepare.md +0 -1
  153. package/zh/components/launch-bff-choices.md +0 -6
  154. package/zh/guides/advanced-features/bff/bff-server.md +0 -142
  155. package/zh/guides/advanced-features/typescript.md +0 -4
  156. package/zh/guides/concept/integrated.md +0 -4
  157. package/zh/guides/concept/solutions.md +0 -4
@@ -1,4 +1,4 @@
1
1
 
2
- > @modern-js/main-doc@2.0.0-beta.1 build /github/workspace/packages/toolkit/main-doc
2
+ > @modern-js/main-doc@2.0.0-beta.2 build /github/workspace/packages/toolkit/main-doc
3
3
  > npx ts-node ./scripts/sync.ts
4
4
 
@@ -39,6 +39,6 @@ Open the above HTML file in the browser, you can see the tile diagram of the pac
39
39
 
40
40
  ## Command Arguments
41
41
 
42
- import CommandTip from '@site-docs/components/command-tip.md'
42
+ import CommandTip from '@site-docs-en/components/command-tip.md'
43
43
 
44
44
  <CommandTip />
@@ -26,6 +26,6 @@ App running at:
26
26
  > Network: http://192.168.0.1:8080/
27
27
  ```
28
28
 
29
- import CommandTip from '@site-docs/components/command-tip.md'
29
+ import CommandTip from '@site-docs-en/components/command-tip.md'
30
30
 
31
31
  <CommandTip />
@@ -17,6 +17,6 @@ Run ESLint to check the syntax of the code. Normally, only the part of the code
17
17
 
18
18
  * `--no-fix` close auto fix by lint.
19
19
 
20
- import CommandTip from '@site-docs/components/command-tip.md'
20
+ import CommandTip from '@site-docs-en/components/command-tip.md'
21
21
 
22
22
  <CommandTip />
@@ -19,7 +19,7 @@ The `modern new` command is used to enable features to an existing project.
19
19
 
20
20
  For example, add application entry, enable some optional features such as Tailwind CSS, micro frontend, etc.
21
21
 
22
- import CommandTip from '@site-docs/components/command-tip.md'
22
+ import CommandTip from '@site-docs-en/components/command-tip.md'
23
23
 
24
24
  <CommandTip />
25
25
 
@@ -32,7 +32,6 @@ $ npx modern new
32
32
  ? 请选择你想要的操作 创建工程元素
33
33
  ? 创建工程元素 新建「应用入口」
34
34
  ? 请填写入口名称 entry
35
- ? 是否需要调整默认配置? 否
36
35
  ```
37
36
 
38
37
  ### Enable Features
@@ -25,7 +25,7 @@ export default defineConfig({
25
25
  })
26
26
  ```
27
27
 
28
- import CommandTip from '@site-docs/components/command-tip.md'
28
+ import CommandTip from '@site-docs-en/components/command-tip.md'
29
29
 
30
30
  <CommandTip />
31
31
 
@@ -31,6 +31,6 @@ Time: 0.994 s, estimated 1 s
31
31
  files match `*.test.(js|ts)` in `api/` or `src/` will be recognized as test cases by default。
32
32
  :::
33
33
 
34
- import CommandTip from '@site-docs/components/command-tip.md'
34
+ import CommandTip from '@site-docs-en/components/command-tip.md'
35
35
 
36
36
  <CommandTip />
@@ -2,7 +2,7 @@
2
2
  sidebar_position: 0
3
3
  ---
4
4
 
5
- # Overview
5
+ # overview
6
6
 
7
7
  This section covers all APIs in `@modern-js/app-tools`.
8
8
 
@@ -3,7 +3,7 @@ sidebar_position: 6
3
3
  title: Auto actions
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 5
3
3
  title: connect
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 11
3
3
  title: createApp
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 10
3
3
  title: createStore
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 7
3
3
  title: handleEffect
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 1
3
3
  title: model
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 4
3
3
  title: useLocalModel
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 2
3
3
  title: useModel
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 3
3
3
  title: useStaticModel
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -3,7 +3,7 @@ sidebar_position: 9
3
3
  title: useStore
4
4
  ---
5
5
 
6
- import ReduckTip from '@site-docs/components/reduck-tip.md'
6
+ import ReduckTip from '@site-docs-en/components/reduck-tip.md'
7
7
 
8
8
  <ReduckTip />
9
9
 
@@ -0,0 +1,56 @@
1
+ :::tip 提示
2
+ The pnpm v6 and pnpm v7 versions do not use the same posture when executing commands. The following should be noted:
3
+
4
+ pnpm v7:
5
+
6
+ When using pnpm to invoke a command in `package.json`, if you need to pass arguments to pnpm, you need to put the arguments before the command.
7
+
8
+ For example, execute the prepare command with the pnpm '--filter' parameter:
9
+
10
+ ```bash
11
+ pnpm run --filter "./packages/**" prepare
12
+ ```
13
+
14
+ If you need to pass parameters to a command, you need to put the parameters after the command.
15
+
16
+ For example, in the following `package.json` configuration:
17
+
18
+ ``` json
19
+ {
20
+ "scripts": {
21
+ "command": "modern command"
22
+ }
23
+ }
24
+ ```
25
+
26
+ The way to carry parameters when executing the command command is:
27
+ ```bash
28
+ pnpm run command --options
29
+ ```
30
+
31
+ pnpm v6:
32
+
33
+ In the following `package.json` configuration:
34
+
35
+ ``` json
36
+ {
37
+ "scripts": {
38
+ "command": "modern command"
39
+ }
40
+ }
41
+ ```
42
+
43
+ If you need to execute `modern command --option`,
44
+
45
+ When using pnpm, you need to execute the `pnpm run command -- --option`。
46
+
47
+ This is because pnpm does not handle command parameters the same as Yarn, but is similar to npm: when not adding a `--` character string, the parameters of pnpm are passed; when using a `--` character string, the parameters of the execution script are passed.
48
+
49
+ In the above example the parameter `--option` is passed to `modern command`. If `pnpm run command --option` is executed, the parameter `--option` will be passed to pnpm.
50
+
51
+ Summary:
52
+
53
+ ** When using pnpm v7, if you pass arguments to pnpm, you need to put the arguments before the command **
54
+
55
+ ** When using pnpm v6, if the parameter passed to pnpm, you do not need to add `--`; if the parameter passed is for script use, you need to add `--` character string **.
56
+ :::
@@ -0,0 +1,5 @@
1
+ :::info information
2
+ By default, the export package name for all APIs in this section is: `@modern-js/runtime/model`.
3
+
4
+ If Reduck is integrated separately from Modern.js, the export package name is: `@modern-js-reduck/react`.
5
+ :::
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: output.disableCssExtract
3
+ sidebar_label: disableCssExtract
4
+ ---
5
+
6
+ :::info BUILDER
7
+ This configuration is Modern.js Builder configuration, there may be links that cannot be redirected. for details, please refer to [output.disableCssExtract](https://modernjs.dev/builder/zh/api/config-output.html#output-disablecssextract)。
8
+ :::
9
+
10
+ import Main from '@modern-js/builder-doc/en/config/output/disableCssExtract.md'
11
+
12
+ <Main />
@@ -9,7 +9,7 @@ sidebar_label: router
9
9
 
10
10
  When `router` is enabled, routing management using conventional routes provided by Modern.js default is supported.
11
11
 
12
- 具体配置如下:
12
+ ## Configuration
13
13
 
14
14
  ### supportHtml5History
15
15
 
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "Project Generator",
3
+ "position": 5
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "Develop microgenerator",
3
+ "position": 5
4
+ }
@@ -0,0 +1,152 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # @modern-js/codesmith-api-app
6
+
7
+ The combination encapsulation of APIs commonly used in the development of microgenerators, including APIs encapsulation of other packages such as fs, git, npm, etc. When the requirements can be met, it is recommended to use the API of the npm package.
8
+
9
+ ## Use
10
+
11
+ ```typescript
12
+ import { AppAPI } from '@modern-js/codesmith-api-app';
13
+
14
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
+ const appApi = new AppAPI(context, generator);
16
+ await appApi.runInstall();
17
+ }
18
+ ```
19
+
20
+ - Create AppAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
21
+ - Just call the API on its example.
22
+
23
+ ## API
24
+
25
+ ### checkEnvironment
26
+
27
+ Check the current generator operating environment, the check items are:
28
+
29
+ 1. The node and node versions, the default is greater than 12.22.12, and the node version can be executed by passing parameters.
30
+ 2. Yarn, pnpm or npm can be used.
31
+
32
+ Parameter:
33
+
34
+ - nodeVersion?: `string`. Node version want to check.
35
+
36
+ ### runInstall
37
+
38
+ To install dependency, you can pass in the install dependency command, which defaults to the `packageManager` value in config.
39
+
40
+ Parameter:
41
+
42
+ - command?: `string`, Install dependency command.
43
+
44
+ ### runGitAndInstall
45
+
46
+ This function performs the following actions:
47
+
48
+ 1. Check whether the current generator execution directory is a git repository.
49
+ 2. If not a git repository, initialization is a git repository.
50
+ 3. Install dependencies.
51
+ 4. Commit the initial commit in a non-monorepo project (judging the condition, `isMonorepoSubProject` does not exist or is false in the config), the commit information is feat: init, and customize is supported.
52
+
53
+
54
+ Parameter:
55
+ - commitMessage?: `string`, Initialization commit message
56
+ - installFunc?: `() => Promise<void>`. Install dependency function
57
+
58
+ ### forgeTemplate
59
+
60
+ Render generator template file.
61
+
62
+ Parameter:
63
+
64
+ - templatePattern: `string`. Template files match regularities,for example: `templates/base-templates/**/*` .
65
+ - filter?: `(resourceKey: string) => boolean`. Filter function, the parameter is the file path matching the `templatePattern`, return true to render the file, return false to render the file.
66
+ - rename?: `(resourceKey: string) => string`. Rename function, the parameter is the file path matching `templatePattern`, and the new filename is returned. The templates directory at the beginning of `resourceKey` and the `.handlebars` suffix at the end will be replaced by default.
67
+ - parameters?: `Record<string, any>`. Render parameter, when there is a handlebars or ejs variable in the template, use it to pass the corresponding variable value.
68
+ - type?: `'handlebars' | 'ejs'`. Template file type, defaults to handlebars.
69
+
70
+ For example:
71
+
72
+ ```typescript
73
+ await appApi.forgeTemplate(
74
+ 'templates/base-templates/**/*',
75
+ undefined,
76
+ resourceKey =>
77
+ resourceKey
78
+ .replace('templates/base-templates/', '')
79
+ .replace('.handlebars', ''),
80
+ );
81
+
82
+ await appApi.forgeTemplate(
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
+ );
97
+ ```
98
+
99
+ ### showSuccessInfo
100
+
101
+ Display success information.
102
+
103
+ Parameter:
104
+
105
+ - successInfo?: `string`. Default is Success.
106
+
107
+ ### runSubGenerator
108
+
109
+ Run the subgenerator.
110
+
111
+ Parameter:
112
+
113
+ - subGenerator: `string`. Subgenerator name or path.
114
+ - relativePwdPath?: `string`. The relative path to which the'string 'subgenerator runs.
115
+ - config?: `Record<string, unknown>`. Default config configuration for subgenerator runs.
116
+
117
+ For example:
118
+
119
+ ```typescript
120
+ await appApi.runSubGenerator(
121
+ getGeneratorPath('@modern-js/repo-generator', context.config.distTag),
122
+ undefined,
123
+ { ...context.config, hasPlugin: false },
124
+ );
125
+ ```
126
+
127
+ ### getInputBySchema
128
+
129
+ User interaction input is done through schema.
130
+
131
+ Parameter:
132
+
133
+ - schema: `FormilySchema | Question[]`. Question list, supports Formily schema and inquirer types.
134
+ - type: `'formily' | 'inquirer'`. Schema type, the default value is formily.
135
+ - configValue: `Record<string, unknown> = {}`. Schema default value, the problem corresponding to the schema field passed in this value will no longer interact with the user.
136
+ - validateMap?: `Record<string, (input: unknown, data?: Record<string, unknown>) => { success: boolean; error?: string }>`. Validation function for special fields in schema.
137
+ - initValue?: `Record<string, any>`. Schema the initialization value of the field.
138
+
139
+ For Formily Schema type support, please refer to [Customize input related type definition](/docs/guides/topic-detail/generator/plugin/api/input/type).
140
+
141
+ ### getInputBySchemaFunc
142
+
143
+ By schema to complete user interaction input, schema parameter value as function, the user handles globalization problems, and only supports Formily schema.
144
+
145
+ Parameter:
146
+
147
+ - schema: `config?: Record<string, any>) => FormilySchema`. Get the problem list function, the config parameter is the config configuration information in the current generator.
148
+ - configValue: `Record<string, unknown> = {}`. Schema default value, the problem corresponding to the schema field passed in this value will no longer interact with the user.
149
+ - validateMap?: `Record<string, (input: unknown, data?: Record<string, unknown>) => { success: boolean; error?: string }>`. Validation function for special fields in schema.
150
+ - initValue?: `Record<string, any>`. Schema the initialization value of the field.
151
+
152
+ For Formily Schema type support, please refer to [Customize input related type definition](/docs/guides/topic-detail/generator/plugin/api/input/type).
@@ -0,0 +1,56 @@
1
+ ---
2
+ sidebar_position: 6
3
+ ---
4
+
5
+ # @modern-js/codesmith-api-ejs
6
+
7
+ An API wrapper for file operations using [ejs] (https://ejs.co/) in microgenerators, providing a way to render individual template files and folders.
8
+
9
+ ## Use
10
+
11
+ ```typescript
12
+ import { EjsAPI } from '@modern-js/codesmith-api-ejs';
13
+
14
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
+ const ejsAPI = new EjsAPI(generator);
16
+ await ejsAPI.renderTemplate(
17
+ material.get('templates/a.js'),
18
+ target: 'b.js',
19
+ { data: "data" }
20
+ );
21
+ }
22
+ ```
23
+
24
+ - Create EjsAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
25
+ - Just call the API on its example.
26
+
27
+ ## API
28
+
29
+ ### renderTemplate
30
+
31
+ Render a single template file.
32
+
33
+ Parameter:
34
+
35
+ - templateResource: `FsResource`. Template file resource, used by `context.materials.get(<filename>)`.
36
+ - target: `string`. Target file path name.
37
+ - parameters?: `Record<string, string>`. Render parameter.
38
+
39
+ ### renderTemplateDir
40
+
41
+ Render template folder.
42
+
43
+ Parameter:
44
+
45
+ - material: `FsMaterial`. The material context of the current microgenerator execution.
46
+ - findGlob: `string`. Template file matches the regular.
47
+ - target: `(globMatch: string) => string`. The target file path generation function, the parameter is `resourceKey.`
48
+ - options?: `RenderTemplateDirOptions`. Glob Find the file configuration, the specific function viewable is here [glob] (https://www.npmjs.com/package/glob).
49
+
50
+ ```typescript
51
+ type RenderTemplateDirOptions = {
52
+ nodir?: boolean;
53
+ dot?: boolean;
54
+ ignore?: string | readonly string[];
55
+ };
56
+ ```
@@ -0,0 +1,54 @@
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # @modern-js/codesmith-api-fs
6
+
7
+ API wrapper for file operations in microgenerators, providing methods to render individual template files and folders. FsAPI is usually used to handle binaries or template files that cannot be handled with handlebars, ejs.
8
+
9
+ ## Use
10
+
11
+ ```typescript
12
+ import { FsAPI } from '@modern-js/codesmith-api-fs';
13
+
14
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
+ const handlebarApi = new HandlebarsAPI(generator);
16
+ await handlebarsAPI.renderFile(
17
+ material.get('templates/a.js'),
18
+ target: 'b.js'
19
+ );
20
+ }
21
+ ```
22
+
23
+ - Create FsAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
24
+ - Just call the API on its example.
25
+
26
+ ## API
27
+
28
+ ### renderFile
29
+
30
+ Render a single template file.
31
+
32
+ Parameter:
33
+
34
+ - resource: `FsResource`. Template file resource, used by `context.materials.get(<filename>)`.
35
+ - target: `string`. Target file path name.
36
+
37
+ ### renderDir
38
+
39
+ Render template folder.
40
+
41
+ Parameter:
42
+
43
+ - material: `FsMaterial`. The material context of the current microgenerator execution.
44
+ - findGlob: `string`. Template file matches the regular.
45
+ - target: `(globMatch: string) => string`. The target file path generation function, the parameter is `resourceKey.`
46
+ - options?: `RenderTemplateDirOptions`. Glob Find the file configuration, the specific function viewable is here [glob] (https://www.npmjs.com/package/glob).
47
+
48
+ ```typescript
49
+ type RenderTemplateDirOptions = {
50
+ nodir?: boolean;
51
+ dot?: boolean;
52
+ ignore?: string | readonly string[];
53
+ };
54
+ ```
@@ -0,0 +1,49 @@
1
+ ---
2
+ sidebar_position: 4
3
+ ---
4
+
5
+ # @modern-js/codesmith-api-git
6
+
7
+ The API encapsulation of git-related operations in the micro-generator provides methods for judging git repository, initialization and commit code.
8
+
9
+ ## Use
10
+
11
+ ```typescript
12
+ import { GitAPI } from '@modern-js/codesmith-api-git';
13
+
14
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
+ const gitApi = new GitAPI(generatorCore, generatorContext);
16
+ await gitApi.initGitRepo();
17
+ }
18
+ ```
19
+
20
+ - Create GitAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
21
+
22
+ - Just call the API on its example.
23
+
24
+ ## API
25
+
26
+ ### isInGitRepo
27
+
28
+ Whether the current directory is a git repository.
29
+
30
+ Parameter:
31
+
32
+ - cwd?: `string`. The execution directory of the git command, the default is microgenerator `outputPath`.
33
+
34
+ ### initGitRepo
35
+
36
+ The initialization is the git repository. The default branch name for init can be configured via `defaultBranch` in the generator config.
37
+
38
+ Parameter:
39
+
40
+ - cwd?: `string`. The execution directory of the git command, the default is microgenerator `outputPath`.
41
+ - force?: `boolean`. Use this parameter to force git init when the current directory is already a git repository.
42
+
43
+ ### addAndCommit
44
+
45
+ Execute `git add .` and `git commit` commit the current changes.
46
+
47
+ Parameter:
48
+ - commitMessage: `string`. Commit information.
49
+ - cwd?: `string`. The execution directory of the git command, the default is microgenerator `outputPath`.
@@ -0,0 +1,58 @@
1
+ ---
2
+ sidebar_position: 5
3
+ ---
4
+
5
+ # @modern-js/codesmith-api-handlebars
6
+
7
+ An API wrapper for file operations using [handlebars] (https://handlebarsjs.com/) in the microgenerator, providing a way to render individual template files and folders.
8
+
9
+ ## Use
10
+
11
+ ```typescript
12
+ import { HandlebarsAPI } from '@modern-js/codesmith-api-handlebars';
13
+
14
+ export default async (context: GeneratorContext, generator: GeneratorCore) => {
15
+ const handlebarApi = new HandlebarsAPI(generator);
16
+ await handlebarsAPI.renderTemplate(
17
+ material.get('templates/a.js'),
18
+ target: 'b.js',
19
+ { data: "data" }
20
+ );
21
+ }
22
+ ```
23
+
24
+ - Create HandlebarsAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
25
+
26
+ - Just call the API on its example.
27
+
28
+
29
+ ## API
30
+
31
+ ### renderTemplate
32
+
33
+ Render a single template file.
34
+
35
+ Parameter:
36
+
37
+ - templateResource: `FsResource`. Template file resource, used by `context.materials.get(<filename>)`.
38
+ - target: `string`. Target file path name.
39
+ - parameters?: `Record<string, string>`. Render parameter.
40
+
41
+ ### renderTemplateDir
42
+
43
+ Render template folder.
44
+
45
+ Parameter:
46
+
47
+ - material: `FsMaterial`. The material context of the current microgenerator execution.
48
+ - findGlob: `string`. Template file matches the regular.
49
+ - target: `(globMatch: string) => string`. The target file path generation function, the parameter is `resourceKey.`
50
+ - options?: `RenderTemplateDirOptions`. Glob Find the file configuration, the specific function viewable is here [glob] (https://www.npmjs.com/package/glob).
51
+
52
+ ```typescript
53
+ type RenderTemplateDirOptions = {
54
+ nodir?: boolean;
55
+ dot?: boolean;
56
+ ignore?: string | readonly string[];
57
+ };
58
+ ```