create-packer 1.46.3 → 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,73 +1,73 @@
1
- {
2
- "name": "vue-vite",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "prepare": "husky",
8
- "dev": "rsbuild dev",
9
- "build": "rsbuild build",
10
- "build:analyse": "rsbuild build --env-mode analyse",
11
- "build:rsdoctor": "cross-env RSDOCTOR=true rsbuild build",
12
- "preview": "rsbuild preview",
13
- "up:rsbuild": "pnpm up @rsbuild/* -L",
14
- "format": "prettier --write \"**/*.{vue,ts,js,tsx,jsx,json,css,scss,less}\"",
15
- "lint": "vue-tsc --noEmit && eslint --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less}",
16
- "lint:fix": "eslint --fix && stylelint **/*.{css,scss,less} --fix",
17
- "cz": "cz",
18
- "push": "npm run commit && git push",
19
- "commit": "git add . && npm run cz",
20
- "up:vite": "pnpm up vite @vitejs/* vite-plugin-* -L"
21
- },
22
- "dependencies": {
23
- "axios": "1.7.9",
24
- "es-toolkit": "1.39.8",
25
- "pinia": "3.0.3",
26
- "tailwindcss": "4.1.4",
27
- "type-fest": "4.33.0",
28
- "vue": "3.5.20",
29
- "vue-router": "4.5.1"
30
- },
31
- "devDependencies": {
32
- "@commitlint/cli": "17.6.1",
33
- "@commitlint/config-conventional": "17.6.1",
34
- "@commitlint/cz-commitlint": "17.5.0",
35
- "@eslint/js": "9.15.0",
36
- "@faker-js/faker": "8.4.1",
37
- "@rsbuild/core": "1.5.10",
38
- "@rsbuild/plugin-eslint": "1.1.2",
39
- "@rsbuild/plugin-type-check": "1.2.4",
40
- "@rsbuild/plugin-vue": "1.1.2",
41
- "@rsdoctor/rspack-plugin": "1.2.3",
42
- "@tailwindcss/postcss": "4.1.4",
43
- "@types/mockjs": "1.0.10",
44
- "autoprefixer": "10.4.14",
45
- "commitizen": "4.3.0",
46
- "cross-env": "7.0.3",
47
- "cssnano": "6.0.0",
48
- "eslint": "9.17.0",
49
- "eslint-import-resolver-typescript": "3.7.0",
50
- "eslint-plugin-import": "2.31.0",
51
- "eslint-plugin-vue": "9.32.0",
52
- "globals": "15.12.0",
53
- "husky": "9.1.6",
54
- "inquirer": "8.1.2",
55
- "postcss": "8.4.38",
56
- "postcss-html": "1.8.0",
57
- "postcss-import": "16.1.0",
58
- "postcss-nesting": "12.1.1",
59
- "prettier": "3.2.5",
60
- "rollup-plugin-visualizer": "5.12.0",
61
- "stylelint": "16.10.0",
62
- "stylelint-config-standard-scss": "13.1.0",
63
- "stylelint-webpack-plugin": "5.0.0",
64
- "typescript": "5.8.2",
65
- "typescript-eslint": "8.15.0",
66
- "vue-tsc": "3.0.6"
67
- },
68
- "config": {
69
- "commitizen": {
70
- "path": "@commitlint/cz-commitlint"
71
- }
72
- }
73
- }
1
+ {
2
+ "name": "vue-vite",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "prepare": "husky",
8
+ "dev": "rsbuild dev",
9
+ "build": "rsbuild build",
10
+ "build:analyse": "rsbuild build --env-mode analyse",
11
+ "build:rsdoctor": "cross-env RSDOCTOR=true rsbuild build",
12
+ "preview": "rsbuild preview",
13
+ "up:rsbuild": "pnpm up @rsbuild/* -L",
14
+ "format": "prettier --write \"**/*.{vue,ts,js,tsx,jsx,json,css,scss,less}\"",
15
+ "lint": "vue-tsc --noEmit && eslint --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less}",
16
+ "lint:fix": "eslint --fix && stylelint **/*.{css,scss,less} --fix",
17
+ "cz": "cz",
18
+ "push": "npm run commit && git push",
19
+ "commit": "git add . && npm run cz",
20
+ "up:vite": "pnpm up vite @vitejs/* vite-plugin-* -L"
21
+ },
22
+ "dependencies": {
23
+ "axios": "1.7.9",
24
+ "es-toolkit": "1.39.8",
25
+ "pinia": "3.0.3",
26
+ "tailwindcss": "4.1.4",
27
+ "type-fest": "4.33.0",
28
+ "vue": "3.5.20",
29
+ "vue-router": "4.5.1"
30
+ },
31
+ "devDependencies": {
32
+ "@commitlint/cli": "17.6.1",
33
+ "@commitlint/config-conventional": "17.6.1",
34
+ "@commitlint/cz-commitlint": "17.5.0",
35
+ "@eslint/js": "9.15.0",
36
+ "@faker-js/faker": "8.4.1",
37
+ "@rsbuild/core": "1.5.10",
38
+ "@rsbuild/plugin-eslint": "1.1.2",
39
+ "@rsbuild/plugin-type-check": "1.2.4",
40
+ "@rsbuild/plugin-vue": "1.1.2",
41
+ "@rsdoctor/rspack-plugin": "1.2.3",
42
+ "@tailwindcss/postcss": "4.1.4",
43
+ "@types/mockjs": "1.0.10",
44
+ "autoprefixer": "10.4.14",
45
+ "commitizen": "4.3.0",
46
+ "cross-env": "7.0.3",
47
+ "cssnano": "6.0.0",
48
+ "eslint": "9.17.0",
49
+ "eslint-import-resolver-typescript": "3.7.0",
50
+ "eslint-plugin-import": "2.31.0",
51
+ "eslint-plugin-vue": "9.32.0",
52
+ "globals": "15.12.0",
53
+ "husky": "9.1.6",
54
+ "inquirer": "8.1.2",
55
+ "postcss": "8.4.38",
56
+ "postcss-html": "1.8.0",
57
+ "postcss-import": "16.1.0",
58
+ "postcss-nesting": "12.1.1",
59
+ "prettier": "3.2.5",
60
+ "rollup-plugin-visualizer": "5.12.0",
61
+ "stylelint": "16.10.0",
62
+ "stylelint-config-standard-scss": "13.1.0",
63
+ "stylelint-webpack-plugin": "5.0.0",
64
+ "typescript": "5.8.2",
65
+ "typescript-eslint": "8.15.0",
66
+ "vue-tsc": "3.0.6"
67
+ },
68
+ "config": {
69
+ "commitizen": {
70
+ "path": "@commitlint/cz-commitlint"
71
+ }
72
+ }
73
+ }
@@ -1,16 +1,16 @@
1
- <script setup lang="ts">
2
- import { fetchHomeData } from '@/shared/service'
3
-
4
- const data = fetchHomeData()
5
- console.log('data', data)
6
- </script>
7
-
8
- <template>
9
- <div class="root">Home</div>
10
- </template>
11
-
12
- <style scoped>
13
- .root {
14
- @apply tw:flex tw:items-center tw:justify-center;
15
- }
16
- </style>
1
+ <script setup lang="ts">
2
+ import { fetchHomeData } from '@/shared/service'
3
+
4
+ const data = fetchHomeData()
5
+ console.log('data', data)
6
+ </script>
7
+
8
+ <template>
9
+ <div class="root">Home</div>
10
+ </template>
11
+
12
+ <style scoped>
13
+ .root {
14
+ @apply tw:flex tw:items-center tw:justify-center;
15
+ }
16
+ </style>
@@ -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,9 +1,9 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-import': {},
4
- '@tailwindcss/postcss': {},
5
- 'postcss-nesting': {},
6
- autoprefixer: {},
7
- ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
- }
9
- }
1
+ module.exports = {
2
+ plugins: {
3
+ 'postcss-import': {},
4
+ '@tailwindcss/postcss': {},
5
+ 'postcss-nesting': {},
6
+ autoprefixer: {},
7
+ ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
+ }
9
+ }
@@ -1,77 +1,77 @@
1
- import { defineConfig, loadEnv } from '@rsbuild/core'
2
- import { pluginVue } from '@rsbuild/plugin-vue'
3
- import { pluginEslint } from '@rsbuild/plugin-eslint'
4
- import StylelintWebpackPlugin from 'stylelint-webpack-plugin'
5
- import { pluginTypeCheck } from '@rsbuild/plugin-type-check'
6
- import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin'
7
- import { createChunks } from './scripts'
8
-
9
- export default defineConfig(({ envMode, command }) => {
10
- const { parsed: env } = loadEnv()
11
- return {
12
- html: {
13
- template: './index.html',
14
- title: 'Rsbuild + Vue + TS',
15
- favicon: './shared/assets/vue.svg'
16
- },
17
- source: {
18
- entry: {
19
- index: './main.ts'
20
- }
21
- },
22
- resolve: {
23
- alias: {
24
- '@': __dirname
25
- }
26
- },
27
- output: {
28
- distPath: {
29
- root: 'dist'
30
- },
31
- cleanDistPath: true
32
- },
33
- dev: {
34
- progressBar: command === 'build'
35
- },
36
- tools: {
37
- rspack: {
38
- plugins: [
39
- new StylelintWebpackPlugin(),
40
- process.env.RSDOCTOR && new RsdoctorRspackPlugin()
41
- ]
42
- }
43
- },
44
- plugins: [
45
- command !== 'build' && pluginTypeCheck(),
46
- command !== 'build' &&
47
- pluginEslint({
48
- eslintPluginOptions: {
49
- configType: 'flat'
50
- }
51
- }),
52
- pluginVue()
53
- ],
54
- performance: {
55
- removeConsole: command === 'build' ? ['log'] : false,
56
- chunkSplit: {
57
- strategy: 'custom',
58
- splitChunks: {
59
- minChunks: 1,
60
- cacheGroups: createChunks([{ libs: ['vue', 'vue-router'], name: 'vue' }])
61
- }
62
- },
63
- bundleAnalyze: envMode === 'analyse' ? { openAnalyzer: true } : void 0
64
- },
65
- server: {
66
- base: env.PUBLIC_BASE_URL,
67
- host: '0.0.0.0',
68
- compress: false,
69
- proxy: [
70
- {
71
- context: [env.PUBLIC_API_HOST],
72
- target: 'http://127.0.0.1:3000'
73
- }
74
- ]
75
- }
76
- }
77
- })
1
+ import { defineConfig, loadEnv } from '@rsbuild/core'
2
+ import { pluginVue } from '@rsbuild/plugin-vue'
3
+ import { pluginEslint } from '@rsbuild/plugin-eslint'
4
+ import StylelintWebpackPlugin from 'stylelint-webpack-plugin'
5
+ import { pluginTypeCheck } from '@rsbuild/plugin-type-check'
6
+ import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin'
7
+ import { createChunks } from './scripts'
8
+
9
+ export default defineConfig(({ envMode, command }) => {
10
+ const { parsed: env } = loadEnv()
11
+ return {
12
+ html: {
13
+ template: './index.html',
14
+ title: 'Rsbuild + Vue + TS',
15
+ favicon: './shared/assets/vue.svg'
16
+ },
17
+ source: {
18
+ entry: {
19
+ index: './main.ts'
20
+ }
21
+ },
22
+ resolve: {
23
+ alias: {
24
+ '@': __dirname
25
+ }
26
+ },
27
+ output: {
28
+ distPath: {
29
+ root: 'dist'
30
+ },
31
+ cleanDistPath: true
32
+ },
33
+ dev: {
34
+ progressBar: command === 'build'
35
+ },
36
+ tools: {
37
+ rspack: {
38
+ plugins: [
39
+ new StylelintWebpackPlugin(),
40
+ process.env.RSDOCTOR && new RsdoctorRspackPlugin()
41
+ ]
42
+ }
43
+ },
44
+ plugins: [
45
+ command !== 'build' && pluginTypeCheck(),
46
+ command !== 'build' &&
47
+ pluginEslint({
48
+ eslintPluginOptions: {
49
+ configType: 'flat'
50
+ }
51
+ }),
52
+ pluginVue()
53
+ ],
54
+ performance: {
55
+ removeConsole: command === 'build' ? ['log'] : false,
56
+ chunkSplit: {
57
+ strategy: 'custom',
58
+ splitChunks: {
59
+ minChunks: 1,
60
+ cacheGroups: createChunks([{ libs: ['vue', 'vue-router'], name: 'vue' }])
61
+ }
62
+ },
63
+ bundleAnalyze: envMode === 'analyse' ? { openAnalyzer: true } : void 0
64
+ },
65
+ server: {
66
+ base: env.PUBLIC_BASE_URL,
67
+ host: '0.0.0.0',
68
+ compress: false,
69
+ proxy: [
70
+ {
71
+ context: [env.PUBLIC_API_HOST],
72
+ target: 'http://127.0.0.1:3000'
73
+ }
74
+ ]
75
+ }
76
+ }
77
+ })
@@ -1,26 +1,26 @@
1
- import { SplitChunks } from '@rsbuild/core'
2
-
3
- export function createChunks(
4
- chunks: Array<{ name: string; libs: string[] | RegExp; priority?: number }>
5
- ) {
6
- const result: Exclude<SplitChunks, false>['cacheGroups'] = {
7
- vendors: {
8
- test: /[\\/]node_modules[\\/]/,
9
- chunks: 'all',
10
- name: 'vendors',
11
- priority: -1
12
- }
13
- }
14
- chunks.forEach(({ name, libs, priority }) => {
15
- result[name] = {
16
- test: Array.isArray(libs)
17
- ? new RegExp(`[\\\\/]node_modules[\\\\/](${libs.join('|')})[\\\\/]`)
18
- : libs,
19
- chunks: 'all',
20
- name,
21
- priority
22
- }
23
- return result
24
- })
25
- return result
26
- }
1
+ import { SplitChunks } from '@rsbuild/core'
2
+
3
+ export function createChunks(
4
+ chunks: Array<{ name: string; libs: string[] | RegExp; priority?: number }>
5
+ ) {
6
+ const result: Exclude<SplitChunks, false>['cacheGroups'] = {
7
+ vendors: {
8
+ test: /[\\/]node_modules[\\/]/,
9
+ chunks: 'all',
10
+ name: 'vendors',
11
+ priority: -1
12
+ }
13
+ }
14
+ chunks.forEach(({ name, libs, priority }) => {
15
+ result[name] = {
16
+ test: Array.isArray(libs)
17
+ ? new RegExp(`[\\\\/]node_modules[\\\\/](${libs.join('|')})[\\\\/]`)
18
+ : libs,
19
+ chunks: 'all',
20
+ name,
21
+ priority
22
+ }
23
+ return result
24
+ })
25
+ return result
26
+ }
@@ -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
+ }