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 +1 @@
1
- export { default } from './index.vue'
1
+ export { default } from './index.vue'
@@ -1,3 +1,3 @@
1
- <template>
2
- <div><router-view /></div>
3
- </template>
1
+ <template>
2
+ <div><router-view /></div>
3
+ </template>
@@ -1,3 +1,3 @@
1
- <template>
2
- <div>404</div>
3
- </template>
1
+ <template>
2
+ <div>404</div>
3
+ </template>
@@ -1,8 +1,8 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-import': {},
4
- 'postcss-nesting': {},
5
- autoprefixer: {},
6
- ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
7
- }
8
- }
1
+ module.exports = {
2
+ plugins: {
3
+ 'postcss-import': {},
4
+ 'postcss-nesting': {},
5
+ autoprefixer: {},
6
+ ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
7
+ }
8
+ }
@@ -1,27 +1,27 @@
1
- import { isRegExp, remove } from 'es-toolkit'
2
- import { concat, forEach, forOwn, isArray, size } from 'es-toolkit/compat'
3
- import pkg from '../package.json'
4
-
5
- export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
6
- const vendor = Object.keys(pkg.dependencies)
7
- const result: { [key: string]: string[] } = {}
8
-
9
- forOwn(chunks, (values, key) => {
10
- if (!isArray(result[key])) {
11
- result[key] = []
12
- }
13
- forEach(values, value => {
14
- let modules: string[] = []
15
- if (isRegExp(value)) {
16
- modules = remove(vendor, name => value.test(name))
17
- } else {
18
- modules = remove(vendor, name => name === value)
19
- }
20
- if (size(modules) > 0) {
21
- result[key] = concat(result[key], modules)
22
- }
23
- })
24
- })
25
- result.vendor = vendor
26
- return result
27
- }
1
+ import { isRegExp, remove } from 'es-toolkit'
2
+ import { concat, forEach, forOwn, isArray, size } from 'es-toolkit/compat'
3
+ import pkg from '../package.json'
4
+
5
+ export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
6
+ const vendor = Object.keys(pkg.dependencies)
7
+ const result: { [key: string]: string[] } = {}
8
+
9
+ forOwn(chunks, (values, key) => {
10
+ if (!isArray(result[key])) {
11
+ result[key] = []
12
+ }
13
+ forEach(values, value => {
14
+ let modules: string[] = []
15
+ if (isRegExp(value)) {
16
+ modules = remove(vendor, name => value.test(name))
17
+ } else {
18
+ modules = remove(vendor, name => name === value)
19
+ }
20
+ if (size(modules) > 0) {
21
+ result[key] = concat(result[key], modules)
22
+ }
23
+ })
24
+ })
25
+ result.vendor = vendor
26
+ return result
27
+ }
@@ -1 +1 @@
1
- export * from './createChunks'
1
+ export * from './createChunks'
@@ -1,2 +1,2 @@
1
- export { default as useVisible } from './useVisible'
2
- export { default as useList } from './useList'
1
+ export { default as useVisible } from './useVisible'
2
+ export { default as useList } from './useList'
@@ -1,86 +1,86 @@
1
- import { ref, reactive, computed, unref } from 'vue'
2
- import { cloneDeep, pick, isNil } from 'es-toolkit'
3
- import { assign, size, max } from 'es-toolkit/compat'
4
-
5
- export interface configType<ListItem, P> {
6
- /**
7
- * @description 默认请求参数
8
- */
9
- defaultParams: P
10
- /** 列表请求 */
11
- fetch: (state: { params: P }) => Promise<{
12
- list: ListItem[]
13
- page?: number
14
- pageSize?: number
15
- total?: number
16
- sum?: Record<string, any>
17
- }>
18
- /** 初始化列表时的配置 */
19
- initConfig?: {
20
- /** 初始化的时候需要保留值的字段 */
21
- keepParamsKeys?: Array<keyof P>
22
- }
23
- }
24
-
25
- export default function createListStore<
26
- P extends { page?: number; pageSize?: number; [key: string]: any },
27
- ListItem extends Record<string, any> = Record<string, any>
28
- >(config: configType<ListItem, P>) {
29
- const loading = ref(true)
30
- const total = ref(0)
31
- const params = reactive(cloneDeep(config.defaultParams))
32
- const list = ref<ListItem[]>([])
33
- const sum = reactive<Record<string, any>>({})
34
- const selected = ref<ListItem[]>([])
35
- const selectedKeys = ref<(string | number)[]>([])
36
- const pagination = computed(() => ({
37
- current: params.page || 0,
38
- pageSize: params.pageSize || 0,
39
- total: total.value
40
- }))
41
- const selectedLen = computed(() => {
42
- return max([size(selected.value), size(selectedKeys.value)]) || 0
43
- })
44
- function resetParams() {
45
- assign(params, cloneDeep(config.defaultParams))
46
- }
47
- async function fetchList(arg?: { params?: Partial<P>; isConcat?: boolean; isInit?: boolean }) {
48
- loading.value = true
49
- try {
50
- if (arg?.isInit) {
51
- assign(
52
- params,
53
- cloneDeep(config.defaultParams),
54
- pick(params, (config?.initConfig?.keepParamsKeys || []) as never)
55
- )
56
- }
57
- assign(params, arg?.params)
58
- const result = await config.fetch({ params: unref(params) })
59
- if (!isNil(result.page) && arg?.isConcat) {
60
- list.value = [...list.value, ...result.list] as ListItem[]
61
- } else {
62
- list.value = result.list
63
- }
64
- sum.value = result.sum || {}
65
- total.value = result.total || total.value
66
- params.page = result.page || params.page
67
- params.pageSize = result.pageSize || params.pageSize
68
- } finally {
69
- loading.value = false
70
- }
71
- }
72
-
73
- return {
74
- loading,
75
- total,
76
- params,
77
- list,
78
- sum,
79
- selected,
80
- selectedKeys,
81
- pagination,
82
- selectedLen,
83
- resetParams,
84
- fetchList
85
- }
86
- }
1
+ import { ref, reactive, computed, unref } from 'vue'
2
+ import { cloneDeep, pick, isNil } from 'es-toolkit'
3
+ import { assign, size, max } from 'es-toolkit/compat'
4
+
5
+ export interface configType<ListItem, P> {
6
+ /**
7
+ * @description 默认请求参数
8
+ */
9
+ defaultParams: P
10
+ /** 列表请求 */
11
+ fetch: (state: { params: P }) => Promise<{
12
+ list: ListItem[]
13
+ page?: number
14
+ pageSize?: number
15
+ total?: number
16
+ sum?: Record<string, any>
17
+ }>
18
+ /** 初始化列表时的配置 */
19
+ initConfig?: {
20
+ /** 初始化的时候需要保留值的字段 */
21
+ keepParamsKeys?: Array<keyof P>
22
+ }
23
+ }
24
+
25
+ export default function createListStore<
26
+ P extends { page?: number; pageSize?: number; [key: string]: any },
27
+ ListItem extends Record<string, any> = Record<string, any>
28
+ >(config: configType<ListItem, P>) {
29
+ const loading = ref(true)
30
+ const total = ref(0)
31
+ const params = reactive(cloneDeep(config.defaultParams))
32
+ const list = ref<ListItem[]>([])
33
+ const sum = reactive<Record<string, any>>({})
34
+ const selected = ref<ListItem[]>([])
35
+ const selectedKeys = ref<(string | number)[]>([])
36
+ const pagination = computed(() => ({
37
+ current: params.page || 0,
38
+ pageSize: params.pageSize || 0,
39
+ total: total.value
40
+ }))
41
+ const selectedLen = computed(() => {
42
+ return max([size(selected.value), size(selectedKeys.value)]) || 0
43
+ })
44
+ function resetParams() {
45
+ assign(params, cloneDeep(config.defaultParams))
46
+ }
47
+ async function fetchList(arg?: { params?: Partial<P>; isConcat?: boolean; isInit?: boolean }) {
48
+ loading.value = true
49
+ try {
50
+ if (arg?.isInit) {
51
+ assign(
52
+ params,
53
+ cloneDeep(config.defaultParams),
54
+ pick(params, (config?.initConfig?.keepParamsKeys || []) as never)
55
+ )
56
+ }
57
+ assign(params, arg?.params)
58
+ const result = await config.fetch({ params: unref(params) })
59
+ if (!isNil(result.page) && arg?.isConcat) {
60
+ list.value = [...list.value, ...result.list] as ListItem[]
61
+ } else {
62
+ list.value = result.list
63
+ }
64
+ sum.value = result.sum || {}
65
+ total.value = result.total || total.value
66
+ params.page = result.page || params.page
67
+ params.pageSize = result.pageSize || params.pageSize
68
+ } finally {
69
+ loading.value = false
70
+ }
71
+ }
72
+
73
+ return {
74
+ loading,
75
+ total,
76
+ params,
77
+ list,
78
+ sum,
79
+ selected,
80
+ selectedKeys,
81
+ pagination,
82
+ selectedLen,
83
+ resetParams,
84
+ fetchList
85
+ }
86
+ }
@@ -1,27 +1,27 @@
1
- import { ref } from 'vue'
2
- import { isFunction } from 'es-toolkit'
3
-
4
- export interface useVisibleConfigType {
5
- defaultVisible?: boolean
6
- onBeforeShow?: () => Promise<boolean | void>
7
- onBeforeHide?: () => Promise<boolean | void>
8
- }
9
- export default function useVisible(config?: useVisibleConfigType) {
10
- const visible = ref(config?.defaultVisible ?? false)
11
- const onShow = async () => {
12
- let isShow: boolean | void = true
13
- if (isFunction(config?.onBeforeShow)) {
14
- isShow = await config?.onBeforeShow?.()
15
- }
16
- visible.value = isShow !== false
17
- }
18
- const onClose = async () => {
19
- let isHide: boolean | void = true
20
- if (isFunction(config?.onBeforeHide)) {
21
- isHide = await config?.onBeforeHide?.()
22
- }
23
- visible.value = isHide === false
24
- }
25
-
26
- return { visible, onShow, onClose }
27
- }
1
+ import { ref } from 'vue'
2
+ import { isFunction } from 'es-toolkit'
3
+
4
+ export interface useVisibleConfigType {
5
+ defaultVisible?: boolean
6
+ onBeforeShow?: () => Promise<boolean | void>
7
+ onBeforeHide?: () => Promise<boolean | void>
8
+ }
9
+ export default function useVisible(config?: useVisibleConfigType) {
10
+ const visible = ref(config?.defaultVisible ?? false)
11
+ const onShow = async () => {
12
+ let isShow: boolean | void = true
13
+ if (isFunction(config?.onBeforeShow)) {
14
+ isShow = await config?.onBeforeShow?.()
15
+ }
16
+ visible.value = isShow !== false
17
+ }
18
+ const onClose = async () => {
19
+ let isHide: boolean | void = true
20
+ if (isFunction(config?.onBeforeHide)) {
21
+ isHide = await config?.onBeforeHide?.()
22
+ }
23
+ visible.value = isHide === false
24
+ }
25
+
26
+ return { visible, onShow, onClose }
27
+ }
@@ -1 +1 @@
1
- export const HOME_DATA = '/homeData'
1
+ export const HOME_DATA = '/homeData'
@@ -1,7 +1,7 @@
1
- import { request } from './request'
2
- import { HOME_DATA } from './api'
3
-
4
- export async function fetchHomeData() {
5
- const { data } = await request(HOME_DATA)
6
- return data
7
- }
1
+ import { request } from './request'
2
+ import { HOME_DATA } from './api'
3
+
4
+ export async function fetchHomeData() {
5
+ const { data } = await request(HOME_DATA)
6
+ return data
7
+ }
@@ -1,3 +1,3 @@
1
- export * from './request'
2
- export * as API from './api'
3
- export * from './home'
1
+ export * from './request'
2
+ export * as API from './api'
3
+ export * from './home'
@@ -1,5 +1,5 @@
1
- import axios from 'axios'
2
-
3
- export const request = axios.create({
4
- baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
- })
1
+ import axios from 'axios'
2
+
3
+ export const request = axios.create({
4
+ baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
+ })
@@ -1,25 +1,25 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "target": "ESNext",
5
- "useDefineForClassFields": true,
6
- "module": "ESNext",
7
- "moduleResolution": "bundler",
8
- "strict": true,
9
- "jsx": "preserve",
10
- "jsxImportSource": "vue",
11
- "sourceMap": true,
12
- "resolveJsonModule": true,
13
- "isolatedModules": true,
14
- "strictPropertyInitialization": false,
15
- "esModuleInterop": true,
16
- "lib": ["ESNext", "DOM"],
17
- "skipLibCheck": true,
18
- "paths": {
19
- "@/*": ["./*"]
20
- }
21
- },
22
- "include": ["**/*.tsx", "**/*.ts", "**/*.vue"],
23
- "exclude": ["scripts", "vite.config.ts"],
24
- "references": [{ "path": "./tsconfig.node.json" }]
25
- }
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "target": "ESNext",
5
+ "useDefineForClassFields": true,
6
+ "module": "ESNext",
7
+ "moduleResolution": "bundler",
8
+ "strict": true,
9
+ "jsx": "preserve",
10
+ "jsxImportSource": "vue",
11
+ "sourceMap": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "strictPropertyInitialization": false,
15
+ "esModuleInterop": true,
16
+ "lib": ["ESNext", "DOM"],
17
+ "skipLibCheck": true,
18
+ "paths": {
19
+ "@/*": ["./*"]
20
+ }
21
+ },
22
+ "include": ["**/*.tsx", "**/*.ts", "**/*.vue"],
23
+ "exclude": ["scripts", "vite.config.ts"],
24
+ "references": [{ "path": "./tsconfig.node.json" }]
25
+ }
@@ -1,10 +1,10 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "vite.config.ts", "package.json"]
10
- }
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "allowSyntheticDefaultImports": true,
7
+ "resolveJsonModule": true
8
+ },
9
+ "include": ["scripts", "vite.config.ts", "package.json"]
10
+ }
@@ -1,18 +1,18 @@
1
- /// <reference types="vite/client" />
2
- /// <reference types="vite-svg-loader" />
3
-
4
- declare module '*.vue' {
5
- import { type DefineComponent } from 'vue'
6
- const component: DefineComponent<Record<string, any>, Record<string, any>, any>
7
- export default component
8
- }
9
-
10
- interface ImportMetaEnv {
11
- readonly VITE_BASE_URL: string
12
- readonly VITE_API_HOST: string
13
- // 更多环境变量...
14
- }
15
-
16
- interface ImportMeta {
17
- readonly env: ImportMetaEnv
18
- }
1
+ /// <reference types="vite/client" />
2
+ /// <reference types="vite-svg-loader" />
3
+
4
+ declare module '*.vue' {
5
+ import { type DefineComponent } from 'vue'
6
+ const component: DefineComponent<Record<string, any>, Record<string, any>, any>
7
+ export default component
8
+ }
9
+
10
+ interface ImportMetaEnv {
11
+ readonly VITE_BASE_URL: string
12
+ readonly VITE_API_HOST: string
13
+ // 更多环境变量...
14
+ }
15
+
16
+ interface ImportMeta {
17
+ readonly env: ImportMetaEnv
18
+ }
@@ -1,68 +1,68 @@
1
- import { defineConfig, loadEnv } from 'vite'
2
- import vue from '@vitejs/plugin-vue'
3
- import vueJsx from '@vitejs/plugin-vue-jsx'
4
- import svgLoader from 'vite-svg-loader'
5
- import mockDevServer from 'vite-plugin-mock-dev-server'
6
- import checker from 'vite-plugin-checker'
7
- import tailwindcss from '@tailwindcss/vite'
8
- import { visualizer } from 'rollup-plugin-visualizer'
9
- import { createChunks } from './scripts'
10
-
11
- // https://vitejs.dev/config/
12
- export default defineConfig(({ mode }) => {
13
- const env = loadEnv(mode, process.cwd(), '')
14
- const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
15
- const plugins: any[] = [
16
- tailwindcss(),
17
- mockDevServer({
18
- include: ['**/*.mock.{ts,js}']
19
- }),
20
- vueJsx({
21
- enableObjectSlots: false
22
- }),
23
- vue(),
24
- checker({
25
- enableBuild: false,
26
- typescript: true,
27
- eslint: { useFlatConfig: true, lintCommand: 'eslint', dev: { logLevel: ['error'] } }
28
- }),
29
- svgLoader()
30
- ]
31
-
32
- if (mode === 'analyse') {
33
- plugins.push(visualizer({ open: true, sourcemap: true, brotliSize: true, gzipSize: true }))
34
- }
35
- return {
36
- base: env.VITE_BASE_URL,
37
- plugins,
38
- resolve: {
39
- alias: {
40
- '@': __dirname
41
- }
42
- },
43
- esbuild: {
44
- drop: ['production', 'analyse'].includes(mode) ? ['console', 'debugger'] : []
45
- },
46
- build: {
47
- sourcemap: mode === 'analyse',
48
- reportCompressedSize: mode === 'analyse',
49
- rollupOptions: {
50
- output: {
51
- manualChunks: createChunks({
52
- vue: ['vue', 'vue-router']
53
- })
54
- }
55
- }
56
- },
57
- server: {
58
- host: '0.0.0.0',
59
- proxy: {
60
- [proxyBaseUrl]: {
61
- target: 'http://127.0.0.1',
62
- changeOrigin: true,
63
- rewrite: path => path.replace(proxyBaseUrl, '')
64
- }
65
- }
66
- }
67
- }
68
- })
1
+ import { defineConfig, loadEnv } from 'vite'
2
+ import vue from '@vitejs/plugin-vue'
3
+ import vueJsx from '@vitejs/plugin-vue-jsx'
4
+ import svgLoader from 'vite-svg-loader'
5
+ import mockDevServer from 'vite-plugin-mock-dev-server'
6
+ import checker from 'vite-plugin-checker'
7
+ import tailwindcss from '@tailwindcss/vite'
8
+ import { visualizer } from 'rollup-plugin-visualizer'
9
+ import { createChunks } from './scripts'
10
+
11
+ // https://vitejs.dev/config/
12
+ export default defineConfig(({ mode }) => {
13
+ const env = loadEnv(mode, process.cwd(), '')
14
+ const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
15
+ const plugins: any[] = [
16
+ tailwindcss(),
17
+ mockDevServer({
18
+ include: ['**/*.mock.{ts,js}']
19
+ }),
20
+ vueJsx({
21
+ enableObjectSlots: false
22
+ }),
23
+ vue(),
24
+ checker({
25
+ enableBuild: false,
26
+ typescript: true,
27
+ eslint: { useFlatConfig: true, lintCommand: 'eslint', dev: { logLevel: ['error'] } }
28
+ }),
29
+ svgLoader()
30
+ ]
31
+
32
+ if (mode === 'analyse') {
33
+ plugins.push(visualizer({ open: true, sourcemap: true, brotliSize: true, gzipSize: true }))
34
+ }
35
+ return {
36
+ base: env.VITE_BASE_URL,
37
+ plugins,
38
+ resolve: {
39
+ alias: {
40
+ '@': __dirname
41
+ }
42
+ },
43
+ esbuild: {
44
+ drop: ['production', 'analyse'].includes(mode) ? ['console', 'debugger'] : []
45
+ },
46
+ build: {
47
+ sourcemap: mode === 'analyse',
48
+ reportCompressedSize: mode === 'analyse',
49
+ rollupOptions: {
50
+ output: {
51
+ manualChunks: createChunks({
52
+ vue: ['vue', 'vue-router']
53
+ })
54
+ }
55
+ }
56
+ },
57
+ server: {
58
+ host: '0.0.0.0',
59
+ proxy: {
60
+ [proxyBaseUrl]: {
61
+ target: 'http://127.0.0.1',
62
+ changeOrigin: true,
63
+ rewrite: path => path.replace(proxyBaseUrl, '')
64
+ }
65
+ }
66
+ }
67
+ }
68
+ })
@@ -1,9 +1,9 @@
1
- {
2
- "recommendations": [
3
- "vue.volar",
4
- "vue.vscode-typescript-vue-plugin",
5
- "dbaeumer.vscode-eslint",
6
- "stylelint.vscode-stylelint",
7
- "esbenp.prettier-vscode"
8
- ]
9
- }
1
+ {
2
+ "recommendations": [
3
+ "vue.volar",
4
+ "vue.vscode-typescript-vue-plugin",
5
+ "dbaeumer.vscode-eslint",
6
+ "stylelint.vscode-stylelint",
7
+ "esbenp.prettier-vscode"
8
+ ]
9
+ }