create-packer 1.47.2 → 1.49.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 (213) hide show
  1. package/bin/{index.js → src/index.js} +0 -0
  2. package/package.json +3 -3
  3. package/template/docusaurus/package.json +1 -1
  4. package/template/electron-react/eslint.config.mjs +2 -1
  5. package/template/electron-react/package.json +97 -97
  6. package/template/electron-react/tsconfig.json +4 -11
  7. package/template/electron-vue/eslint.config.mjs +2 -1
  8. package/template/electron-vue/package.json +87 -87
  9. package/template/electron-vue/tsconfig.json +10 -8
  10. package/template/lib/workspace/eslint.config.mjs +2 -1
  11. package/template/lib/workspace/package.json +3 -3
  12. package/template/lib/workspace/packages/react/package.json +2 -2
  13. package/template/lib/workspace/packages/ts/package.json +3 -3
  14. package/template/web-app/react-rsbuild/eslint.config.js +2 -1
  15. package/template/web-app/react-rsbuild/package.json +79 -79
  16. package/template/web-app/react-rsbuild/rsbuild.config.ts +9 -11
  17. package/template/web-app/react-rsbuild/{domain → src}/components/app-context.tsx +1 -1
  18. package/template/web-app/{react-vite/domain → react-rsbuild/src}/components/app.tsx +2 -2
  19. package/template/web-app/react-rsbuild/{shared → src}/components/index.ts +1 -0
  20. package/template/web-app/{react-vite/shared → react-rsbuild/src}/hooks/useLazyRender.ts +1 -1
  21. package/template/web-app/{react-vite → react-rsbuild/src}/main.tsx +2 -2
  22. package/template/web-app/{react-vite → react-rsbuild/src}/pages/home/view.tsx +1 -1
  23. package/template/web-app/react-rsbuild/{pages → src/pages}/index.tsx +1 -1
  24. package/template/web-app/{react-vite/domain → react-rsbuild/src}/router/components/route-layout.tsx +2 -1
  25. package/template/web-app/react-rsbuild/{domain → src}/router/components/sub-route-outlet.tsx +2 -1
  26. package/template/web-app/react-rsbuild/{domain → src}/router/router.tsx +1 -1
  27. package/template/web-app/react-rsbuild/src/router/router.types.ts +3 -0
  28. package/template/web-app/react-rsbuild/tsconfig.json +5 -10
  29. package/template/web-app/react-vite/eslint.config.js +2 -1
  30. package/template/web-app/react-vite/index.html +2 -2
  31. package/template/web-app/react-vite/package.json +78 -78
  32. package/template/web-app/react-vite/scripts/createCodeSplitting.ts +30 -0
  33. package/template/web-app/react-vite/scripts/index.ts +1 -1
  34. package/template/web-app/react-vite/{domain → src}/components/app-context.tsx +1 -1
  35. package/template/web-app/{react-rsbuild/domain → react-vite/src}/components/app.tsx +3 -3
  36. package/template/web-app/react-vite/{shared → src}/components/index.ts +1 -0
  37. package/template/web-app/{react-rsbuild → react-vite/src}/main.tsx +2 -2
  38. package/template/web-app/react-vite/{pages → src/pages}/home/view.mock.ts +1 -1
  39. package/template/web-app/{react-rsbuild → react-vite/src}/pages/home/view.tsx +1 -1
  40. package/template/web-app/react-vite/{pages → src/pages}/index.tsx +1 -1
  41. package/template/web-app/{react-rsbuild/domain → react-vite/src}/router/components/route-layout.tsx +1 -1
  42. package/template/web-app/react-vite/{domain → src}/router/components/sub-route-outlet.tsx +1 -1
  43. package/template/web-app/react-vite/{domain → src}/router/router.tsx +1 -1
  44. package/template/web-app/react-vite/src/router/router.types.ts +3 -0
  45. package/template/web-app/react-vite/tsconfig.json +2 -8
  46. package/template/web-app/react-vite/tsconfig.node.json +2 -2
  47. package/template/web-app/react-vite/vite.config.ts +11 -9
  48. package/template/web-app/vue/eslint.config.js +2 -1
  49. package/template/web-app/vue/index.html +2 -2
  50. package/template/web-app/vue/package.json +72 -72
  51. package/template/web-app/vue/scripts/createCodeSplitting.ts +30 -0
  52. package/template/web-app/vue/scripts/index.ts +1 -1
  53. package/template/web-app/{vue-rsbuild/domain → vue/src}/components/app.vue +1 -1
  54. package/template/web-app/vue/src/main.css +1 -0
  55. package/template/web-app/vue/{main.ts → src/main.ts} +3 -3
  56. package/template/web-app/vue/{pages → src/pages}/home/view.mock.ts +1 -1
  57. package/template/web-app/vue/{pages → src/pages}/home/view.vue +1 -1
  58. package/template/web-app/vue/tsconfig.json +10 -7
  59. package/template/web-app/vue/tsconfig.node.json +2 -2
  60. package/template/web-app/vue/vite.config.ts +11 -6
  61. package/template/web-app/vue-rsbuild/eslint.config.js +1 -0
  62. package/template/web-app/vue-rsbuild/package.json +77 -77
  63. package/template/web-app/vue-rsbuild/rsbuild.config.ts +8 -11
  64. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  65. package/template/web-app/{vue/domain → vue-rsbuild/src}/components/app.vue +1 -1
  66. package/template/web-app/vue-rsbuild/{main.ts → src/main.ts} +3 -3
  67. package/template/web-app/vue-rsbuild/{pages → src/pages}/home/view.vue +1 -1
  68. package/template/web-app/vue-rsbuild/tsconfig.json +10 -8
  69. package/template/web-extension/.wxt/eslint-auto-imports.mjs +57 -56
  70. package/template/web-extension/.wxt/tsconfig.json +27 -27
  71. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  72. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  73. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  74. package/template/web-extension/.wxt/types/imports.d.ts +51 -50
  75. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  76. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  77. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +1 -3
  78. package/template/web-extension/entrypoints/content/index.tsx +0 -1
  79. package/template/web-extension/entrypoints/content/modules/common/common.tsx +7 -1
  80. package/template/web-extension/entrypoints/content/modules/common/view.styled.ts +10 -0
  81. package/template/web-extension/entrypoints/popup/main.tsx +0 -1
  82. package/template/web-extension/entrypoints/popup/popup.styled.ts +5 -0
  83. package/template/web-extension/entrypoints/popup/popup.tsx +3 -1
  84. package/template/web-extension/eslint.config.js +2 -1
  85. package/template/web-extension/package.json +85 -85
  86. package/template/web-extension/shared/components/app-context/view.tsx +8 -2
  87. package/template/web-extension/shared/styles/theme.ts +55 -0
  88. package/template/web-extension/tsconfig.json +0 -2
  89. package/template/web-extension/vite-env.d.ts +15 -6
  90. package/template/web-extension/wxt.config.ts +28 -10
  91. package/template/electron-react/tsconfig.node.json +0 -10
  92. package/template/electron-vue/tsconfig.node.json +0 -10
  93. package/template/web-app/react-rsbuild/domain/components/index.ts +0 -1
  94. package/template/web-app/react-rsbuild/domain/router/router.types.ts +0 -3
  95. package/template/web-app/react-rsbuild/tsconfig.node.json +0 -10
  96. package/template/web-app/react-vite/domain/components/index.ts +0 -1
  97. package/template/web-app/react-vite/domain/router/router.types.ts +0 -3
  98. package/template/web-app/react-vite/scripts/createChunks.ts +0 -27
  99. package/template/web-app/vue/scripts/createChunks.ts +0 -27
  100. package/template/web-app/vue/shared/constant/index.ts +0 -0
  101. package/template/web-app/vue/shared/tools/index.ts +0 -0
  102. package/template/web-app/vue-rsbuild/tsconfig.node.json +0 -10
  103. package/template/web-extension/shared/styles/theme.css +0 -4
  104. /package/bin/{createTemp.d.ts → src/createTemp.d.ts} +0 -0
  105. /package/bin/{createTemp.js → src/createTemp.js} +0 -0
  106. /package/bin/{index.d.ts → src/index.d.ts} +0 -0
  107. /package/bin/{utils → src/utils}/index.d.ts +0 -0
  108. /package/bin/{utils → src/utils}/index.js +0 -0
  109. /package/template/web-app/react-rsbuild/{shared → src}/assets/react.svg +0 -0
  110. /package/template/web-app/react-rsbuild/{shared → src}/components/componentInstance.tsx +0 -0
  111. /package/template/web-app/react-rsbuild/{shared → src}/constant/index.ts +0 -0
  112. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/defineRouter.types.ts +0 -0
  113. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/deineRouter.tsx +0 -0
  114. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/index.ts +0 -0
  115. /package/template/web-app/react-rsbuild/{shared → src}/hooks/index.ts +0 -0
  116. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useDebounceFn.ts +0 -0
  117. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useInterval.ts +0 -0
  118. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useLowPriorityState.ts +0 -0
  119. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useSyncState.ts +0 -0
  120. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useVisible.ts +0 -0
  121. /package/template/web-app/react-rsbuild/{domain → src}/models/app.ts +0 -0
  122. /package/template/web-app/react-rsbuild/{domain → src}/models/index.ts +0 -0
  123. /package/template/web-app/react-rsbuild/{pages → src/pages}/home/index.ts +0 -0
  124. /package/template/web-app/react-rsbuild/{pages → src/pages}/home/view.module.css +0 -0
  125. /package/template/web-app/react-rsbuild/{pages → src/pages}/not-found.tsx +0 -0
  126. /package/template/web-app/react-rsbuild/{domain → src}/router/components/index.ts +0 -0
  127. /package/template/web-app/react-rsbuild/{domain → src}/router/home/ids.ts +0 -0
  128. /package/template/web-app/react-rsbuild/{domain → src}/router/home/index.ts +0 -0
  129. /package/template/web-app/react-rsbuild/{domain → src}/router/home/routes.tsx +0 -0
  130. /package/template/web-app/react-rsbuild/{domain → src}/router/ids.ts +0 -0
  131. /package/template/web-app/react-rsbuild/{domain → src}/router/index.ts +0 -0
  132. /package/template/web-app/react-rsbuild/{shared → src}/service/api.ts +0 -0
  133. /package/template/web-app/react-rsbuild/{shared → src}/service/home.ts +0 -0
  134. /package/template/web-app/react-rsbuild/{shared → src}/service/index.ts +0 -0
  135. /package/template/web-app/react-rsbuild/{shared → src}/service/request.ts +0 -0
  136. /package/template/web-app/react-rsbuild/{shared → src}/styles/theme.css +0 -0
  137. /package/template/web-app/react-rsbuild/{shared → src}/tools/index.ts +0 -0
  138. /package/template/web-app/react-vite/{shared/assets/react.svg → src/assets/favicon.svg} +0 -0
  139. /package/template/web-app/react-vite/{shared → src}/components/componentInstance.tsx +0 -0
  140. /package/template/web-app/react-vite/{shared → src}/constant/index.ts +0 -0
  141. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/defineRouter.types.ts +0 -0
  142. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/deineRouter.tsx +0 -0
  143. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/index.ts +0 -0
  144. /package/template/web-app/react-vite/{shared → src}/hooks/index.ts +0 -0
  145. /package/template/web-app/react-vite/{shared → src}/hooks/useDebounceFn.ts +0 -0
  146. /package/template/web-app/react-vite/{shared → src}/hooks/useInterval.ts +0 -0
  147. /package/template/web-app/{react-rsbuild/shared → react-vite/src}/hooks/useLazyRender.ts +0 -0
  148. /package/template/web-app/react-vite/{shared → src}/hooks/useLowPriorityState.ts +0 -0
  149. /package/template/web-app/react-vite/{shared → src}/hooks/useSyncState.ts +0 -0
  150. /package/template/web-app/react-vite/{shared → src}/hooks/useVisible.ts +0 -0
  151. /package/template/web-app/react-vite/{mockUtils.ts → src/mockUtils.ts} +0 -0
  152. /package/template/web-app/react-vite/{domain → src}/models/app.ts +0 -0
  153. /package/template/web-app/react-vite/{domain → src}/models/index.ts +0 -0
  154. /package/template/web-app/react-vite/{pages → src/pages}/home/index.ts +0 -0
  155. /package/template/web-app/react-vite/{pages → src/pages}/home/view.module.css +0 -0
  156. /package/template/web-app/react-vite/{pages → src/pages}/not-found.tsx +0 -0
  157. /package/template/web-app/react-vite/{domain → src}/router/components/index.ts +0 -0
  158. /package/template/web-app/react-vite/{domain → src}/router/home/ids.ts +0 -0
  159. /package/template/web-app/react-vite/{domain → src}/router/home/index.ts +0 -0
  160. /package/template/web-app/react-vite/{domain → src}/router/home/routes.tsx +0 -0
  161. /package/template/web-app/react-vite/{domain → src}/router/ids.ts +0 -0
  162. /package/template/web-app/react-vite/{domain → src}/router/index.ts +0 -0
  163. /package/template/web-app/react-vite/{shared → src}/service/api.ts +0 -0
  164. /package/template/web-app/react-vite/{shared → src}/service/home.ts +0 -0
  165. /package/template/web-app/react-vite/{shared → src}/service/index.ts +0 -0
  166. /package/template/web-app/react-vite/{shared → src}/service/request.ts +0 -0
  167. /package/template/web-app/react-vite/{shared → src}/styles/theme.css +0 -0
  168. /package/template/web-app/react-vite/{shared → src}/tools/index.ts +0 -0
  169. /package/template/web-app/vue/{shared/assets/vue.svg → src/assets/favicon.svg} +0 -0
  170. /package/template/web-app/vue/{domain → src}/components/createComponentInstance.ts +0 -0
  171. /package/template/web-app/vue/{domain → src}/components/index.ts +0 -0
  172. /package/template/web-app/{vue-rsbuild/shared/tools → vue/src/constant}/index.ts +0 -0
  173. /package/template/web-app/vue/{shared → src}/hooks/index.ts +0 -0
  174. /package/template/web-app/vue/{shared → src}/hooks/useList.ts +0 -0
  175. /package/template/web-app/vue/{shared → src}/hooks/useVisible.ts +0 -0
  176. /package/template/web-app/vue/{mockUtils.ts → src/mockUtils.ts} +0 -0
  177. /package/template/web-app/vue/{pages → src/pages}/home/index.ts +0 -0
  178. /package/template/web-app/vue/{pages → src/pages}/index.ts +0 -0
  179. /package/template/web-app/vue/{pages → src/pages}/index.vue +0 -0
  180. /package/template/web-app/vue/{pages → src/pages}/not-found.vue +0 -0
  181. /package/template/web-app/vue/{domain → src}/router/home/index.ts +0 -0
  182. /package/template/web-app/vue/{domain → src}/router/home/names.ts +0 -0
  183. /package/template/web-app/vue/{domain → src}/router/home/routes.ts +0 -0
  184. /package/template/web-app/vue/{domain → src}/router/index.ts +0 -0
  185. /package/template/web-app/vue/{domain → src}/router/names.ts +0 -0
  186. /package/template/web-app/vue/{shared → src}/service/api.ts +0 -0
  187. /package/template/web-app/vue/{shared → src}/service/home.ts +0 -0
  188. /package/template/web-app/vue/{shared → src}/service/index.ts +0 -0
  189. /package/template/web-app/vue/{shared → src}/service/request.ts +0 -0
  190. /package/template/web-app/vue/{shared → src}/styles/theme.css +0 -0
  191. /package/template/web-app/vue/{shared/components → src/tools}/index.ts +0 -0
  192. /package/template/web-app/vue-rsbuild/{shared → src}/assets/vue.svg +0 -0
  193. /package/template/web-app/vue-rsbuild/{domain → src}/components/createComponentInstance.ts +0 -0
  194. /package/template/web-app/vue-rsbuild/{domain → src}/components/index.ts +0 -0
  195. /package/template/web-app/vue-rsbuild/{shared/components → src/constant}/index.ts +0 -0
  196. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/index.ts +0 -0
  197. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/useList.ts +0 -0
  198. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/useVisible.ts +0 -0
  199. /package/template/web-app/vue-rsbuild/{pages → src/pages}/home/index.ts +0 -0
  200. /package/template/web-app/vue-rsbuild/{pages → src/pages}/index.ts +0 -0
  201. /package/template/web-app/vue-rsbuild/{pages → src/pages}/index.vue +0 -0
  202. /package/template/web-app/vue-rsbuild/{pages → src/pages}/not-found.vue +0 -0
  203. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/index.ts +0 -0
  204. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/names.ts +0 -0
  205. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/routes.ts +0 -0
  206. /package/template/web-app/vue-rsbuild/{domain → src}/router/index.ts +0 -0
  207. /package/template/web-app/vue-rsbuild/{domain → src}/router/names.ts +0 -0
  208. /package/template/web-app/vue-rsbuild/{shared → src}/service/api.ts +0 -0
  209. /package/template/web-app/vue-rsbuild/{shared → src}/service/home.ts +0 -0
  210. /package/template/web-app/vue-rsbuild/{shared → src}/service/index.ts +0 -0
  211. /package/template/web-app/vue-rsbuild/{shared → src}/service/request.ts +0 -0
  212. /package/template/web-app/vue-rsbuild/{shared → src}/styles/theme.css +0 -0
  213. /package/template/web-app/vue-rsbuild/{shared/constant → src/tools}/index.ts +0 -0
@@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'
2
2
  import { Outlet } from 'react-router'
3
3
  import { useMount } from 'react-use'
4
4
  import { last } from 'es-toolkit'
5
- import { useMatchRoutes, useRouter, routeType } from '@/domain/router'
5
+ import { useMatchRoutes, useRouter, routeType } from '@/router'
6
6
 
7
7
  export interface propsType {
8
8
  rootId: routeType['id']
@@ -1,6 +1,6 @@
1
1
  import { lazy } from 'react'
2
2
  import { createBrowserRouter } from 'react-router'
3
- import { defineRouter, routeType } from '@/shared/hooks'
3
+ import { defineRouter, routeType } from '@/hooks'
4
4
  import ids from './ids'
5
5
  import * as home from './home'
6
6
 
@@ -0,0 +1,3 @@
1
+ import { routeType as $routeType } from '@/hooks'
2
+
3
+ export type routeType = $routeType
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "baseUrl": ".",
4
3
  "target": "ESNext",
5
4
  "useDefineForClassFields": true,
6
5
  "lib": ["DOM", "DOM.Iterable", "ESNext"],
7
6
  "allowJs": false,
8
7
  "skipLibCheck": true,
9
- "esModuleInterop": false,
10
8
  "allowSyntheticDefaultImports": true,
11
9
  "strict": true,
12
10
  "forceConsistentCasingInFileNames": true,
@@ -19,14 +17,10 @@
19
17
  "noEmit": true,
20
18
  "jsx": "react-jsx",
21
19
  "paths": {
22
- "@/*": ["./*"]
20
+ "@/*": ["./src/*"]
23
21
  }
24
22
  },
25
23
  "include": ["**/*.ts", "**/*.tsx"],
26
24
  "exclude": ["scripts", "vite.config.ts"],
27
- "references": [
28
- {
29
- "path": "./tsconfig.node.json"
30
- }
31
- ]
25
+ "references": [{ "path": "./tsconfig.node.json" }]
32
26
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
4
+ "module": "nodenext",
5
+ "moduleResolution": "nodenext",
6
6
  "allowSyntheticDefaultImports": true,
7
7
  "resolveJsonModule": true
8
8
  },
@@ -1,3 +1,4 @@
1
+ import path from 'path'
1
2
  import { defineConfig, loadEnv } from 'vite'
2
3
  import react from '@vitejs/plugin-react'
3
4
  import svgr from 'vite-plugin-svgr'
@@ -5,12 +6,13 @@ import { mockDevServerPlugin } from 'vite-plugin-mock-dev-server'
5
6
  import checker from 'vite-plugin-checker'
6
7
  import tailwindcss from '@tailwindcss/vite'
7
8
  import { visualizer } from 'rollup-plugin-visualizer'
8
- import { createChunks } from './scripts'
9
+ import { createCodeSplitting } from './scripts/index.js'
9
10
 
10
11
  // https://vitejs.dev/config/
11
12
  export default defineConfig(({ mode }) => {
12
13
  const env = loadEnv(mode, process.cwd(), '')
13
14
  const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
15
+ const isDropConsole = ['production', 'analyse'].includes(mode)
14
16
  const plugins: any[] = [
15
17
  tailwindcss(),
16
18
  svgr(),
@@ -34,20 +36,20 @@ export default defineConfig(({ mode }) => {
34
36
  plugins,
35
37
  resolve: {
36
38
  alias: {
37
- '@': __dirname
39
+ '@': path.resolve(__dirname, 'src')
38
40
  }
39
41
  },
40
- esbuild: {
41
- drop: ['production', 'analyse'].includes(mode) ? ['console', 'debugger'] : []
42
- },
43
42
  build: {
44
43
  sourcemap: mode === 'analyse',
45
44
  reportCompressedSize: mode === 'analyse',
46
- rollupOptions: {
45
+ rolldownOptions: {
47
46
  output: {
48
- manualChunks: createChunks({
49
- react: ['react', 'react-dom']
50
- })
47
+ codeSplitting: createCodeSplitting([
48
+ { name: 'react-vendor', libs: ['react', 'react-dom'], priority: 20 }
49
+ ]),
50
+ minify: {
51
+ compress: { dropConsole: isDropConsole, dropDebugger: isDropConsole }
52
+ }
51
53
  }
52
54
  }
53
55
  },
@@ -32,7 +32,8 @@ export default tseslint.config([
32
32
  jsx: true
33
33
  },
34
34
  useJSXTextNode: true,
35
- parser: tseslint.parser
35
+ tsconfigRootDir: import.meta.dirname,
36
+ parser: tseslint.parser,
36
37
  },
37
38
  globals: {
38
39
  ...globals.browser,
@@ -2,13 +2,13 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
5
+ <link rel="icon" type="image/svg+xml" href="/src/assets/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vite + Vue + TS</title>
8
8
  </head>
9
9
  <body>
10
10
  <noscript>You need to enable JavaScript to run this app.</noscript>
11
11
  <div id="app"></div>
12
- <script type="module" src="/main.ts"></script>
12
+ <script type="module" src="/src/main.ts"></script>
13
13
  </body>
14
14
  </html>
@@ -1,72 +1,72 @@
1
- {
2
- "name": "vue-vite",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "prepare": "husky",
8
- "dev": "vite",
9
- "build": "vue-tsc --noEmit && vite build",
10
- "build:analyse": "tsc --noEmit && vite build --mode analyse",
11
- "preview": "vite preview",
12
- "format": "prettier --write \"**/*.{vue,ts,js,tsx,jsx,json,css,scss,less}\"",
13
- "lint": "vue-tsc --noEmit && eslint --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less,vue}",
14
- "lint:fix": "eslint --fix && stylelint **/*.{css,scss,less,vue} --fix",
15
- "cz": "cz",
16
- "push": "npm run commit && git push",
17
- "commit": "git add . && npm run cz",
18
- "up:vite": "pnpm up vite @vitejs/* vite-plugin-* -L",
19
- "up:vue": "pnpm up vue vue-router vue-tsc -L",
20
- "up:tailwind": "pnpm up tailwindcss @tailwindcss/* -L"
21
- },
22
- "dependencies": {
23
- "axios": "1.7.9",
24
- "es-toolkit": "1.43.0",
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
- "@tailwindcss/vite": "4.1.4",
38
- "@types/mockjs": "1.0.10",
39
- "@vitejs/plugin-vue": "6.0.3",
40
- "@vitejs/plugin-vue-jsx": "5.1.3",
41
- "autoprefixer": "10.4.14",
42
- "commitizen": "4.3.0",
43
- "cssnano": "6.0.0",
44
- "eslint": "9.17.0",
45
- "eslint-import-resolver-typescript": "3.7.0",
46
- "eslint-plugin-import": "2.31.0",
47
- "eslint-plugin-vue": "9.32.0",
48
- "globals": "15.12.0",
49
- "husky": "9.1.6",
50
- "inquirer": "8.1.2",
51
- "postcss": "8.4.38",
52
- "postcss-html": "1.8.0",
53
- "postcss-import": "16.1.0",
54
- "postcss-nesting": "12.1.1",
55
- "prettier": "3.2.5",
56
- "rollup-plugin-visualizer": "5.12.0",
57
- "stylelint": "16.10.0",
58
- "stylelint-config-standard-scss": "13.1.0",
59
- "typescript": "5.8.2",
60
- "typescript-eslint": "8.15.0",
61
- "vite": "7.3.0",
62
- "vite-plugin-checker": "0.12.0",
63
- "vite-plugin-mock-dev-server": "2.0.7",
64
- "vite-svg-loader": "5.1.0",
65
- "vue-tsc": "3.0.6"
66
- },
67
- "config": {
68
- "commitizen": {
69
- "path": "@commitlint/cz-commitlint"
70
- }
71
- }
72
- }
1
+ {
2
+ "name": "vue-vite",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "prepare": "husky",
8
+ "dev": "vite",
9
+ "build": "vue-tsc --noEmit && vite build",
10
+ "build:analyse": "tsc --noEmit && vite build --mode analyse",
11
+ "preview": "vite preview",
12
+ "format": "prettier --write \"**/*.{vue,ts,js,tsx,jsx,json,css,scss,less}\"",
13
+ "lint": "vue-tsc --noEmit && eslint --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less,vue}",
14
+ "lint:fix": "eslint --fix && stylelint **/*.{css,scss,less,vue} --fix",
15
+ "cz": "cz",
16
+ "push": "npm run commit && git push",
17
+ "commit": "git add . && npm run cz",
18
+ "up:vite": "pnpm up vite @vitejs/* vite-plugin-* -L",
19
+ "up:vue": "pnpm up vue vue-router vue-tsc -L",
20
+ "up:tailwind": "pnpm up tailwindcss @tailwindcss/* -L"
21
+ },
22
+ "dependencies": {
23
+ "axios": "1.16.0",
24
+ "es-toolkit": "1.46.1",
25
+ "pinia": "3.0.4",
26
+ "tailwindcss": "4.1.4",
27
+ "type-fest": "5.6.0",
28
+ "vue": "3.5.34",
29
+ "vue-router": "5.0.6"
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
+ "@tailwindcss/vite": "4.1.4",
38
+ "@types/mockjs": "1.0.10",
39
+ "@vitejs/plugin-vue": "6.0.6",
40
+ "@vitejs/plugin-vue-jsx": "5.1.5",
41
+ "autoprefixer": "10.4.14",
42
+ "commitizen": "4.3.0",
43
+ "cssnano": "6.0.0",
44
+ "eslint": "9.17.0",
45
+ "eslint-import-resolver-typescript": "4.4.4",
46
+ "eslint-plugin-import": "2.31.0",
47
+ "eslint-plugin-vue": "9.32.0",
48
+ "globals": "15.12.0",
49
+ "husky": "9.1.6",
50
+ "inquirer": "8.1.2",
51
+ "postcss": "8.4.38",
52
+ "postcss-html": "1.8.0",
53
+ "postcss-import": "16.1.0",
54
+ "postcss-nesting": "12.1.1",
55
+ "prettier": "3.2.5",
56
+ "rollup-plugin-visualizer": "5.12.0",
57
+ "stylelint": "16.10.0",
58
+ "stylelint-config-standard-scss": "13.1.0",
59
+ "typescript": "6.0.3",
60
+ "typescript-eslint": "8.59.2",
61
+ "vite": "8.0.11",
62
+ "vite-plugin-checker": "0.13.0",
63
+ "vite-plugin-mock-dev-server": "2.2.0",
64
+ "vite-svg-loader": "5.1.1",
65
+ "vue-tsc": "3.2.8"
66
+ },
67
+ "config": {
68
+ "commitizen": {
69
+ "path": "@commitlint/cz-commitlint"
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,30 @@
1
+ import { type BuildEnvironmentOptions } from 'vite'
2
+
3
+ type OutputOption<T> = T extends Array<infer O> ? O : T
4
+ type CodeSplitting = NonNullable<
5
+ OutputOption<NonNullable<BuildEnvironmentOptions['rolldownOptions']>['output']>
6
+ >['codeSplitting']
7
+
8
+ export function createCodeSplitting(
9
+ chunks: Array<{ name: string; libs: string[] | RegExp; priority: number }>
10
+ ) {
11
+ const result = {
12
+ groups: [
13
+ {
14
+ test: /[\\/]node_modules[\\/]/,
15
+ name: 'vendors',
16
+ priority: 1
17
+ }
18
+ ]
19
+ } satisfies CodeSplitting
20
+ chunks.forEach(({ name, libs, priority }) => {
21
+ result.groups.unshift({
22
+ test: Array.isArray(libs)
23
+ ? new RegExp(`[\\\\/]node_modules[\\\\/](${libs.join('|')})[\\\\/]`)
24
+ : libs,
25
+ name,
26
+ priority
27
+ })
28
+ })
29
+ return result
30
+ }
@@ -1 +1 @@
1
- export * from './createChunks'
1
+ export * from './createCodeSplitting.js'
@@ -3,7 +3,7 @@
3
3
  </template>
4
4
 
5
5
  <script setup lang="ts">
6
- import { router, routerNames } from '@/domain/router'
6
+ import { router, routerNames } from '@/router'
7
7
 
8
8
  router.beforeEach(async to => {
9
9
  if (!Object.values(routerNames).includes(to.name as string)) {
@@ -0,0 +1 @@
1
+ @import './shared/styles/theme.css';
@@ -1,7 +1,7 @@
1
1
  import { createApp } from 'vue'
2
2
  import { createPinia } from 'pinia'
3
- import { App } from '@/domain/components'
4
- import { router } from '@/domain/router'
5
- import './shared/styles/theme.css'
3
+ import { App } from '@/components'
4
+ import { router } from '@/router'
5
+ import './main.css'
6
6
 
7
7
  createApp(App).use(createPinia()).use(router).mount('#app')
@@ -1,6 +1,6 @@
1
1
  import { faker } from '@faker-js/faker'
2
2
  import { defineMock } from '@/mockUtils'
3
- import { API } from '@/shared/service'
3
+ import { API } from '@/service'
4
4
 
5
5
  export default defineMock([
6
6
  {
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { fetchHomeData } from '@/shared/service'
2
+ import { fetchHomeData } from '@/service'
3
3
 
4
4
  const data = fetchHomeData()
5
5
  console.log('data', data)
@@ -1,25 +1,28 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "baseUrl": ".",
4
3
  "target": "ESNext",
5
4
  "useDefineForClassFields": true,
5
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
6
+ "allowJs": false,
7
+ "skipLibCheck": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "strict": true,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "strictPropertyInitialization": false,
12
+ "strictNullChecks": true,
6
13
  "module": "ESNext",
7
14
  "moduleResolution": "bundler",
8
- "strict": true,
9
15
  "jsx": "preserve",
10
16
  "jsxImportSource": "vue",
11
17
  "sourceMap": true,
12
18
  "resolveJsonModule": true,
13
19
  "isolatedModules": true,
14
- "strictPropertyInitialization": false,
15
20
  "esModuleInterop": true,
16
- "lib": ["ESNext", "DOM"],
17
- "skipLibCheck": true,
18
21
  "paths": {
19
- "@/*": ["./*"]
22
+ "@/*": ["./src/*"]
20
23
  }
21
24
  },
22
- "include": ["**/*.tsx", "**/*.ts", "**/*.vue"],
25
+ "include": ["**/*.ts", "**/*.tsx", "**/*.vue"],
23
26
  "exclude": ["scripts", "vite.config.ts"],
24
27
  "references": [{ "path": "./tsconfig.node.json" }]
25
28
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
4
+ "module": "nodenext",
5
+ "moduleResolution": "nodenext",
6
6
  "allowSyntheticDefaultImports": true,
7
7
  "resolveJsonModule": true
8
8
  },
@@ -1,3 +1,4 @@
1
+ import path from 'path'
1
2
  import { defineConfig, loadEnv } from 'vite'
2
3
  import vue from '@vitejs/plugin-vue'
3
4
  import vueJsx from '@vitejs/plugin-vue-jsx'
@@ -6,12 +7,13 @@ import { mockDevServerPlugin } from 'vite-plugin-mock-dev-server'
6
7
  import checker from 'vite-plugin-checker'
7
8
  import tailwindcss from '@tailwindcss/vite'
8
9
  import { visualizer } from 'rollup-plugin-visualizer'
9
- import { createChunks } from './scripts'
10
+ import { createCodeSplitting } from './scripts/index.js'
10
11
 
11
12
  // https://vitejs.dev/config/
12
13
  export default defineConfig(({ mode }) => {
13
14
  const env = loadEnv(mode, process.cwd(), '')
14
15
  const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
16
+ const isDropConsole = ['production', 'analyse'].includes(mode)
15
17
  const plugins: any[] = [
16
18
  tailwindcss(),
17
19
  mockDevServerPlugin({
@@ -37,7 +39,7 @@ export default defineConfig(({ mode }) => {
37
39
  plugins,
38
40
  resolve: {
39
41
  alias: {
40
- '@': __dirname
42
+ '@': path.resolve(__dirname, 'src')
41
43
  }
42
44
  },
43
45
  esbuild: {
@@ -46,11 +48,14 @@ export default defineConfig(({ mode }) => {
46
48
  build: {
47
49
  sourcemap: mode === 'analyse',
48
50
  reportCompressedSize: mode === 'analyse',
49
- rollupOptions: {
51
+ rolldownOptions: {
50
52
  output: {
51
- manualChunks: createChunks({
52
- vue: ['vue', 'vue-router']
53
- })
53
+ codeSplitting: createCodeSplitting([
54
+ { name: 'vue-vendor', libs: ['vue', 'vue-router'], priority: 20 }
55
+ ]),
56
+ minify: {
57
+ compress: { dropConsole: isDropConsole, dropDebugger: isDropConsole }
58
+ }
54
59
  }
55
60
  }
56
61
  },
@@ -23,6 +23,7 @@ export default tseslint.config([
23
23
  jsx: true
24
24
  },
25
25
  useJSXTextNode: true,
26
+ tsconfigRootDir: import.meta.dirname,
26
27
  parser: tseslint.parser
27
28
  },
28
29
  globals: {
@@ -1,77 +1,77 @@
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
- "up:tailwind": "pnpm up tailwindcss @tailwindcss/* -L"
22
- },
23
- "dependencies": {
24
- "axios": "1.7.9",
25
- "es-toolkit": "1.43.0",
26
- "pinia": "3.0.3",
27
- "tailwindcss": "4.1.4",
28
- "type-fest": "4.33.0",
29
- "vue": "3.5.20",
30
- "vue-router": "4.5.1"
31
- },
32
- "devDependencies": {
33
- "@commitlint/cli": "17.6.1",
34
- "@commitlint/config-conventional": "17.6.1",
35
- "@commitlint/cz-commitlint": "17.5.0",
36
- "@eslint/js": "9.15.0",
37
- "@faker-js/faker": "8.4.1",
38
- "@rsbuild/core": "1.6.15",
39
- "@rsbuild/plugin-eslint": "1.2.0",
40
- "@rsbuild/plugin-type-check": "1.3.2",
41
- "@rsbuild/plugin-vue": "1.2.2",
42
- "@rsdoctor/rspack-plugin": "1.4.0",
43
- "@tailwindcss/postcss": "4.1.4",
44
- "@types/mockjs": "1.0.10",
45
- "autoprefixer": "10.4.14",
46
- "commitizen": "4.3.0",
47
- "cross-env": "7.0.3",
48
- "cssnano": "6.0.0",
49
- "eslint": "9.17.0",
50
- "eslint-import-resolver-typescript": "3.7.0",
51
- "eslint-plugin-import": "2.31.0",
52
- "eslint-plugin-vue": "9.32.0",
53
- "globals": "15.12.0",
54
- "husky": "9.1.6",
55
- "inquirer": "8.1.2",
56
- "postcss": "8.4.38",
57
- "postcss-html": "1.8.0",
58
- "postcss-import": "16.1.0",
59
- "postcss-nesting": "12.1.1",
60
- "prettier": "3.2.5",
61
- "rollup-plugin-visualizer": "5.12.0",
62
- "stylelint": "16.10.0",
63
- "stylelint-config-standard-scss": "13.1.0",
64
- "stylelint-webpack-plugin": "5.0.0",
65
- "typescript": "5.8.2",
66
- "typescript-eslint": "8.15.0",
67
- "vue-tsc": "3.0.6"
68
- },
69
- "config": {
70
- "commitizen": {
71
- "path": "@commitlint/cz-commitlint"
72
- }
73
- },
74
- "imports": {
75
- "#theme.css": "./shared/styles/theme.css"
76
- }
77
- }
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
+ "up:tailwind": "pnpm up tailwindcss @tailwindcss/* -L"
22
+ },
23
+ "dependencies": {
24
+ "axios": "1.16.0",
25
+ "es-toolkit": "1.46.1",
26
+ "pinia": "3.0.4",
27
+ "tailwindcss": "4.1.4",
28
+ "type-fest": "5.6.0",
29
+ "vue": "3.5.20",
30
+ "vue-router": "4.5.1"
31
+ },
32
+ "devDependencies": {
33
+ "@commitlint/cli": "17.6.1",
34
+ "@commitlint/config-conventional": "17.6.1",
35
+ "@commitlint/cz-commitlint": "17.5.0",
36
+ "@eslint/js": "9.15.0",
37
+ "@faker-js/faker": "8.4.1",
38
+ "@rsbuild/core": "2.0.5",
39
+ "@rsbuild/plugin-eslint": "1.3.0",
40
+ "@rsbuild/plugin-type-check": "1.3.4",
41
+ "@rsbuild/plugin-vue": "1.2.8",
42
+ "@rsdoctor/rspack-plugin": "1.5.10",
43
+ "@tailwindcss/postcss": "4.1.4",
44
+ "@types/mockjs": "1.0.10",
45
+ "autoprefixer": "10.4.14",
46
+ "commitizen": "4.3.0",
47
+ "cross-env": "7.0.3",
48
+ "cssnano": "6.0.0",
49
+ "eslint": "9.17.0",
50
+ "eslint-import-resolver-typescript": "4.4.4",
51
+ "eslint-plugin-import": "2.31.0",
52
+ "eslint-plugin-vue": "9.32.0",
53
+ "globals": "15.12.0",
54
+ "husky": "9.1.6",
55
+ "inquirer": "8.1.2",
56
+ "postcss": "8.4.38",
57
+ "postcss-html": "1.8.0",
58
+ "postcss-import": "16.1.0",
59
+ "postcss-nesting": "12.1.1",
60
+ "prettier": "3.2.5",
61
+ "rollup-plugin-visualizer": "5.12.0",
62
+ "stylelint": "16.10.0",
63
+ "stylelint-config-standard-scss": "13.1.0",
64
+ "stylelint-webpack-plugin": "5.0.0",
65
+ "typescript": "6.0.3",
66
+ "typescript-eslint": "8.59.2",
67
+ "vue-tsc": "3.0.6"
68
+ },
69
+ "config": {
70
+ "commitizen": {
71
+ "path": "@commitlint/cz-commitlint"
72
+ }
73
+ },
74
+ "imports": {
75
+ "#theme.css": "./shared/styles/theme.css"
76
+ }
77
+ }