create-packer 1.46.4 → 1.47.1

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 (290) 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 +7 -7
  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 +6 -6
  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 +4 -6
  112. package/template/web-app/react-rsbuild/package.json +7 -7
  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/shared/styles/theme.ts +0 -10
  137. package/template/web-app/react-rsbuild/tsconfig.json +33 -33
  138. package/template/web-app/react-rsbuild/tsconfig.node.json +10 -10
  139. package/template/web-app/react-vite/.gitignore +3 -3
  140. package/template/web-app/react-vite/.vscode/extensions.json +7 -7
  141. package/template/web-app/react-vite/.vscode/settings.json +4 -4
  142. package/template/web-app/react-vite/domain/components/index.ts +1 -1
  143. package/template/web-app/react-vite/domain/models/app.ts +7 -7
  144. package/template/web-app/react-vite/domain/router/components/route-layout.tsx +19 -19
  145. package/template/web-app/react-vite/domain/router/components/sub-route-outlet.tsx +22 -22
  146. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -3
  147. package/template/web-app/react-vite/domain/router/home/index.ts +2 -2
  148. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -13
  149. package/template/web-app/react-vite/domain/router/ids.ts +6 -6
  150. package/template/web-app/react-vite/domain/router/router.tsx +28 -28
  151. package/template/web-app/react-vite/domain/router/router.types.ts +3 -3
  152. package/template/web-app/react-vite/eslint.config.js +114 -114
  153. package/template/web-app/react-vite/main.tsx +1 -3
  154. package/template/web-app/react-vite/mockUtils.ts +6 -6
  155. package/template/web-app/react-vite/package.json +5 -5
  156. package/template/web-app/react-vite/pages/index.tsx +18 -18
  157. package/template/web-app/react-vite/pages/not-found.tsx +3 -3
  158. package/template/web-app/react-vite/postcss.config.cjs +8 -8
  159. package/template/web-app/react-vite/scripts/createChunks.ts +27 -27
  160. package/template/web-app/react-vite/scripts/index.ts +1 -1
  161. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  162. package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  163. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -2
  164. package/template/web-app/react-vite/shared/hooks/index.ts +7 -6
  165. package/template/web-app/react-vite/shared/hooks/useDebounceFn.ts +37 -0
  166. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -26
  167. package/template/web-app/react-vite/shared/hooks/useLazyRender.ts +30 -0
  168. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -26
  169. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -15
  170. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -27
  171. package/template/web-app/react-vite/shared/service/api.ts +1 -1
  172. package/template/web-app/react-vite/shared/service/home.ts +9 -9
  173. package/template/web-app/react-vite/shared/service/index.ts +3 -3
  174. package/template/web-app/react-vite/shared/service/request.ts +5 -5
  175. package/template/web-app/react-vite/shared/styles/theme.ts +0 -10
  176. package/template/web-app/react-vite/tsconfig.json +33 -33
  177. package/template/web-app/react-vite/tsconfig.node.json +10 -10
  178. package/template/web-app/vue/.stylelintrc +2 -2
  179. package/template/web-app/vue/.vscode/extensions.json +9 -9
  180. package/template/web-app/vue/domain/components/app.vue +18 -18
  181. package/template/web-app/vue/domain/components/createComponentInstance.ts +43 -43
  182. package/template/web-app/vue/domain/components/index.ts +2 -2
  183. package/template/web-app/vue/domain/router/home/index.ts +2 -2
  184. package/template/web-app/vue/domain/router/home/names.ts +3 -3
  185. package/template/web-app/vue/domain/router/home/routes.ts +8 -8
  186. package/template/web-app/vue/domain/router/index.ts +26 -26
  187. package/template/web-app/vue/domain/router/names.ts +5 -5
  188. package/template/web-app/vue/eslint.config.js +123 -123
  189. package/template/web-app/vue/main.css +4 -4
  190. package/template/web-app/vue/main.ts +7 -7
  191. package/template/web-app/vue/mockUtils.ts +6 -6
  192. package/template/web-app/vue/package.json +71 -71
  193. package/template/web-app/vue/pages/home/view.vue +18 -16
  194. package/template/web-app/vue/pages/index.ts +1 -1
  195. package/template/web-app/vue/pages/index.vue +3 -3
  196. package/template/web-app/vue/pages/not-found.vue +3 -3
  197. package/template/web-app/vue/postcss.config.cjs +8 -8
  198. package/template/web-app/vue/scripts/createChunks.ts +27 -27
  199. package/template/web-app/vue/scripts/index.ts +1 -1
  200. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  201. package/template/web-app/vue/shared/hooks/useList.ts +86 -86
  202. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  203. package/template/web-app/vue/shared/service/api.ts +1 -1
  204. package/template/web-app/vue/shared/service/home.ts +7 -7
  205. package/template/web-app/vue/shared/service/index.ts +3 -3
  206. package/template/web-app/vue/shared/service/request.ts +5 -5
  207. package/template/web-app/vue/tsconfig.json +25 -25
  208. package/template/web-app/vue/tsconfig.node.json +10 -10
  209. package/template/web-app/vue/vite-env.d.ts +18 -18
  210. package/template/web-app/vue/vite.config.ts +68 -68
  211. package/template/web-app/vue-rsbuild/.stylelintrc +2 -2
  212. package/template/web-app/vue-rsbuild/.vscode/extensions.json +9 -9
  213. package/template/web-app/vue-rsbuild/domain/components/app.vue +18 -18
  214. package/template/web-app/vue-rsbuild/domain/components/createComponentInstance.ts +43 -43
  215. package/template/web-app/vue-rsbuild/domain/components/index.ts +2 -2
  216. package/template/web-app/vue-rsbuild/domain/router/home/index.ts +2 -2
  217. package/template/web-app/vue-rsbuild/domain/router/home/names.ts +3 -3
  218. package/template/web-app/vue-rsbuild/domain/router/home/routes.ts +8 -8
  219. package/template/web-app/vue-rsbuild/domain/router/index.ts +26 -26
  220. package/template/web-app/vue-rsbuild/domain/router/names.ts +5 -5
  221. package/template/web-app/vue-rsbuild/env.d.ts +18 -18
  222. package/template/web-app/vue-rsbuild/eslint.config.js +114 -114
  223. package/template/web-app/vue-rsbuild/main.css +4 -4
  224. package/template/web-app/vue-rsbuild/main.ts +7 -7
  225. package/template/web-app/vue-rsbuild/package.json +6 -6
  226. package/template/web-app/vue-rsbuild/pages/home/view.vue +18 -16
  227. package/template/web-app/vue-rsbuild/pages/index.ts +1 -1
  228. package/template/web-app/vue-rsbuild/pages/index.vue +3 -3
  229. package/template/web-app/vue-rsbuild/pages/not-found.vue +3 -3
  230. package/template/web-app/vue-rsbuild/postcss.config.cjs +9 -9
  231. package/template/web-app/vue-rsbuild/rsbuild.config.ts +77 -77
  232. package/template/web-app/vue-rsbuild/scripts/createChunks.ts +26 -26
  233. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  234. package/template/web-app/vue-rsbuild/shared/hooks/index.ts +2 -2
  235. package/template/web-app/vue-rsbuild/shared/hooks/useList.ts +86 -86
  236. package/template/web-app/vue-rsbuild/shared/hooks/useVisible.ts +27 -27
  237. package/template/web-app/vue-rsbuild/shared/service/api.ts +1 -1
  238. package/template/web-app/vue-rsbuild/shared/service/home.ts +7 -7
  239. package/template/web-app/vue-rsbuild/shared/service/index.ts +3 -3
  240. package/template/web-app/vue-rsbuild/shared/service/request.ts +5 -5
  241. package/template/web-app/vue-rsbuild/tsconfig.json +25 -25
  242. package/template/web-app/vue-rsbuild/tsconfig.node.json +10 -10
  243. package/template/web-extension/.vscode/extensions.json +7 -7
  244. package/template/web-extension/.vscode/settings.json +4 -4
  245. package/template/web-extension/.wxt/eslint-auto-imports.mjs +56 -56
  246. package/template/web-extension/.wxt/eslintrc-auto-import.json +21 -21
  247. package/template/web-extension/.wxt/tsconfig.json +27 -27
  248. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  249. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  250. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  251. package/template/web-extension/.wxt/types/imports.d.ts +50 -50
  252. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  253. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  254. package/template/web-extension/entrypoints/background/index.ts +7 -7
  255. package/template/web-extension/entrypoints/content/domain/app/index.ts +1 -1
  256. package/template/web-extension/entrypoints/content/domain/app/tools/index.ts +1 -1
  257. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +58 -58
  258. package/template/web-extension/entrypoints/content/modules/common/index.ts +2 -2
  259. package/template/web-extension/entrypoints/content/modules/common/insert.tsx +9 -9
  260. package/template/web-extension/entrypoints/content/modules/index.ts +1 -1
  261. package/template/web-extension/eslint.config.js +107 -107
  262. package/template/web-extension/package.json +4 -4
  263. package/template/web-extension/postcss.config.cjs +8 -8
  264. package/template/web-extension/shared/background/index.ts +1 -1
  265. package/template/web-extension/shared/background/message.ts +7 -7
  266. package/template/web-extension/shared/components/app-context/view.tsx +19 -19
  267. package/template/web-extension/shared/components/index.ts +1 -1
  268. package/template/web-extension/shared/hooks/index.ts +2 -2
  269. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  270. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  271. package/template/web-extension/shared/service/index.ts +1 -1
  272. package/template/web-extension/shared/service/request.ts +5 -5
  273. package/template/web-extension/shared/styles/theme.ts +0 -10
  274. package/template/web-extension/tsconfig.node.json +10 -10
  275. package/template/lib/workspace/node_modules/.pnpm/node_modules/react-lib/.gitignore +0 -26
  276. package/template/lib/workspace/node_modules/.pnpm/node_modules/ts-lib/.gitignore +0 -25
  277. package/template/lib/workspace/packages/ts/coverage/base.css +0 -224
  278. package/template/lib/workspace/packages/ts/coverage/block-navigation.js +0 -87
  279. package/template/lib/workspace/packages/ts/coverage/clover.xml +0 -16
  280. package/template/lib/workspace/packages/ts/coverage/coverage-final.json +0 -3
  281. package/template/lib/workspace/packages/ts/coverage/favicon.png +0 -0
  282. package/template/lib/workspace/packages/ts/coverage/index.html +0 -131
  283. package/template/lib/workspace/packages/ts/coverage/index.ts.html +0 -88
  284. package/template/lib/workspace/packages/ts/coverage/prettify.css +0 -1
  285. package/template/lib/workspace/packages/ts/coverage/prettify.js +0 -2
  286. package/template/lib/workspace/packages/ts/coverage/sort-arrow-sprite.png +0 -0
  287. package/template/lib/workspace/packages/ts/coverage/sorter.js +0 -196
  288. package/template/lib/workspace/packages/ts/coverage/sum.ts.html +0 -94
  289. package/template/web-app/react-rsbuild/shared/hooks/useLoadingAction.ts +0 -27
  290. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +0 -27
@@ -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
+ }
@@ -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.PUBLIC_BASE_URL + import.meta.env.PUBLIC_API_HOST
5
- })
1
+ import axios from 'axios'
2
+
3
+ export const request = axios.create({
4
+ baseURL: import.meta.env.PUBLIC_BASE_URL + import.meta.env.PUBLIC_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", "rsbuild.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", "rsbuild.config.ts"],
24
+ "references": [{ "path": "./tsconfig.node.json" }]
25
+ }
@@ -1,10 +1,10 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
- }
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "node",
6
+ "allowSyntheticDefaultImports": true,
7
+ "resolveJsonModule": true
8
+ },
9
+ "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
+ }
@@ -1,7 +1,7 @@
1
- {
2
- "recommendations": [
3
- "dbaeumer.vscode-eslint",
4
- "stylelint.vscode-stylelint",
5
- "esbenp.prettier-vscode",
6
- ]
7
- }
1
+ {
2
+ "recommendations": [
3
+ "dbaeumer.vscode-eslint",
4
+ "stylelint.vscode-stylelint",
5
+ "esbenp.prettier-vscode",
6
+ ]
7
+ }
@@ -1,4 +1,4 @@
1
- {
2
- "stylelint.validate": ["css", "less", "postcss", "scss", "typescript", "typescriptreact"],
3
- "stylelint.snippet": ["css", "less", "postcss", "scss", "typescript", "typescriptreact"]
4
- }
1
+ {
2
+ "stylelint.validate": ["css", "less", "postcss", "scss", "typescript", "typescriptreact"],
3
+ "stylelint.snippet": ["css", "less", "postcss", "scss", "typescript", "typescriptreact"]
4
+ }