@modern-js/main-doc 2.21.1 → 2.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (253) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/en/apis/app/commands.mdx +5 -5
  3. package/docs/en/apis/app/hooks/api/api.mdx +80 -0
  4. package/docs/en/apis/app/hooks/api/app.mdx +12 -0
  5. package/docs/en/apis/app/hooks/api/lambda.mdx +57 -0
  6. package/docs/en/apis/app/hooks/api/test.mdx +1 -1
  7. package/docs/en/apis/app/hooks/config/html.mdx +2 -2
  8. package/docs/en/apis/app/hooks/config/icon.mdx +19 -19
  9. package/docs/en/apis/app/hooks/config/mock.mdx +1 -1
  10. package/docs/en/apis/app/hooks/config/public.mdx +10 -10
  11. package/docs/en/apis/app/hooks/config/storybook.mdx +3 -3
  12. package/docs/en/apis/app/hooks/config/upload.mdx +13 -13
  13. package/docs/en/apis/app/hooks/modern-config.mdx +4 -4
  14. package/docs/en/apis/app/hooks/server/index_.mdx +2 -9
  15. package/docs/en/apis/app/hooks/server/test.mdx +5 -2
  16. package/docs/en/apis/app/hooks/shared.mdx +1 -1
  17. package/docs/en/apis/app/hooks/src/app.mdx +17 -27
  18. package/docs/en/apis/app/hooks/src/index_.mdx +6 -6
  19. package/docs/en/apis/app/hooks/src/pages.mdx +41 -37
  20. package/docs/en/apis/app/hooks/src/routes.mdx +16 -36
  21. package/docs/en/apis/app/hooks/src/server.mdx +1 -1
  22. package/docs/en/apis/app/hooks/src/stories.mdx +6 -3
  23. package/docs/en/apis/app/hooks/src/test.mdx +4 -3
  24. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +5 -1
  25. package/docs/en/apis/app/runtime/web-server/hook.mdx +2 -2
  26. package/docs/en/apis/app/runtime/web-server/middleware.mdx +2 -2
  27. package/docs/en/components/init-app.mdx +3 -3
  28. package/docs/en/components/init-rspack-app.mdx +4 -4
  29. package/docs/en/components/language-config.mdx +9 -0
  30. package/docs/en/components/package-manager.mdx +11 -0
  31. package/docs/en/components/ua-polyfill.mdx +2 -2
  32. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  33. package/docs/en/configure/app/source/design-system.mdx +67 -67
  34. package/docs/en/configure/app/source/disable-default-entries.mdx +6 -5
  35. package/docs/en/configure/app/source/disable-entry-dirs.mdx +5 -5
  36. package/docs/en/configure/app/source/enable-async-entry.mdx +9 -9
  37. package/docs/en/configure/app/source/entries-dir.mdx +3 -3
  38. package/docs/en/configure/app/source/entries.mdx +21 -19
  39. package/docs/en/configure/app/tools/swc.mdx +2 -2
  40. package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
  41. package/docs/en/guides/advanced-features/bff/function.mdx +4 -4
  42. package/docs/en/guides/advanced-features/bff/type.mdx +5 -5
  43. package/docs/en/guides/advanced-features/rspack-start.mdx +6 -6
  44. package/docs/en/guides/advanced-features/ssg.mdx +2 -2
  45. package/docs/en/guides/advanced-features/testing.mdx +2 -2
  46. package/docs/en/guides/advanced-features/web-server.mdx +2 -2
  47. package/docs/en/guides/basic-features/css.mdx +2 -2
  48. package/docs/en/guides/basic-features/mock.mdx +1 -1
  49. package/docs/en/guides/basic-features/routes.mdx +11 -7
  50. package/docs/en/guides/concept/entries.mdx +3 -3
  51. package/docs/en/guides/topic-detail/generator/create/_category_.json +4 -0
  52. package/docs/en/guides/topic-detail/generator/create/config.mdx +75 -0
  53. package/docs/en/guides/topic-detail/generator/create/option.md +151 -0
  54. package/docs/en/guides/topic-detail/generator/create/use.mdx +66 -0
  55. package/docs/en/guides/topic-detail/generator/new/_category_.json +4 -0
  56. package/docs/en/guides/topic-detail/generator/new/config.md +155 -0
  57. package/docs/en/guides/topic-detail/generator/new/option.md +67 -0
  58. package/docs/en/guides/topic-detail/generator/new/use.md +95 -0
  59. package/docs/en/guides/topic-detail/generator/plugin/_category_.json +2 -2
  60. package/docs/en/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
  61. package/docs/en/guides/topic-detail/generator/plugin/api/afterForged.md +49 -0
  62. package/docs/en/guides/topic-detail/generator/plugin/api/context.md +184 -0
  63. package/docs/en/guides/topic-detail/generator/plugin/api/input.md +124 -0
  64. package/docs/en/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
  65. package/docs/en/guides/topic-detail/generator/plugin/category.md +88 -0
  66. package/docs/en/guides/topic-detail/generator/plugin/context.md +104 -0
  67. package/docs/en/guides/topic-detail/generator/plugin/structure.md +106 -0
  68. package/docs/en/guides/topic-detail/generator/plugin/use.md +33 -0
  69. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +8 -8
  70. package/docs/en/tutorials/first-app/c03-css.mdx +2 -2
  71. package/docs/en/tutorials/first-app/c08-entries.mdx +3 -3
  72. package/docs/zh/apis/app/commands.mdx +3 -3
  73. package/docs/zh/apis/app/hooks/api/{functions/api.mdx → api.mdx} +4 -4
  74. package/docs/zh/apis/app/hooks/api/app.mdx +12 -0
  75. package/docs/zh/apis/app/hooks/api/{framework/lambda.mdx → lambda.mdx} +5 -5
  76. package/docs/zh/apis/app/hooks/api/test.mdx +3 -3
  77. package/docs/zh/apis/app/hooks/config/icon.mdx +15 -15
  78. package/docs/zh/apis/app/hooks/config/mock.mdx +1 -1
  79. package/docs/zh/apis/app/hooks/config/public.mdx +3 -3
  80. package/docs/zh/apis/app/hooks/config/upload.mdx +1 -1
  81. package/docs/zh/apis/app/hooks/modern-config.mdx +3 -3
  82. package/docs/zh/apis/app/hooks/server/index_.mdx +1 -6
  83. package/docs/zh/apis/app/hooks/shared.mdx +1 -1
  84. package/docs/zh/apis/app/hooks/src/app.mdx +15 -25
  85. package/docs/zh/apis/app/hooks/src/index_.mdx +6 -6
  86. package/docs/zh/apis/app/hooks/src/pages.mdx +7 -3
  87. package/docs/zh/apis/app/hooks/src/routes.mdx +4 -4
  88. package/docs/zh/apis/app/hooks/src/stories.mdx +1 -1
  89. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +5 -1
  90. package/docs/zh/components/language-config.mdx +9 -0
  91. package/docs/zh/components/package-manager.mdx +11 -0
  92. package/docs/zh/components/ua-polyfill.mdx +1 -1
  93. package/docs/zh/configure/app/source/design-system.mdx +3 -4
  94. package/docs/zh/configure/app/source/enable-async-entry.mdx +2 -5
  95. package/docs/zh/configure/app/source/entries.mdx +2 -2
  96. package/docs/zh/configure/app/tools/swc.mdx +2 -2
  97. package/docs/zh/guides/advanced-features/rspack-start.mdx +6 -6
  98. package/docs/zh/guides/advanced-features/ssg.mdx +1 -1
  99. package/docs/zh/guides/advanced-features/testing.mdx +2 -2
  100. package/docs/zh/guides/advanced-features/web-server.mdx +1 -1
  101. package/docs/zh/guides/basic-features/css.mdx +1 -1
  102. package/docs/zh/guides/basic-features/mock.mdx +1 -1
  103. package/docs/zh/guides/basic-features/routes.mdx +7 -4
  104. package/docs/zh/guides/concept/entries.mdx +3 -3
  105. package/docs/zh/guides/topic-detail/generator/create/_category_.json +4 -0
  106. package/docs/zh/guides/topic-detail/generator/create/config.mdx +76 -0
  107. package/docs/zh/guides/topic-detail/generator/create/option.md +151 -0
  108. package/docs/zh/guides/topic-detail/generator/create/use.mdx +66 -0
  109. package/docs/zh/guides/topic-detail/generator/new/_category_.json +4 -0
  110. package/docs/zh/guides/topic-detail/generator/new/config.md +153 -0
  111. package/docs/zh/guides/topic-detail/generator/new/option.md +67 -0
  112. package/docs/zh/guides/topic-detail/generator/new/use.md +94 -0
  113. package/docs/zh/guides/topic-detail/generator/plugin/_category_.json +2 -2
  114. package/docs/zh/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
  115. package/docs/zh/guides/topic-detail/generator/plugin/api/afterForged.md +50 -0
  116. package/docs/zh/guides/topic-detail/generator/plugin/api/context.md +184 -0
  117. package/docs/zh/guides/topic-detail/generator/plugin/api/input.md +124 -0
  118. package/docs/zh/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
  119. package/docs/zh/guides/topic-detail/generator/plugin/category.md +93 -0
  120. package/docs/zh/guides/topic-detail/generator/plugin/context.md +105 -0
  121. package/docs/zh/guides/topic-detail/generator/plugin/structure.md +106 -0
  122. package/docs/zh/guides/topic-detail/generator/plugin/use.md +33 -0
  123. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +4 -4
  124. package/docs/zh/guides/topic-detail/model/test-model.mdx +1 -1
  125. package/docs/zh/tutorials/first-app/c03-css.mdx +1 -1
  126. package/docs/zh/tutorials/first-app/c08-entries.mdx +1 -1
  127. package/package.json +5 -5
  128. package/docs/en/apis/app/hooks/api/framework/_category_.json +0 -4
  129. package/docs/en/apis/app/hooks/api/framework/lambda.mdx +0 -57
  130. package/docs/en/apis/app/hooks/api/functions/_category_.json +0 -4
  131. package/docs/en/apis/app/hooks/api/functions/api.mdx +0 -81
  132. package/docs/en/apis/app/hooks/api/functions/app.mdx +0 -12
  133. package/docs/en/apis/app/hooks/api/functions/common.mdx +0 -9
  134. package/docs/en/guides/topic-detail/generator/codesmith/_category_.json +0 -4
  135. package/docs/en/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
  136. package/docs/en/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
  137. package/docs/en/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
  138. package/docs/en/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
  139. package/docs/en/guides/topic-detail/generator/codesmith/api/git.mdx +0 -50
  140. package/docs/en/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -57
  141. package/docs/en/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
  142. package/docs/en/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -48
  143. package/docs/en/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
  144. package/docs/en/guides/topic-detail/generator/codesmith/introduce.mdx +0 -47
  145. package/docs/en/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
  146. package/docs/en/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
  147. package/docs/en/guides/topic-detail/generator/config/_category_.json +0 -4
  148. package/docs/en/guides/topic-detail/generator/config/app.mdx +0 -82
  149. package/docs/en/guides/topic-detail/generator/config/common.mdx +0 -100
  150. package/docs/en/guides/topic-detail/generator/config/module.mdx +0 -42
  151. package/docs/en/guides/topic-detail/generator/config/monorepo.mdx +0 -28
  152. package/docs/en/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
  153. package/docs/en/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
  154. package/docs/en/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
  155. package/docs/en/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
  156. package/docs/en/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -58
  157. package/docs/en/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
  158. package/docs/en/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
  159. package/docs/en/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
  160. package/docs/en/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
  161. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
  162. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
  163. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
  164. package/docs/en/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
  165. package/docs/en/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
  166. package/docs/en/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
  167. package/docs/en/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
  168. package/docs/en/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
  169. package/docs/en/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
  170. package/docs/en/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
  171. package/docs/en/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
  172. package/docs/en/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
  173. package/docs/en/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
  174. package/docs/en/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
  175. package/docs/en/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
  176. package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -55
  177. package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -55
  178. package/docs/en/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
  179. package/docs/en/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -31
  180. package/docs/en/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
  181. package/docs/en/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -90
  182. package/docs/en/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
  183. package/docs/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
  184. package/docs/en/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
  185. package/docs/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
  186. package/docs/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
  187. package/docs/en/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
  188. package/docs/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -18
  189. package/docs/en/guides/topic-detail/generator/plugin/develop.mdx +0 -125
  190. package/docs/en/guides/topic-detail/generator/plugin/use.mdx +0 -61
  191. package/docs/en/guides/topic-detail/generator/project.mdx +0 -118
  192. package/docs/zh/apis/app/hooks/api/framework/_category_.json +0 -4
  193. package/docs/zh/apis/app/hooks/api/functions/_category_.json +0 -4
  194. package/docs/zh/apis/app/hooks/api/functions/app.mdx +0 -12
  195. package/docs/zh/apis/app/hooks/api/functions/common.mdx +0 -9
  196. package/docs/zh/guides/topic-detail/generator/codesmith/_category_.json +0 -4
  197. package/docs/zh/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
  198. package/docs/zh/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
  199. package/docs/zh/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
  200. package/docs/zh/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
  201. package/docs/zh/guides/topic-detail/generator/codesmith/api/git.mdx +0 -49
  202. package/docs/zh/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -56
  203. package/docs/zh/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
  204. package/docs/zh/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -47
  205. package/docs/zh/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
  206. package/docs/zh/guides/topic-detail/generator/codesmith/introduce.mdx +0 -59
  207. package/docs/zh/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
  208. package/docs/zh/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
  209. package/docs/zh/guides/topic-detail/generator/config/_category_.json +0 -4
  210. package/docs/zh/guides/topic-detail/generator/config/app.mdx +0 -82
  211. package/docs/zh/guides/topic-detail/generator/config/common.mdx +0 -100
  212. package/docs/zh/guides/topic-detail/generator/config/module.mdx +0 -42
  213. package/docs/zh/guides/topic-detail/generator/config/monorepo.mdx +0 -28
  214. package/docs/zh/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
  215. package/docs/zh/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
  216. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
  217. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
  218. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -55
  219. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
  220. package/docs/zh/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
  221. package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
  222. package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
  223. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
  224. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
  225. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
  226. package/docs/zh/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
  227. package/docs/zh/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
  228. package/docs/zh/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
  229. package/docs/zh/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
  230. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
  231. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
  232. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
  233. package/docs/zh/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
  234. package/docs/zh/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
  235. package/docs/zh/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
  236. package/docs/zh/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
  237. package/docs/zh/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
  238. package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -57
  239. package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -56
  240. package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
  241. package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -29
  242. package/docs/zh/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
  243. package/docs/zh/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -92
  244. package/docs/zh/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
  245. package/docs/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
  246. package/docs/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
  247. package/docs/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
  248. package/docs/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
  249. package/docs/zh/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
  250. package/docs/zh/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -16
  251. package/docs/zh/guides/topic-detail/generator/plugin/develop.mdx +0 -125
  252. package/docs/zh/guides/topic-detail/generator/plugin/use.mdx +0 -61
  253. package/docs/zh/guides/topic-detail/generator/project.mdx +0 -118
@@ -449,7 +449,7 @@ export const init = (context: RuntimeContext) => {
449
449
  在约定式路由下, Modern.js 会根据路由,自动地对路由进行分片,当用户访问具体的路由时,会自动加载对应的分片,这样可以有效地减少首屏加载的时间。但这也带来了一个问题,当用户访问一个路由时,如果该路由对应的分片还未加载完成,就会出现白屏的情况。
450
450
  这种情况下你可以通过定义 `Loading` 组件,在静态资源加载完成前,展示一个自定义的 `Loading` 组件。
451
451
 
452
- 为了进一步提升用户体验,减少 loading 的时间,Modern.js 支持在 Link 组件上定义 `prefetch` 属性,可以提前对静态资源和数据进行加载, `prefetch` 属性有三个可选值:
452
+ 为了进一步提升用户体验,减少 loading 的时间,Modern.js 支持在 Link 组件上定义 `prefetch` 属性,可以提前对静态资源和数据进行加载:
453
453
 
454
454
  ```tsx
455
455
  <Link prefetch="intent" to="page">
@@ -461,6 +461,8 @@ export const init = (context: RuntimeContext) => {
461
461
 
462
462
  :::
463
463
 
464
+ `prefetch` 属性有三个可选值:
465
+
464
466
  - `none`, 默认值,不会做 prefetch,没有任何额外的行为。
465
467
  - `intent`,这是我们推荐大多数场景下使用的值,当你把鼠标放在 Link 上时,会自动开始加载对应的分片和 Data Loader 中定义的数据,当鼠标移开时,会自动取消加载。在我们的测试中,即使是快速点击,也能减少大约 200ms 的加载时间。
466
468
  - `render`,当 Link 组件渲染时,就会加载对应的分片和 Data Loader 中定义的数据。
@@ -505,8 +507,6 @@ export default () => {
505
507
  Modern.js 默认对约定式路由做了一系列资源加载及渲染上的优化,并且提供了开箱即用的 SSR 能力,而这些能力,在使用自控路由时,都需要开发者自行封装,推荐开发者使用约定式路由。
506
508
  :::
507
509
 
508
- 使用自控式路由时,如果开发者关闭了 [`runtime.router`](/configure/app/runtime/router) 配置,并直接使用 `react-router-dom`,那还需要根据 React Router 文档自行包裹 `Provider`。
509
-
510
510
  ## 其他路由方案
511
511
 
512
512
  默认情况下,Modern.js 会开启内置的路由方案,即 React Router。
@@ -519,7 +519,9 @@ export default defineConfig({
519
519
  });
520
520
  ```
521
521
 
522
- Modern.js `@modern-js/runtime/router` 命名空间暴露了 React Router 的 API 供开发者使用,保证开发者和 Modern.js 中使用同一份代码。另外,这种情况下,React Router 的代码会被打包到 JS 产物中。如果项目已经有自己的路由方案,或者不需要使用客户端路由,可以关闭这个功能。
522
+ 如上述配置,当开启 [`runtime.router`](/configure/app/runtime/router) 配置时,Modern.js 会从 `@modern-js/runtime/router` 命名空间导出 React Router 的 API 供开发者使用,保证开发者和 Modern.js 中使用同一份代码,并自动根据 router 配置包裹 `Provider` 组件。另外,这种情况下,React Router 的代码会被打包到 JS 产物中。
523
+
524
+ 如果项目已经有自己的路由方案,或者不需要使用客户端路由,可以关闭这个功能。
523
525
 
524
526
  ```js
525
527
  export default defineConfig({
@@ -529,5 +531,6 @@ export default defineConfig({
529
531
  });
530
532
  ```
531
533
 
534
+ 如上述配置, 如果关闭了 [`runtime.router`](/configure/app/runtime/router) 配置,并直接使用 `react-router-dom` 进行项目路由管理时,还需要根据 React Router 文档自行包裹 `Provider`。
532
535
 
533
536
 
@@ -33,9 +33,9 @@ Modern.js 初始化的项目是单入口的(SPA),项目结构如下:
33
33
  在 Modern.js 项目中,你可以很方便的将单入口切换成多入口,直接在项目下执行 `pnpm run new`,通过生成器创建入口即可:
34
34
 
35
35
  ```bash
36
- ? 请选择你想要的操作:创建工程元素
37
- ? 创建工程元素:新建「应用入口」
38
- ? 请填写入口名称:new-entry
36
+ ? 请选择你想要的操作 创建工程元素
37
+ ? 请选择创建元素类型 新建「应用入口」
38
+ ? 请填写入口名称 new-entry
39
39
  ```
40
40
 
41
41
  执行后,Modern.js 会自动生成一个新的入口目录,此时可以看到 `src/` 目录变成如下结构:
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "@modern-js/create",
3
+ "position": 1
4
+ }
@@ -0,0 +1,76 @@
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # 配置参数
6
+
7
+ `@modern-js/create` 提供了 [--config](/guides/topic-detail/generator/create/option.html#-c,---config-<config>) 参数,用于提前指定执行过程中交互问题的答案。
8
+
9
+ 这里将介绍不同情况下,可以在 `config` 中配置的字段及字段值。
10
+
11
+
12
+ ## 通用配置
13
+
14
+ ### solution
15
+
16
+ 问题:请选择你想创建的工程类型
17
+
18
+ 选项:
19
+
20
+ - Web 应用 -- mwa
21
+
22
+ - Npm 模块 -- module
23
+
24
+ - 文档站 -- doc
25
+
26
+ - Monorepo -- monorepo
27
+
28
+ ### scenes
29
+
30
+ 问题:请选择项目场景
31
+
32
+ 选项:
33
+
34
+ 使用自定义生成器插件时的插件关键字列表。
35
+
36
+ ## Web 应用
37
+
38
+ import LanguageConfig from '@site-docs/components/language-config';
39
+
40
+ <LanguageConfig />
41
+
42
+ import PackageManager from '@site-docs/components/package-manager';
43
+
44
+ <PackageManager />
45
+
46
+ ### buildTools
47
+
48
+ 问题:请选择构建工具
49
+
50
+ 选项:
51
+
52
+ - webpack -- webpack
53
+
54
+ - Rspack -- rspack
55
+
56
+ ## Npm 模块
57
+
58
+ ### packageName
59
+
60
+ 问题:请填写项目名称
61
+
62
+ :::info
63
+ Npm 模块的 `package.json` 的 name 字段值,该配置值为字符串类型。
64
+ :::
65
+
66
+ <LanguageConfig />
67
+
68
+ <PackageManager />
69
+
70
+ ## 文档站
71
+
72
+ <PackageManager />
73
+
74
+ ## Monorepo
75
+
76
+ <PackageManager />
@@ -0,0 +1,151 @@
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # CLI 参数
6
+
7
+ `@modern-js/create` 提供了很多配置参数用于配置其执行过程中的行为,可以通过 `--help` 参数进行查看:
8
+
9
+ ```bash
10
+ npx @modern-js/create@latest --help
11
+
12
+ Usage: npx @modern-js/create@latest [projectDir]
13
+
14
+ 创建 Modern.js 工程方案
15
+
16
+ Options:
17
+ --version 当前 create 工具版本号
18
+ --lang <lang> 设置 create 工具语言(zh 或者 en)
19
+ -c, --config <config> 创建项目默认配置(JSON 字符串) (default: "{}")
20
+ -d,--debug 开启 Debug 模式,打印调试日志信息 (default: false)
21
+ --mwa 一键创建 Web 应用(使用默认配置) (default: false)
22
+ --module 一键创建 Module 应用(使用默认配置) (default: false)
23
+ --monorepo 一键创建 Monorepo 应用(使用默认配置) (default: false)
24
+ --generator <generator> 使用自定义生成器
25
+ -p, --plugin <plugin> 使用生成器插件创建新的工程方案类型或定制化 Modern.js 工程方案 (default: [])
26
+ --dist-tag <distTag> 生成项目时生成器使用特殊的 npm Tag (default: "")
27
+ --packages <packages> 创建项目指定特定依赖版本信息 (default: "{}")
28
+ --registry <registry> 在创建过程中定制 npm Registry (default: "")
29
+ --no-need-install 无需安装依赖
30
+ -h, --help display help for command
31
+
32
+ Commands:
33
+ clean-cache 清除本地生成器缓存
34
+ ```
35
+
36
+ 下面将针对这些参数做详细介绍:
37
+
38
+ ## [projectDir]
39
+
40
+ 项目目录名称。
41
+
42
+ 执行 `@modern-js/create` 时,默认会在当前目录创建 `projectDir` 文件夹,并在该文件夹下初始化项目。该参数为空时,将会在当前目录直接生成初始化项目。
43
+
44
+ :::info
45
+ 如果 `projectDir` 所在目录内容不为空,将会提示是否继续创建,推荐在空目录下进行项目初始化操作。
46
+ :::
47
+
48
+ ## --version
49
+
50
+ 获取 `@modern-js/create` 工具版本。
51
+
52
+ ```bash
53
+ npx @modern-js/create@latest --version
54
+
55
+ [INFO] @modern-js/create v2.21.1
56
+ ```
57
+
58
+ ## --lang \<lang>
59
+
60
+ 执行执行语言,支持 `zh` 和 `en`。
61
+
62
+ 默认情况下,`@modern-js/create` 会自动识别用户的系统语言,选择使用中文或者英文,如果识别失败或者不符合使用习惯,可以使用该参数手动指定。
63
+
64
+ ## -c, --config \<config>
65
+
66
+ 指定项目默认配置。
67
+
68
+ 默认情况下,`@modern-js/create` 在执行过程中会出现选择语言、包管理工具等交互问题,当需要提前指定这些配置内容时,可以通过该字段传入。
69
+
70
+ 该字段为 JSON 字符串,例如需指定包管理工具时:
71
+
72
+ ```bash
73
+ npx @modern-js/create@latest --config '{"packageManager": "pnpm"}'
74
+ ```
75
+
76
+ `config` 支持的参数可查看[配置参数](/guides/topic-detail/generator/create/config.html)。
77
+
78
+ ## -d,--debug
79
+
80
+ 展示调试日志。
81
+
82
+ 当在使用过程中遇到问题时,可以使用该参数显示调试日志,方便快速定位问题位置及对问题进行排查。
83
+
84
+ ## --mwa
85
+
86
+ 快速创建 Web 应用项目。
87
+
88
+ ## --module
89
+
90
+ 快速创建 Npm 模块项目。
91
+
92
+ ## --monorepo
93
+
94
+ 快速创建 Monorepo 项目。
95
+
96
+ ## -p, --plugin \<plugin>
97
+
98
+ 指定生成器插件。
99
+
100
+ `@modern-js/create` 支持使用生成器插件定制 Modern.js 默认的工程方案类型或者添加工程方案类型场景,详情可查看[开发生成器插件](/guides/topic-detail/generator/plugin/structure.html)。
101
+
102
+ ## --generator \<generator>
103
+
104
+ 指定微生成器。
105
+
106
+ <!-- TODO 详情可查看[开发微生成器]-->
107
+ `@modern-js/create` 支持使用微生成器完全定制项目生成流程。
108
+
109
+ ## --dist-tag \<distTag>
110
+
111
+ 指定生成器及 Modern.js 相关依赖版本。
112
+
113
+ `@modern-js/create` 执行过程中会执行更小的微生成器,默认会使用 `latest` 的微生成器版本,使用该参数可以指定执行的微生成器的版本号和对应的安装 Modern.js 相关依赖的版本。
114
+
115
+ 比如使用 `next` 版本:
116
+
117
+ ```bash
118
+ npx @modern-js/create@next --dist-tag next
119
+ ```
120
+
121
+ ## --packages \<packages>
122
+
123
+ 创建项目是指定特定包版本依赖。
124
+
125
+ 在创建项目时如果有需要指定特定包版本,可以使用该参数。该参数会在项目根目录的 `package.json` 中配置 `pnpm.overrides`(包管理工具选择 pnpm) 或者 `resolutions` 锁定包版本号。
126
+
127
+ 该参数值为 JSON 字符串。
128
+
129
+ 例如指定 react 版本:
130
+
131
+ ```bash
132
+ npx @modern-js/create@latest --packages '{"react":"^17"}'
133
+ ```
134
+
135
+ ## --registry \<registry>
136
+
137
+ 指定执行子生成器和获取项目依赖版本的 npm registry。
138
+
139
+ ## --no-need-install
140
+
141
+ 忽略自动安装依赖。
142
+
143
+ 默认情况下,`@modern-js/create` 在创建项目完成后会自动安装依赖,使用该参数可以忽略安装依赖步骤。
144
+
145
+ ## clean-cache
146
+
147
+ `@modern-js/create` 默认会在执行机器的 tmp 目录生成子生成器缓存用于加快生成器执行速度,在需要刷新缓存或者缓存出现问题时可以使用该命令删除缓存。
148
+
149
+ ```bash
150
+ npx @modern-js/create@latest clean-cache
151
+ ```
@@ -0,0 +1,66 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # 使用
6
+
7
+ Modern.js 提供了 `@modern-js/create` 工具用于创建 Modern.js 提供的工程方案项目,例如 [Web 应用](https://modernjs.dev/)、[Npm 模块](https://modernjs.dev/module-tools)、[文档站](https://modernjs.dev/doc-tools)、[Monorepo](/guides/topic-detail/monorepo/intro.html) 等。
8
+
9
+ 下面将介绍 `@modern-js/create` 的使用姿势。
10
+
11
+ ## 环境准备
12
+
13
+ import Prerequisites from "@site-docs/components/prerequisites"
14
+
15
+ <Prerequisites />
16
+
17
+ ## 使用 `@modern-js/create` 创建项目
18
+
19
+ 不需要全局安装 `@modern-js/create`,直接使用 npx 执行即可:
20
+
21
+ ```bash
22
+ npx @modern-js/create@latest [projectDir]
23
+ ```
24
+
25
+ :::info
26
+ `[projectDir]` 为项目目录名称,不填写将会在当前目录创建项目。
27
+ :::
28
+
29
+ 执行过程中需要根据提示完成交互,创建符合需求的项目。
30
+
31
+ ### 创建 Web 应用项目
32
+
33
+ ```bash
34
+ npx @modern-js/create@latest web-app
35
+ ? 请选择你想创建的工程类型 Web 应用
36
+ ? 请选择开发语言 TS
37
+ ? 请选择包管理工具 pnpm
38
+ ? 请选择构建工具 webpack
39
+ ```
40
+
41
+ ### 创建 Npm 模块项目
42
+
43
+ ```bash
44
+ npx @modern-js/create@latest npm-module
45
+ ? 请选择你想创建的工程类型 Npm 模块
46
+ ? 请填写项目名称 npm-module
47
+ ? 请选择开发语言 TS
48
+ ? 请选择包管理工具 pnpm
49
+ ```
50
+
51
+ ### 创建文档站项目
52
+
53
+ ```bash
54
+ npx @modern-js/create@latest doc-website
55
+ ? 请选择你想创建的工程类型 文档站
56
+ ? 请选择包管理工具 pnpm
57
+ ```
58
+
59
+ ### 创建 Monorepo
60
+
61
+ ```bash
62
+ npx @modern-js/create@latest monorepo
63
+ ? 请选择你想创建的工程类型 Monorepo
64
+ ? 请选择包管理工具 pnpm
65
+ ```
66
+
@@ -0,0 +1,4 @@
1
+ {
2
+ "label": "new 命令",
3
+ "position": 2
4
+ }
@@ -0,0 +1,153 @@
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # 配置参数
6
+
7
+ `new` 命令提供了 [--config](/guides/topic-detail/generator/new/option.html#-c,---config-<config>) 参数,用于提前指定执行过程中交互问题的答案。
8
+
9
+ 这里将介绍不同情况下,可以在 `config` 中配置的字段及字段值。
10
+
11
+ ## 通用配置
12
+
13
+ ### actionType
14
+
15
+ 问题:请选择你想要的操作
16
+
17
+ 选项:
18
+
19
+ - 创建工程元素 -- element
20
+
21
+ - 启用可选功能 -- function
22
+
23
+ - 自动重构 -- refactor
24
+
25
+ ## Web 应用
26
+
27
+ ### element
28
+
29
+ 问题:请选择创建元素类型
30
+
31
+ 选项:
32
+
33
+ - 新建「应用入口」 -- entry
34
+
35
+ - 新建「自定义 Web Server」源码目录 -- server
36
+
37
+ ### name
38
+
39
+ 问题: 请填写入口名称
40
+
41
+ :::info
42
+ 新建应用入口时需要该配置,该配置值为字符串类型。
43
+ :::
44
+
45
+ ### function
46
+
47
+ 问题:请选择功能名称
48
+
49
+ 选项:
50
+
51
+ - 启用「Rspack 构建」 -- rspack
52
+
53
+ - 启用 「Tailwind CSS」 支持 -- tailwindcss
54
+
55
+ - 启用「BFF」功能 -- bff
56
+
57
+ - 启用「SSG」功能 -- ssg
58
+
59
+ - 启用「SWC 编译」-- swc
60
+
61
+ - 启用「微前端」模式 -- micro_frontend
62
+
63
+ - 启用「单元测试 / 集成测试」功能 -- test
64
+
65
+ - 启用「基于 UA 的 Polyfill」功能 -- polyfill
66
+
67
+ - 启用「全局代理」 -- proxy
68
+
69
+ - 启用「Visual Testing (Storybook)」模式 -- mwa_storybook
70
+
71
+ ### bffType
72
+
73
+ 问题:请选择 BFF 类型
74
+
75
+ 选项:
76
+
77
+ - 函数模式 -- func
78
+
79
+ - 框架模式 -- framework
80
+
81
+ :::info
82
+ 启用 BFF 功能时需要该配置。
83
+ :::
84
+
85
+ ### framework
86
+
87
+ 问题:请选择运行时框架
88
+
89
+ 选项:
90
+
91
+ - Express -- express
92
+
93
+ - Koa -- koa
94
+
95
+ :::info
96
+ 启用 BFF 功能时需要该配置。
97
+ :::
98
+
99
+ ### refactor
100
+
101
+ 问题:请选择重构类型
102
+
103
+ 选项:
104
+
105
+ - 使用 React Router v5 -- react_router_5
106
+
107
+ ## Npm 模块
108
+
109
+ ### function
110
+
111
+ 问题:启用可选功能
112
+
113
+ 选项:
114
+
115
+ - 启用「单元测试 / 集成测试」功能 -- test
116
+
117
+ - 启用 「Tailwind CSS」 支持 -- tailwindcss
118
+
119
+ - 启用「Storybook」 -- storybook
120
+
121
+ - 启用「Runtime API」 -- runtime_api
122
+
123
+ ## Monorepo
124
+
125
+ ### sub_solution
126
+
127
+ 问题:请选择你想创建的工程类型
128
+
129
+ 选项:
130
+
131
+ - Web 应用 -- mwa
132
+
133
+ - Web 应用(测试)-- mwa_test
134
+
135
+ - Npm 模块 -- module
136
+
137
+ - Npm 模块(内部)-- inner_module
138
+
139
+ ### packageName
140
+
141
+ 问题:请填写子项目名称
142
+
143
+ :::info
144
+ 子项目的 `package.json` 的 name 字段值,该配置值为字符串类型。
145
+ :::
146
+
147
+ ### packagePath
148
+
149
+ 问题:请填写子项目目录名称
150
+
151
+ :::info
152
+ 子项目基于 apps 或者 packages 目录的子目录名称,该字段为字符串类型。
153
+ :::
@@ -0,0 +1,67 @@
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # CLI 参数
6
+
7
+ `new` 命令提供了很多配置参数用于配置其执行过程中的行为,可以通过 `--help` 参数进行查看:
8
+
9
+ ```bash
10
+ npm run new --help
11
+
12
+ Usage: modern new [options]
13
+
14
+ 启用可选功能
15
+
16
+ Options:
17
+ --lang <lang> 设置 new 命令执行语言(zh 或者 en)
18
+ -c, --config <config> 生成器运行默认配置(JSON 字符串)
19
+ -d, --debug 开启 Debug 模式,打印调试日志信息 (default: false)
20
+ --dist-tag <tag> 生成器使用特殊的 npm Tag 版本
21
+ --registry <registry> 生成器运行过程中定制 npm Registry
22
+ -h, --help display help for command
23
+ ```
24
+
25
+ 下面将针对这些参数做详细介绍:
26
+
27
+ ## --lang \<lang>
28
+
29
+ 执行执行语言,支持 `zh` 和 `en`。
30
+
31
+ 默认情况下,`new` 命令会自动识别用户的系统语言,选择使用中文或者英文,如果识别失败或者不符合使用习惯,可以使用该参数手动指定。
32
+
33
+ ## -c, --config \<config>
34
+
35
+ 指定项目默认配置。
36
+
37
+ 默认情况下,new 命令在执行过程中会出现选择操作类型、开启功能等交互问题,当需要提前指定这些配置内容时,可以通过该字段传入。
38
+
39
+ 该字段为 JSON 字符串,例如需指定 BFF 框架时:
40
+
41
+ ```bash
42
+ npm run new --config '{"framework": "express"}'
43
+ ```
44
+
45
+ `config` 支持的参数可查看[配置参数](/guides/topic-detail/generator/new/config.html)。
46
+
47
+ ## -d,--debug
48
+
49
+ 展示调试日志。
50
+
51
+ 当在使用过程中遇到问题时,可以使用该参数显示调试日志,方便快速定位问题位置及对问题进行排查。
52
+
53
+ ## --registry \<registry>
54
+
55
+ 指定执行子生成器和获取项目依赖版本的 npm registry。
56
+
57
+ ## --dist-tag \<distTag>
58
+
59
+ 指定生成器版本。
60
+
61
+ `new` 命令执行过程中会执行更小的微生成器,默认会使用 `latest` 的微生成器版本,使用该参数可以指定执行的微生成器的版本号的版本。
62
+
63
+ 比如使用 `next` 版本:
64
+
65
+ ```bash
66
+ npm run new --dist-tag next
67
+ ```
@@ -0,0 +1,94 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # 使用
6
+
7
+ 在 Web 应用、 Npm 模块和 Monorepo 项目中,我们提供了 `new` 命令用于创建项目元素、开启功能和创建子项目。
8
+
9
+ ## Web 应用
10
+
11
+ Web 应用项目通过 `@modern-js/app-tools` 提供 `new` 命令。
12
+
13
+ new 命令提供了三种操作类型:
14
+
15
+ - 创建工程元素
16
+
17
+ - 启用可选功能
18
+
19
+ - 自动重构
20
+
21
+ 每种操作类型都提供了对应支持的列表,可根据项目情况进行选择。
22
+
23
+ 例如:
24
+
25
+ 创建新的应用入口:
26
+
27
+ ```bash
28
+ npm run new
29
+ ? 请选择你想要的操作 创建工程元素
30
+ ? 请选择创建元素类型 新建「应用入口」
31
+ ? 请填写入口名称 entry
32
+ ```
33
+
34
+ 执行完成后将会在项目 `src` 目录创建新入口对应名称的文件夹及默认入口文件,并且自动帮忙整理之前 `src` 下入口文件到 `package.json` 中 `name` 字段对应的文件夹中。
35
+
36
+ 开启 BFF 功能:
37
+
38
+ ```bash
39
+ npm run new
40
+ ? 请选择你想要的操作 启用可选功能
41
+ ? 请选择功能名称 启用「BFF」功能
42
+ ? 请选择 BFF 类型 函数模式
43
+ ? 请选择运行时框架 Express
44
+ ```
45
+
46
+ 执行完成后将会在项目安装 BFF 相关依赖,并创建 api 目录用于 BFF 模块的开发并提供提示信息用于注册 BFF 插件。
47
+
48
+ :::info
49
+ 这里未帮助用户自动注册插件,原因是由于 `modern.config.[tj]s` 在项目生命周期中变化比较复杂,可能存在模块之间互相引用问题,让用户手动注册能保证修改配置的正确性。
50
+
51
+ 在后续定制化的开发中,如果有类似的需求,也可以通过提示的方式给到使用方操作指南,让用户对文件进行手动操作。
52
+ :::
53
+
54
+ :::warning
55
+ 执行 new 命令时可能会出现需要开启的功能不在列表中,需要检查一下项目 `package.json` 中是否已经安装对应功能的插件,如果仍需使用 new 命令开启,需要先手动移除对应的插件依赖。
56
+ :::
57
+
58
+ ## Npm 模块
59
+
60
+ Npm 模块项目通过 `@modern-js/module-tools` 提供 new 命令。
61
+
62
+ new 命令提供了启用可选功能的能力。
63
+
64
+ 例如:
65
+
66
+ 开启 Storybook 能力:
67
+
68
+ ```bash
69
+ npm run new
70
+ ? 请选择你想要的操作 启用可选功能
71
+ ? 请选择功能名称 启用「Storybook」
72
+ ```
73
+
74
+ 执行完成后将会在项目安装 Storybook 插件相关依赖,增加 `storybook` 命令,创建 `stories` 目录用于 Storybook 模块的开发并提供提示信息用于注册 Storybook 插件。
75
+
76
+ ## Monorepo
77
+
78
+ Monorepo 项目通过 `@modern-js/monorepo-tools` 提供 new 命令。
79
+
80
+ new 命令提供了创建子项目的能力。
81
+
82
+ 例如:
83
+
84
+ 创建 Web 应用子项目:
85
+
86
+ ```bash
87
+ ? 请选择你想创建的工程类型 Web 应用
88
+ ? 请填写子项目名称 web_app
89
+ ? 请填写子项目目录名称 web_app
90
+ ? 请选择开发语言 TS
91
+ ? 请选择构建工具 webpack
92
+ ```
93
+
94
+ 执行完成后将会在项目 apps 目录创建 `web_app` 的子项目,在子项目目录中依然可以执行 new 命令创建项目元素和开启功能。
@@ -1,4 +1,4 @@
1
1
  {
2
- "label": "开发生成器插件",
3
- "position": 4
2
+ "label": "生成器插件",
3
+ "position": 2
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "label": "API",
3
- "position": 4
3
+ "position": 5
4
4
  }