create-packer 1.46.4 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/package.json +1 -1
  2. package/template/cli/package.json +53 -53
  3. package/template/cli/scripts/pub.js +39 -39
  4. package/template/cli/src/createTemp.ts +58 -58
  5. package/template/docusaurus/src/components/HomepageFeatures/index.tsx +70 -70
  6. package/template/docusaurus/src/components/HomepageFeatures/styles.module.css +11 -11
  7. package/template/docusaurus/src/css/custom.css +30 -30
  8. package/template/docusaurus/src/pages/index.module.css +23 -23
  9. package/template/docusaurus/src/pages/index.tsx +40 -40
  10. package/template/electron-react/.vscode/extensions.json +7 -7
  11. package/template/electron-react/configs/createChunks.ts +26 -26
  12. package/template/electron-react/configs/rsbuild.main.config.ts +54 -54
  13. package/template/electron-react/configs/rsbuild.preload.config.ts +54 -54
  14. package/template/electron-react/configs/rsbuild.renderer.config.ts +73 -73
  15. package/template/electron-react/env.d.ts +12 -12
  16. package/template/electron-react/eslint.config.mjs +108 -108
  17. package/template/electron-react/package.json +97 -97
  18. package/template/electron-react/pnpm-lock.yaml +10158 -10158
  19. package/template/electron-react/postcss.config.cjs +8 -8
  20. package/template/electron-react/renderer/domain/components/app-context.tsx +31 -31
  21. package/template/electron-react/renderer/domain/components/app.tsx +25 -25
  22. package/template/electron-react/renderer/domain/components/index.ts +1 -1
  23. package/template/electron-react/renderer/domain/models/app.ts +7 -7
  24. package/template/electron-react/renderer/domain/router/components/index.ts +2 -2
  25. package/template/electron-react/renderer/domain/router/components/route-layout.tsx +19 -19
  26. package/template/electron-react/renderer/domain/router/components/sub-route-outlet.tsx +22 -22
  27. package/template/electron-react/renderer/domain/router/home/ids.ts +3 -3
  28. package/template/electron-react/renderer/domain/router/home/index.ts +2 -2
  29. package/template/electron-react/renderer/domain/router/home/routes.tsx +13 -13
  30. package/template/electron-react/renderer/domain/router/ids.ts +6 -6
  31. package/template/electron-react/renderer/domain/router/index.ts +4 -4
  32. package/template/electron-react/renderer/domain/router/router.tsx +28 -28
  33. package/template/electron-react/renderer/domain/router/router.types.ts +3 -3
  34. package/template/electron-react/renderer/main.tsx +4 -4
  35. package/template/electron-react/renderer/pages/home/index.ts +1 -1
  36. package/template/electron-react/renderer/pages/index.tsx +18 -18
  37. package/template/electron-react/renderer/pages/not-found.tsx +3 -3
  38. package/template/electron-react/renderer/scripts/createChunks.ts +26 -26
  39. package/template/electron-react/renderer/scripts/index.ts +1 -1
  40. package/template/electron-react/renderer/shared/components/componentInstance.tsx +80 -80
  41. package/template/electron-react/renderer/shared/components/index.ts +1 -1
  42. package/template/electron-react/renderer/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  43. package/template/electron-react/renderer/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  44. package/template/electron-react/renderer/shared/hooks/defineRouter/index.ts +2 -2
  45. package/template/electron-react/renderer/shared/hooks/index.ts +6 -6
  46. package/template/electron-react/renderer/shared/hooks/useInterval.ts +26 -26
  47. package/template/electron-react/renderer/shared/hooks/useLoadingAction.ts +27 -27
  48. package/template/electron-react/renderer/shared/hooks/useLowPriorityState.ts +26 -26
  49. package/template/electron-react/renderer/shared/hooks/useSyncState.ts +15 -15
  50. package/template/electron-react/renderer/shared/hooks/useVisible.ts +27 -27
  51. package/template/electron-react/renderer/shared/service/api.ts +1 -1
  52. package/template/electron-react/renderer/shared/service/home.ts +9 -9
  53. package/template/electron-react/renderer/shared/service/index.ts +3 -3
  54. package/template/electron-react/renderer/shared/service/request.ts +5 -5
  55. package/template/electron-react/tsconfig.json +33 -33
  56. package/template/electron-react/tsconfig.node.json +10 -10
  57. package/template/electron-vue/.vscode/extensions.json +9 -9
  58. package/template/electron-vue/configs/createChunks.ts +26 -26
  59. package/template/electron-vue/configs/rsbuild.main.config.ts +54 -54
  60. package/template/electron-vue/configs/rsbuild.preload.config.ts +54 -54
  61. package/template/electron-vue/configs/rsbuild.renderer.config.ts +64 -64
  62. package/template/electron-vue/env.d.ts +18 -18
  63. package/template/electron-vue/eslint.config.mjs +115 -115
  64. package/template/electron-vue/package.json +87 -87
  65. package/template/electron-vue/pnpm-lock.yaml +10158 -10158
  66. package/template/electron-vue/postcss.config.cjs +9 -9
  67. package/template/electron-vue/renderer/domain/components/app.vue +18 -18
  68. package/template/electron-vue/renderer/domain/components/createComponentInstance.ts +43 -43
  69. package/template/electron-vue/renderer/domain/components/index.ts +2 -2
  70. package/template/electron-vue/renderer/domain/router/home/index.ts +2 -2
  71. package/template/electron-vue/renderer/domain/router/home/names.ts +3 -3
  72. package/template/electron-vue/renderer/domain/router/home/routes.ts +8 -8
  73. package/template/electron-vue/renderer/domain/router/index.ts +26 -26
  74. package/template/electron-vue/renderer/domain/router/names.ts +5 -5
  75. package/template/electron-vue/renderer/main.css +4 -4
  76. package/template/electron-vue/renderer/main.ts +7 -7
  77. package/template/electron-vue/renderer/pages/home/view.vue +12 -12
  78. package/template/electron-vue/renderer/pages/index.ts +1 -1
  79. package/template/electron-vue/renderer/pages/index.vue +3 -3
  80. package/template/electron-vue/renderer/pages/not-found.vue +3 -3
  81. package/template/electron-vue/renderer/shared/hooks/index.ts +2 -2
  82. package/template/electron-vue/renderer/shared/hooks/useList.ts +86 -86
  83. package/template/electron-vue/renderer/shared/hooks/useVisible.ts +27 -27
  84. package/template/electron-vue/renderer/shared/service/api.ts +1 -1
  85. package/template/electron-vue/renderer/shared/service/home.ts +7 -7
  86. package/template/electron-vue/renderer/shared/service/index.ts +3 -3
  87. package/template/electron-vue/renderer/shared/service/request.ts +5 -5
  88. package/template/electron-vue/tsconfig.json +25 -25
  89. package/template/electron-vue/tsconfig.node.json +10 -10
  90. package/template/lib/workspace/.storybook/main.ts +16 -16
  91. package/template/lib/workspace/.storybook/preview.tsx +17 -17
  92. package/template/lib/workspace/eslint.config.mjs +119 -119
  93. package/template/lib/workspace/packages/react/src/button/button.stories.ts +44 -44
  94. package/template/web-app/react-rsbuild/.vscode/extensions.json +7 -7
  95. package/template/web-app/react-rsbuild/.vscode/settings.json +4 -4
  96. package/template/web-app/react-rsbuild/domain/components/app-context.tsx +31 -31
  97. package/template/web-app/react-rsbuild/domain/components/app.tsx +25 -25
  98. package/template/web-app/react-rsbuild/domain/components/index.ts +1 -1
  99. package/template/web-app/react-rsbuild/domain/models/app.ts +7 -7
  100. package/template/web-app/react-rsbuild/domain/router/components/index.ts +2 -2
  101. package/template/web-app/react-rsbuild/domain/router/components/route-layout.tsx +19 -19
  102. package/template/web-app/react-rsbuild/domain/router/components/sub-route-outlet.tsx +22 -22
  103. package/template/web-app/react-rsbuild/domain/router/home/ids.ts +3 -3
  104. package/template/web-app/react-rsbuild/domain/router/home/index.ts +2 -2
  105. package/template/web-app/react-rsbuild/domain/router/home/routes.tsx +13 -13
  106. package/template/web-app/react-rsbuild/domain/router/ids.ts +6 -6
  107. package/template/web-app/react-rsbuild/domain/router/index.ts +4 -4
  108. package/template/web-app/react-rsbuild/domain/router/router.tsx +28 -28
  109. package/template/web-app/react-rsbuild/domain/router/router.types.ts +3 -3
  110. package/template/web-app/react-rsbuild/eslint.config.js +107 -107
  111. package/template/web-app/react-rsbuild/main.tsx +6 -6
  112. package/template/web-app/react-rsbuild/package.json +79 -79
  113. package/template/web-app/react-rsbuild/pages/home/index.ts +1 -1
  114. package/template/web-app/react-rsbuild/pages/index.tsx +18 -18
  115. package/template/web-app/react-rsbuild/pages/not-found.tsx +3 -3
  116. package/template/web-app/react-rsbuild/postcss.config.cjs +8 -8
  117. package/template/web-app/react-rsbuild/rsbuild.config.ts +91 -91
  118. package/template/web-app/react-rsbuild/scripts/createChunks.ts +26 -26
  119. package/template/web-app/react-rsbuild/scripts/index.ts +1 -1
  120. package/template/web-app/react-rsbuild/shared/components/componentInstance.tsx +80 -80
  121. package/template/web-app/react-rsbuild/shared/components/index.ts +1 -1
  122. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  123. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  124. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/index.ts +2 -2
  125. package/template/web-app/react-rsbuild/shared/hooks/index.ts +7 -6
  126. package/template/web-app/react-rsbuild/shared/hooks/useDebounceFn.ts +37 -0
  127. package/template/web-app/react-rsbuild/shared/hooks/useInterval.ts +26 -26
  128. package/template/web-app/react-rsbuild/shared/hooks/useLazyRender.ts +30 -0
  129. package/template/web-app/react-rsbuild/shared/hooks/useLowPriorityState.ts +26 -26
  130. package/template/web-app/react-rsbuild/shared/hooks/useSyncState.ts +15 -15
  131. package/template/web-app/react-rsbuild/shared/hooks/useVisible.ts +27 -27
  132. package/template/web-app/react-rsbuild/shared/service/api.ts +1 -1
  133. package/template/web-app/react-rsbuild/shared/service/home.ts +9 -9
  134. package/template/web-app/react-rsbuild/shared/service/index.ts +3 -3
  135. package/template/web-app/react-rsbuild/shared/service/request.ts +5 -5
  136. package/template/web-app/react-rsbuild/tsconfig.json +33 -33
  137. package/template/web-app/react-rsbuild/tsconfig.node.json +10 -10
  138. package/template/web-app/react-vite/.gitignore +3 -3
  139. package/template/web-app/react-vite/.vscode/extensions.json +7 -7
  140. package/template/web-app/react-vite/.vscode/settings.json +4 -4
  141. package/template/web-app/react-vite/domain/components/index.ts +1 -1
  142. package/template/web-app/react-vite/domain/models/app.ts +7 -7
  143. package/template/web-app/react-vite/domain/router/components/route-layout.tsx +19 -19
  144. package/template/web-app/react-vite/domain/router/components/sub-route-outlet.tsx +22 -22
  145. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -3
  146. package/template/web-app/react-vite/domain/router/home/index.ts +2 -2
  147. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -13
  148. package/template/web-app/react-vite/domain/router/ids.ts +6 -6
  149. package/template/web-app/react-vite/domain/router/router.tsx +28 -28
  150. package/template/web-app/react-vite/domain/router/router.types.ts +3 -3
  151. package/template/web-app/react-vite/eslint.config.js +114 -114
  152. package/template/web-app/react-vite/mockUtils.ts +6 -6
  153. package/template/web-app/react-vite/package.json +78 -78
  154. package/template/web-app/react-vite/pages/index.tsx +18 -18
  155. package/template/web-app/react-vite/pages/not-found.tsx +3 -3
  156. package/template/web-app/react-vite/postcss.config.cjs +8 -8
  157. package/template/web-app/react-vite/scripts/createChunks.ts +27 -27
  158. package/template/web-app/react-vite/scripts/index.ts +1 -1
  159. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  160. package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  161. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -2
  162. package/template/web-app/react-vite/shared/hooks/index.ts +7 -6
  163. package/template/web-app/react-vite/shared/hooks/useDebounceFn.ts +37 -0
  164. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -26
  165. package/template/web-app/react-vite/shared/hooks/useLazyRender.ts +30 -0
  166. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -26
  167. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -15
  168. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -27
  169. package/template/web-app/react-vite/shared/service/api.ts +1 -1
  170. package/template/web-app/react-vite/shared/service/home.ts +9 -9
  171. package/template/web-app/react-vite/shared/service/index.ts +3 -3
  172. package/template/web-app/react-vite/shared/service/request.ts +5 -5
  173. package/template/web-app/react-vite/tsconfig.json +33 -33
  174. package/template/web-app/react-vite/tsconfig.node.json +10 -10
  175. package/template/web-app/vue/.vscode/extensions.json +9 -9
  176. package/template/web-app/vue/domain/components/app.vue +18 -18
  177. package/template/web-app/vue/domain/components/createComponentInstance.ts +43 -43
  178. package/template/web-app/vue/domain/components/index.ts +2 -2
  179. package/template/web-app/vue/domain/router/home/index.ts +2 -2
  180. package/template/web-app/vue/domain/router/home/names.ts +3 -3
  181. package/template/web-app/vue/domain/router/home/routes.ts +8 -8
  182. package/template/web-app/vue/domain/router/index.ts +26 -26
  183. package/template/web-app/vue/domain/router/names.ts +5 -5
  184. package/template/web-app/vue/eslint.config.js +123 -123
  185. package/template/web-app/vue/main.css +4 -4
  186. package/template/web-app/vue/main.ts +7 -7
  187. package/template/web-app/vue/mockUtils.ts +6 -6
  188. package/template/web-app/vue/pages/home/view.vue +16 -16
  189. package/template/web-app/vue/pages/index.ts +1 -1
  190. package/template/web-app/vue/pages/index.vue +3 -3
  191. package/template/web-app/vue/pages/not-found.vue +3 -3
  192. package/template/web-app/vue/postcss.config.cjs +8 -8
  193. package/template/web-app/vue/scripts/createChunks.ts +27 -27
  194. package/template/web-app/vue/scripts/index.ts +1 -1
  195. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  196. package/template/web-app/vue/shared/hooks/useList.ts +86 -86
  197. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  198. package/template/web-app/vue/shared/service/api.ts +1 -1
  199. package/template/web-app/vue/shared/service/home.ts +7 -7
  200. package/template/web-app/vue/shared/service/index.ts +3 -3
  201. package/template/web-app/vue/shared/service/request.ts +5 -5
  202. package/template/web-app/vue/tsconfig.json +25 -25
  203. package/template/web-app/vue/tsconfig.node.json +10 -10
  204. package/template/web-app/vue/vite-env.d.ts +18 -18
  205. package/template/web-app/vue/vite.config.ts +68 -68
  206. package/template/web-app/vue-rsbuild/.vscode/extensions.json +9 -9
  207. package/template/web-app/vue-rsbuild/domain/components/app.vue +18 -18
  208. package/template/web-app/vue-rsbuild/domain/components/createComponentInstance.ts +43 -43
  209. package/template/web-app/vue-rsbuild/domain/components/index.ts +2 -2
  210. package/template/web-app/vue-rsbuild/domain/router/home/index.ts +2 -2
  211. package/template/web-app/vue-rsbuild/domain/router/home/names.ts +3 -3
  212. package/template/web-app/vue-rsbuild/domain/router/home/routes.ts +8 -8
  213. package/template/web-app/vue-rsbuild/domain/router/index.ts +26 -26
  214. package/template/web-app/vue-rsbuild/domain/router/names.ts +5 -5
  215. package/template/web-app/vue-rsbuild/env.d.ts +18 -18
  216. package/template/web-app/vue-rsbuild/eslint.config.js +114 -114
  217. package/template/web-app/vue-rsbuild/main.css +4 -4
  218. package/template/web-app/vue-rsbuild/main.ts +7 -7
  219. package/template/web-app/vue-rsbuild/package.json +73 -73
  220. package/template/web-app/vue-rsbuild/pages/home/view.vue +16 -16
  221. package/template/web-app/vue-rsbuild/pages/index.ts +1 -1
  222. package/template/web-app/vue-rsbuild/pages/index.vue +3 -3
  223. package/template/web-app/vue-rsbuild/pages/not-found.vue +3 -3
  224. package/template/web-app/vue-rsbuild/postcss.config.cjs +9 -9
  225. package/template/web-app/vue-rsbuild/rsbuild.config.ts +77 -77
  226. package/template/web-app/vue-rsbuild/scripts/createChunks.ts +26 -26
  227. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  228. package/template/web-app/vue-rsbuild/shared/hooks/index.ts +2 -2
  229. package/template/web-app/vue-rsbuild/shared/hooks/useList.ts +86 -86
  230. package/template/web-app/vue-rsbuild/shared/hooks/useVisible.ts +27 -27
  231. package/template/web-app/vue-rsbuild/shared/service/api.ts +1 -1
  232. package/template/web-app/vue-rsbuild/shared/service/home.ts +7 -7
  233. package/template/web-app/vue-rsbuild/shared/service/index.ts +3 -3
  234. package/template/web-app/vue-rsbuild/shared/service/request.ts +5 -5
  235. package/template/web-app/vue-rsbuild/tsconfig.json +25 -25
  236. package/template/web-app/vue-rsbuild/tsconfig.node.json +10 -10
  237. package/template/web-extension/.vscode/extensions.json +7 -7
  238. package/template/web-extension/.vscode/settings.json +4 -4
  239. package/template/web-extension/.wxt/eslint-auto-imports.mjs +56 -56
  240. package/template/web-extension/.wxt/eslintrc-auto-import.json +21 -21
  241. package/template/web-extension/.wxt/tsconfig.json +27 -27
  242. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  243. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  244. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  245. package/template/web-extension/.wxt/types/imports.d.ts +50 -50
  246. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  247. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  248. package/template/web-extension/entrypoints/background/index.ts +7 -7
  249. package/template/web-extension/entrypoints/content/domain/app/index.ts +1 -1
  250. package/template/web-extension/entrypoints/content/domain/app/tools/index.ts +1 -1
  251. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +58 -58
  252. package/template/web-extension/entrypoints/content/modules/common/index.ts +2 -2
  253. package/template/web-extension/entrypoints/content/modules/common/insert.tsx +9 -9
  254. package/template/web-extension/entrypoints/content/modules/index.ts +1 -1
  255. package/template/web-extension/eslint.config.js +107 -107
  256. package/template/web-extension/package.json +86 -86
  257. package/template/web-extension/postcss.config.cjs +8 -8
  258. package/template/web-extension/shared/background/index.ts +1 -1
  259. package/template/web-extension/shared/background/message.ts +7 -7
  260. package/template/web-extension/shared/components/app-context/view.tsx +19 -19
  261. package/template/web-extension/shared/components/index.ts +1 -1
  262. package/template/web-extension/shared/hooks/index.ts +2 -2
  263. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  264. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  265. package/template/web-extension/shared/service/index.ts +1 -1
  266. package/template/web-extension/shared/service/request.ts +5 -5
  267. package/template/web-extension/tsconfig.node.json +10 -10
  268. package/template/lib/workspace/node_modules/.pnpm/node_modules/react-lib/.gitignore +0 -26
  269. package/template/lib/workspace/node_modules/.pnpm/node_modules/ts-lib/.gitignore +0 -25
  270. package/template/lib/workspace/packages/ts/coverage/base.css +0 -224
  271. package/template/lib/workspace/packages/ts/coverage/block-navigation.js +0 -87
  272. package/template/lib/workspace/packages/ts/coverage/clover.xml +0 -16
  273. package/template/lib/workspace/packages/ts/coverage/coverage-final.json +0 -3
  274. package/template/lib/workspace/packages/ts/coverage/favicon.png +0 -0
  275. package/template/lib/workspace/packages/ts/coverage/index.html +0 -131
  276. package/template/lib/workspace/packages/ts/coverage/index.ts.html +0 -88
  277. package/template/lib/workspace/packages/ts/coverage/prettify.css +0 -1
  278. package/template/lib/workspace/packages/ts/coverage/prettify.js +0 -2
  279. package/template/lib/workspace/packages/ts/coverage/sort-arrow-sprite.png +0 -0
  280. package/template/lib/workspace/packages/ts/coverage/sorter.js +0 -196
  281. package/template/lib/workspace/packages/ts/coverage/sum.ts.html +0 -94
  282. package/template/web-app/react-rsbuild/shared/hooks/useLoadingAction.ts +0 -27
  283. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +0 -27
@@ -1,18 +1,18 @@
1
- <template>
2
- <router-view />
3
- </template>
4
-
5
- <script setup lang="ts">
6
- import { router, routerNames } from '@/domain/router'
7
-
8
- router.beforeEach(async to => {
9
- if (!Object.values(routerNames).includes(to.name as string)) {
10
- return {
11
- replace: true,
12
- name: routerNames.notFound
13
- }
14
- }
15
- })
16
- </script>
17
-
18
- <style scoped></style>
1
+ <template>
2
+ <router-view />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { router, routerNames } from '@/domain/router'
7
+
8
+ router.beforeEach(async to => {
9
+ if (!Object.values(routerNames).includes(to.name as string)) {
10
+ return {
11
+ replace: true,
12
+ name: routerNames.notFound
13
+ }
14
+ }
15
+ })
16
+ </script>
17
+
18
+ <style scoped></style>
@@ -1,43 +1,43 @@
1
- import { createVNode, render, VNodeChild } from 'vue'
2
- import app from './app'
3
-
4
- const store = new Map()
5
-
6
- function reset(oldObj: Record<string, any>, newObj: Record<string, any>) {
7
- Object.keys(oldObj).forEach(k => {
8
- oldObj[k] = void 0
9
- })
10
- Object.assign(oldObj, newObj)
11
- }
12
-
13
- export function createComponentInstance<
14
- P extends Record<string, any>,
15
- E extends Record<string, any>,
16
- Slots extends Record<string, () => VNodeChild> = Record<string, () => VNodeChild>
17
- >(name: string, component: any, props?: P, slots?: Slots) {
18
- let vNode = store.get(name)
19
- function updateProps(props: Partial<P>) {
20
- reset(vNode.component.props, props)
21
- }
22
-
23
- function updateSlots(slots: Partial<Record<string, () => VNodeChild>>) {
24
- reset(vNode.component.slots, slots)
25
- }
26
-
27
- if (!vNode) {
28
- const container = document.createElement('div')
29
- vNode = createVNode(component, props, slots)
30
- vNode.appContext = app._context || {}
31
- store.set(name, vNode)
32
- render(vNode, container)
33
- } else {
34
- updateProps(props || {})
35
- updateSlots(slots || {})
36
- }
37
- return {
38
- instance: vNode,
39
- updateProps,
40
- updateSlots,
41
- ...(vNode.component?.exposed as E)
42
- }
43
- }
1
+ import { createVNode, render, VNodeChild } from 'vue'
2
+ import app from './app'
3
+
4
+ const store = new Map()
5
+
6
+ function reset(oldObj: Record<string, any>, newObj: Record<string, any>) {
7
+ Object.keys(oldObj).forEach(k => {
8
+ oldObj[k] = void 0
9
+ })
10
+ Object.assign(oldObj, newObj)
11
+ }
12
+
13
+ export function createComponentInstance<
14
+ P extends Record<string, any>,
15
+ E extends Record<string, any>,
16
+ Slots extends Record<string, () => VNodeChild> = Record<string, () => VNodeChild>
17
+ >(name: string, component: any, props?: P, slots?: Slots) {
18
+ let vNode = store.get(name)
19
+ function updateProps(props: Partial<P>) {
20
+ reset(vNode.component.props, props)
21
+ }
22
+
23
+ function updateSlots(slots: Partial<Record<string, () => VNodeChild>>) {
24
+ reset(vNode.component.slots, slots)
25
+ }
26
+
27
+ if (!vNode) {
28
+ const container = document.createElement('div')
29
+ vNode = createVNode(component, props, slots)
30
+ vNode.appContext = app._context || {}
31
+ store.set(name, vNode)
32
+ render(vNode, container)
33
+ } else {
34
+ updateProps(props || {})
35
+ updateSlots(slots || {})
36
+ }
37
+ return {
38
+ instance: vNode,
39
+ updateProps,
40
+ updateSlots,
41
+ ...(vNode.component?.exposed as E)
42
+ }
43
+ }
@@ -1,2 +1,2 @@
1
- export { default as App } from './app.vue'
2
- export * from './createComponentInstance'
1
+ export { default as App } from './app.vue'
2
+ export * from './createComponentInstance'
@@ -1,2 +1,2 @@
1
- export { default as names } from './names'
2
- export { default as routes } from './routes'
1
+ export { default as names } from './names'
2
+ export { default as routes } from './routes'
@@ -1,3 +1,3 @@
1
- export default {
2
- home: 'home'
3
- }
1
+ export default {
2
+ home: 'home'
3
+ }
@@ -1,8 +1,8 @@
1
- import { RouteRecordRaw } from 'vue-router'
2
- import names from './names'
3
-
4
- const routes: RouteRecordRaw[] = [
5
- { path: '/home', name: names.home, component: () => import('@/pages/home') }
6
- ]
7
-
8
- export default routes
1
+ import { RouteRecordRaw } from 'vue-router'
2
+ import names from './names'
3
+
4
+ const routes: RouteRecordRaw[] = [
5
+ { path: '/home', name: names.home, component: () => import('@/pages/home') }
6
+ ]
7
+
8
+ export default routes
@@ -1,26 +1,26 @@
1
- import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
2
- import names from './names'
3
- import * as homeRouter from './home'
4
-
5
- const routes: RouteRecordRaw[] = [
6
- {
7
- path: '/',
8
- component: () => import('@/pages'),
9
- redirect: { name: names.home },
10
- children: [
11
- ...homeRouter.routes,
12
- {
13
- path: '/404',
14
- name: names.notFound,
15
- component: () => import('@/pages/not-found.vue')
16
- }
17
- ]
18
- }
19
- ]
20
-
21
- export { default as routerNames } from './names'
22
-
23
- export const router = createRouter({
24
- history: createWebHistory(import.meta.env.PUBLIC_BASE_URL),
25
- routes
26
- })
1
+ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
2
+ import names from './names'
3
+ import * as homeRouter from './home'
4
+
5
+ const routes: RouteRecordRaw[] = [
6
+ {
7
+ path: '/',
8
+ component: () => import('@/pages'),
9
+ redirect: { name: names.home },
10
+ children: [
11
+ ...homeRouter.routes,
12
+ {
13
+ path: '/404',
14
+ name: names.notFound,
15
+ component: () => import('@/pages/not-found.vue')
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+
21
+ export { default as routerNames } from './names'
22
+
23
+ export const router = createRouter({
24
+ history: createWebHistory(import.meta.env.PUBLIC_BASE_URL),
25
+ routes
26
+ })
@@ -1,5 +1,5 @@
1
- import * as homeRouter from './home'
2
- export default {
3
- ...homeRouter.names,
4
- notFound: '404'
5
- }
1
+ import * as homeRouter from './home'
2
+ export default {
3
+ ...homeRouter.names,
4
+ notFound: '404'
5
+ }
@@ -1,18 +1,18 @@
1
- /// <reference types="@rsbuild/core/types" />
2
-
3
- declare module '*.vue' {
4
- import { type DefineComponent } from 'vue'
5
- const component: DefineComponent<Record<string, any>, Record<string, any>, any>
6
- export default component
7
- }
8
-
9
- interface ImportMetaEnv {
10
- readonly PUBLIC_BASE_URL: string
11
- readonly PUBLIC_API_HOST: string
12
- readonly PUBLIC_ENV_MODE: 'production' | 'development'
13
- // 更多环境变量...
14
- }
15
-
16
- interface ImportMeta {
17
- readonly env: ImportMetaEnv
18
- }
1
+ /// <reference types="@rsbuild/core/types" />
2
+
3
+ declare module '*.vue' {
4
+ import { type DefineComponent } from 'vue'
5
+ const component: DefineComponent<Record<string, any>, Record<string, any>, any>
6
+ export default component
7
+ }
8
+
9
+ interface ImportMetaEnv {
10
+ readonly PUBLIC_BASE_URL: string
11
+ readonly PUBLIC_API_HOST: string
12
+ readonly PUBLIC_ENV_MODE: 'production' | 'development'
13
+ // 更多环境变量...
14
+ }
15
+
16
+ interface ImportMeta {
17
+ readonly env: ImportMetaEnv
18
+ }
@@ -1,114 +1,114 @@
1
- import eslint from '@eslint/js'
2
- import globals from 'globals'
3
- import tseslint from 'typescript-eslint'
4
- import importPlugin from 'eslint-plugin-import'
5
- import pluginVue from 'eslint-plugin-vue'
6
-
7
- const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
8
- const files = [...scriptExtensions.map(ext => `**/*.${ext}`), '**/*.vue']
9
-
10
- export default tseslint.config([
11
- { ignores: ['**/node_modules/', 'dist/', '.history/', '.vscode'] },
12
- eslint.configs.recommended,
13
- importPlugin.flatConfigs.recommended,
14
- tseslint.configs.recommended,
15
- pluginVue.configs['flat/recommended'],
16
- {
17
- files,
18
- languageOptions: {
19
- ecmaVersion: 2018,
20
- sourceType: 'module',
21
- parserOptions: {
22
- ecmaFeatures: {
23
- jsx: true
24
- },
25
- useJSXTextNode: true,
26
- parser: tseslint.parser
27
- },
28
- globals: {
29
- ...globals.browser,
30
- ...globals.node
31
- }
32
- },
33
- settings: {
34
- 'import/resolver': {
35
- typescript: true,
36
- node: true
37
- }
38
- },
39
- rules: {
40
- 'import/export': 'off',
41
- 'import/namespace': 'off',
42
- 'import/default': 'off',
43
- 'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
44
- 'import/no-duplicates': ['error', { 'prefer-inline': true }],
45
- 'import/no-named-as-default-member': 'off',
46
- 'import/no-named-as-default': 'off',
47
- 'import/order': [
48
- 'error',
49
- {
50
- groups: [
51
- 'builtin',
52
- 'external',
53
- 'internal',
54
- 'parent',
55
- 'sibling',
56
- 'index',
57
- 'object',
58
- 'type'
59
- ],
60
- pathGroups: [
61
- { pattern: 'vue', group: 'external', position: 'before' },
62
- { pattern: 'vue-router', group: 'external', position: 'before' }
63
- ],
64
- pathGroupsExcludedImportTypes: ['builtin']
65
- }
66
- ],
67
- 'no-case-declarations': 'off',
68
- '@typescript-eslint/no-unused-expressions': 'off',
69
- '@typescript-eslint/no-empty-object-type': 'off',
70
- '@typescript-eslint/no-var-requires': 0,
71
- '@typescript-eslint/explicit-function-return-type': 'off',
72
- '@typescript-eslint/no-explicit-any': 0,
73
- '@typescript-eslint/no-non-null-assertion': 'off',
74
- '@typescript-eslint/no-inferrable-types': [
75
- 'warn',
76
- {
77
- ignoreParameters: true
78
- }
79
- ],
80
- '@typescript-eslint/no-unused-vars': [
81
- 'warn',
82
- {
83
- argsIgnorePattern: '^_'
84
- }
85
- ],
86
- '@typescript-eslint/member-delimiter-style': 0,
87
- '@typescript-eslint/class-name-casing': 0,
88
- '@typescript-eslint/explicit-module-boundary-types': 'off',
89
- '@typescript-eslint/ban-ts-comment': 'off',
90
- '@typescript-eslint/no-empty-interface': 'off',
91
- '@typescript-eslint/triple-slash-reference': 'off',
92
- 'vue/multi-word-component-names': 0,
93
- 'vue/html-indent': ['error', 4],
94
- 'vue/require-default-prop': 'off',
95
- 'vue/one-component-per-file': 'off',
96
- 'vue/no-dupe-keys': 'off',
97
- 'vue/html-self-closing': [
98
- 'error',
99
- {
100
- html: {
101
- void: 'always',
102
- normal: 'always',
103
- component: 'always'
104
- },
105
- svg: 'always',
106
- math: 'always'
107
- }
108
- ],
109
- 'vue/max-attributes-per-line': 'off',
110
- 'vue/singleline-html-element-content-newline': 'off',
111
- 'no-constant-condition': 'off'
112
- }
113
- }
114
- ])
1
+ import eslint from '@eslint/js'
2
+ import globals from 'globals'
3
+ import tseslint from 'typescript-eslint'
4
+ import importPlugin from 'eslint-plugin-import'
5
+ import pluginVue from 'eslint-plugin-vue'
6
+
7
+ const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
8
+ const files = [...scriptExtensions.map(ext => `**/*.${ext}`), '**/*.vue']
9
+
10
+ export default tseslint.config([
11
+ { ignores: ['**/node_modules/', 'dist/', '.history/', '.vscode'] },
12
+ eslint.configs.recommended,
13
+ importPlugin.flatConfigs.recommended,
14
+ tseslint.configs.recommended,
15
+ pluginVue.configs['flat/recommended'],
16
+ {
17
+ files,
18
+ languageOptions: {
19
+ ecmaVersion: 2018,
20
+ sourceType: 'module',
21
+ parserOptions: {
22
+ ecmaFeatures: {
23
+ jsx: true
24
+ },
25
+ useJSXTextNode: true,
26
+ parser: tseslint.parser
27
+ },
28
+ globals: {
29
+ ...globals.browser,
30
+ ...globals.node
31
+ }
32
+ },
33
+ settings: {
34
+ 'import/resolver': {
35
+ typescript: true,
36
+ node: true
37
+ }
38
+ },
39
+ rules: {
40
+ 'import/export': 'off',
41
+ 'import/namespace': 'off',
42
+ 'import/default': 'off',
43
+ 'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
44
+ 'import/no-duplicates': ['error', { 'prefer-inline': true }],
45
+ 'import/no-named-as-default-member': 'off',
46
+ 'import/no-named-as-default': 'off',
47
+ 'import/order': [
48
+ 'error',
49
+ {
50
+ groups: [
51
+ 'builtin',
52
+ 'external',
53
+ 'internal',
54
+ 'parent',
55
+ 'sibling',
56
+ 'index',
57
+ 'object',
58
+ 'type'
59
+ ],
60
+ pathGroups: [
61
+ { pattern: 'vue', group: 'external', position: 'before' },
62
+ { pattern: 'vue-router', group: 'external', position: 'before' }
63
+ ],
64
+ pathGroupsExcludedImportTypes: ['builtin']
65
+ }
66
+ ],
67
+ 'no-case-declarations': 'off',
68
+ '@typescript-eslint/no-unused-expressions': 'off',
69
+ '@typescript-eslint/no-empty-object-type': 'off',
70
+ '@typescript-eslint/no-var-requires': 0,
71
+ '@typescript-eslint/explicit-function-return-type': 'off',
72
+ '@typescript-eslint/no-explicit-any': 0,
73
+ '@typescript-eslint/no-non-null-assertion': 'off',
74
+ '@typescript-eslint/no-inferrable-types': [
75
+ 'warn',
76
+ {
77
+ ignoreParameters: true
78
+ }
79
+ ],
80
+ '@typescript-eslint/no-unused-vars': [
81
+ 'warn',
82
+ {
83
+ argsIgnorePattern: '^_'
84
+ }
85
+ ],
86
+ '@typescript-eslint/member-delimiter-style': 0,
87
+ '@typescript-eslint/class-name-casing': 0,
88
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
89
+ '@typescript-eslint/ban-ts-comment': 'off',
90
+ '@typescript-eslint/no-empty-interface': 'off',
91
+ '@typescript-eslint/triple-slash-reference': 'off',
92
+ 'vue/multi-word-component-names': 0,
93
+ 'vue/html-indent': ['error', 4],
94
+ 'vue/require-default-prop': 'off',
95
+ 'vue/one-component-per-file': 'off',
96
+ 'vue/no-dupe-keys': 'off',
97
+ 'vue/html-self-closing': [
98
+ 'error',
99
+ {
100
+ html: {
101
+ void: 'always',
102
+ normal: 'always',
103
+ component: 'always'
104
+ },
105
+ svg: 'always',
106
+ math: 'always'
107
+ }
108
+ ],
109
+ 'vue/max-attributes-per-line': 'off',
110
+ 'vue/singleline-html-element-content-newline': 'off',
111
+ 'no-constant-condition': 'off'
112
+ }
113
+ }
114
+ ])
@@ -1,4 +1,4 @@
1
- @layer theme, base, components, utilities;
2
- @import "tailwindcss/theme.css" prefix(tw) layer(theme);
3
- @import "tailwindcss/utilities.css" layer(utilities);
4
-
1
+ @layer theme, base, components, utilities;
2
+ @import "tailwindcss/theme.css" prefix(tw) layer(theme);
3
+ @import "tailwindcss/utilities.css" layer(utilities);
4
+
@@ -1,7 +1,7 @@
1
- import { createApp } from 'vue'
2
- import { createPinia } from 'pinia'
3
- import { router } from '@/domain/router'
4
- import { App } from '@/domain/components'
5
- import './main.css'
6
-
7
- createApp(App).use(createPinia()).use(router).mount('#app')
1
+ import { createApp } from 'vue'
2
+ import { createPinia } from 'pinia'
3
+ import { router } from '@/domain/router'
4
+ import { App } from '@/domain/components'
5
+ import './main.css'
6
+
7
+ createApp(App).use(createPinia()).use(router).mount('#app')