create-packer 1.35.14 → 1.35.16

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 (119) hide show
  1. package/package.json +2 -1
  2. package/template/cli/biome.json +37 -0
  3. package/template/cli/package.json +1 -0
  4. package/template/lib/workspace/.eslintrc +1 -7
  5. package/template/lib/workspace/biome.json +37 -0
  6. package/template/lib/workspace/package.json +1 -2
  7. package/template/lib/workspace/packages/react/.eslintrc +1 -7
  8. package/template/lib/workspace/packages/react/package.json +0 -2
  9. package/template/lib/workspace/packages/ts/.eslintrc +1 -7
  10. package/template/lib/workspace/packages/ts/package.json +0 -1
  11. package/template/web-app/react-rspack/.eslintrc +1 -10
  12. package/template/web-app/react-rspack/.vscode/extensions.json +2 -2
  13. package/template/web-app/react-rspack/biome.json +37 -0
  14. package/template/web-app/react-rspack/package.json +2 -3
  15. package/template/web-app/react-vite/.eslintrc +1 -10
  16. package/template/web-app/react-vite/.vscode/extensions.json +8 -8
  17. package/template/web-app/react-vite/.vscode/settings.json +4 -18
  18. package/template/web-app/react-vite/biome.json +37 -0
  19. package/template/web-app/react-vite/domain/app/app.model.ts +7 -7
  20. package/template/web-app/react-vite/domain/app/app.styled.ts +3 -3
  21. package/template/web-app/react-vite/domain/app/components/app-context.tsx +17 -17
  22. package/template/web-app/react-vite/domain/app/components/app.tsx +24 -24
  23. package/template/web-app/react-vite/domain/app/components/index.ts +1 -1
  24. package/template/web-app/react-vite/domain/app/index.ts +2 -2
  25. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -3
  26. package/template/web-app/react-vite/domain/router/home/index.ts +2 -2
  27. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -13
  28. package/template/web-app/react-vite/domain/router/ids.ts +6 -6
  29. package/template/web-app/react-vite/domain/router/index.ts +3 -3
  30. package/template/web-app/react-vite/domain/router/router.tsx +28 -28
  31. package/template/web-app/react-vite/domain/router/router.types.ts +3 -3
  32. package/template/web-app/react-vite/main.tsx +4 -4
  33. package/template/web-app/react-vite/mockUtils.ts +6 -6
  34. package/template/web-app/react-vite/package.json +79 -80
  35. package/template/web-app/react-vite/pages/home/home.mock.ts +19 -19
  36. package/template/web-app/react-vite/pages/home/home.styled.ts +7 -7
  37. package/template/web-app/react-vite/pages/home/home.tsx +10 -10
  38. package/template/web-app/react-vite/pages/home/index.ts +1 -1
  39. package/template/web-app/react-vite/pages/index.tsx +18 -18
  40. package/template/web-app/react-vite/pages/not-found.tsx +3 -3
  41. package/template/web-app/react-vite/scripts/createChunks.ts +26 -26
  42. package/template/web-app/react-vite/scripts/index.ts +1 -1
  43. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  44. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -2
  45. package/template/web-app/react-vite/shared/hooks/index.ts +6 -6
  46. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -26
  47. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +27 -27
  48. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -26
  49. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -15
  50. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -27
  51. package/template/web-app/react-vite/shared/service/api.ts +1 -1
  52. package/template/web-app/react-vite/shared/service/home.ts +10 -10
  53. package/template/web-app/react-vite/shared/service/index.ts +3 -3
  54. package/template/web-app/react-vite/shared/service/request.ts +5 -5
  55. package/template/web-app/react-vite/shared/theme/index.ts +1 -1
  56. package/template/web-app/react-vite/shared/theme/theme.styled.ts +56 -56
  57. package/template/web-app/react-vite/shared/tools/componentInstance.tsx +80 -80
  58. package/template/web-app/react-vite/shared/tools/index.ts +1 -1
  59. package/template/web-app/react-vite/shared/types/index.ts +1 -1
  60. package/template/web-app/react-vite/shared/types/utils.ts +2 -2
  61. package/template/web-app/react-vite/tsconfig.json +32 -44
  62. package/template/web-app/react-vite/tsconfig.node.json +10 -10
  63. package/template/web-app/react-vite/vite-env.d.ts +18 -18
  64. package/template/web-app/react-vite/vite.config.ts +76 -76
  65. package/template/web-app/react-webpack/.eslintrc +1 -10
  66. package/template/web-app/react-webpack/.vscode/extensions.json +2 -2
  67. package/template/web-app/react-webpack/biome.json +37 -0
  68. package/template/web-app/react-webpack/package.json +2 -3
  69. package/template/web-app/vue/.eslintrc +0 -7
  70. package/template/web-app/vue/.vscode/extensions.json +9 -9
  71. package/template/web-app/vue/biome.json +37 -0
  72. package/template/web-app/vue/domain/app/app.ts +4 -4
  73. package/template/web-app/vue/domain/app/components/index.ts +1 -1
  74. package/template/web-app/vue/domain/app/createComponentInstance.ts +44 -44
  75. package/template/web-app/vue/domain/app/index.ts +3 -3
  76. package/template/web-app/vue/main.ts +7 -7
  77. package/template/web-app/vue/mockUtils.ts +6 -6
  78. package/template/web-app/vue/package.json +2 -3
  79. package/template/web-app/vue/pages/home/home.mock.ts +19 -19
  80. package/template/web-app/vue/pages/home/index.ts +1 -1
  81. package/template/web-app/vue/pages/index.ts +1 -1
  82. package/template/web-app/vue/router/home/index.ts +2 -2
  83. package/template/web-app/vue/router/home/names.ts +3 -3
  84. package/template/web-app/vue/router/home/routes.ts +8 -8
  85. package/template/web-app/vue/router/index.ts +26 -26
  86. package/template/web-app/vue/router/names.ts +5 -5
  87. package/template/web-app/vue/scripts/createChunks.ts +26 -26
  88. package/template/web-app/vue/scripts/index.ts +1 -1
  89. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  90. package/template/web-app/vue/shared/hooks/useList.ts +104 -104
  91. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  92. package/template/web-app/vue/shared/service/api.ts +1 -1
  93. package/template/web-app/vue/shared/service/home.ts +10 -10
  94. package/template/web-app/vue/shared/service/index.ts +3 -3
  95. package/template/web-app/vue/shared/service/request.ts +5 -5
  96. package/template/web-app/vue/style.css +3 -3
  97. package/template/web-app/vue/tsconfig.json +24 -24
  98. package/template/web-app/vue/tsconfig.node.json +10 -10
  99. package/template/web-app/vue/vite-env.d.ts +18 -18
  100. package/template/web-app/vue/vite.config.ts +65 -65
  101. package/template/web-extension/.eslintrc +0 -9
  102. package/template/web-extension/.vscode/extensions.json +2 -2
  103. package/template/web-extension/biome.json +37 -0
  104. package/template/web-extension/package.json +2 -3
  105. package/template/cli/.prettierignore +0 -6
  106. package/template/cli/.prettierrc.js +0 -20
  107. package/template/lib/workspace/.prettierignore +0 -4
  108. package/template/lib/workspace/.prettierrc +0 -18
  109. package/template/lib/workspace/packages/react/.prettierignore +0 -4
  110. package/template/lib/workspace/packages/react/.prettierrc +0 -18
  111. package/template/lib/workspace/packages/ts/.prettierrc +0 -12
  112. package/template/web-app/react-rspack/.prettierignore +0 -6
  113. package/template/web-app/react-rspack/.prettierrc +0 -12
  114. package/template/web-app/react-vite/.prettierignore +0 -6
  115. package/template/web-app/react-vite/.prettierrc +0 -12
  116. package/template/web-app/vue/.prettierignore +0 -6
  117. package/template/web-app/vue/.prettierrc +0 -12
  118. package/template/web-extension/.prettierignore +0 -6
  119. package/template/web-extension/.prettierrc +0 -12
@@ -1,26 +1,26 @@
1
- import { concat, forEach, includes, isArray, isRegExp, keys, remove, size } from 'lodash-es'
2
- import pkg from '../package.json'
3
-
4
- export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
5
- const vendor = keys(pkg.dependencies)
6
- const result: { [key: string]: string[] } = {}
7
-
8
- forEach(chunks, (values, key) => {
9
- if (!isArray(result[key])) {
10
- result[key] = []
11
- }
12
- forEach(values, value => {
13
- let modules: string[] = []
14
- if (isRegExp(value)) {
15
- modules = remove(vendor, name => value.test(name))
16
- } else {
17
- modules = remove(vendor, name => name === value)
18
- }
19
- if (size(modules) > 0) {
20
- result[key] = concat(result[key], modules)
21
- }
22
- })
23
- })
24
- result.vendor = vendor
25
- return result
26
- }
1
+ import { concat, forEach, includes, isArray, isRegExp, keys, remove, size } from 'lodash-es'
2
+ import pkg from '../package.json'
3
+
4
+ export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
5
+ const vendor = keys(pkg.dependencies)
6
+ const result: { [key: string]: string[] } = {}
7
+
8
+ forEach(chunks, (values, key) => {
9
+ if (!isArray(result[key])) {
10
+ result[key] = []
11
+ }
12
+ forEach(values, value => {
13
+ let modules: string[] = []
14
+ if (isRegExp(value)) {
15
+ modules = remove(vendor, name => value.test(name))
16
+ } else {
17
+ modules = remove(vendor, name => name === value)
18
+ }
19
+ if (size(modules) > 0) {
20
+ result[key] = concat(result[key], modules)
21
+ }
22
+ })
23
+ })
24
+ result.vendor = vendor
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,104 +1,104 @@
1
- import { ref, reactive, computed, unref } from 'vue'
2
- import { cloneDeep, concat, assign, pick, isNil, size, map, max } from 'lodash-es'
3
-
4
- export interface stateType<ListItem, P> {
5
- loading: boolean
6
- total: number
7
- params: P
8
- list: ListItem[]
9
- sum: Record<string, any>
10
- selected: ListItem[]
11
- selectedKeys: (string | number)[]
12
- pagination: {
13
- current: number
14
- pageSize: number
15
- total: number
16
- }
17
- selectedLen: number
18
- }
19
- export interface createListStorePropsType<ListItem, P> {
20
- /**
21
- * @description 默认请求参数
22
- */
23
- defaultParams: P
24
- /** 列表请求 */
25
- fetch: (
26
- state: Pick<stateType<ListItem, P>, 'pagination' | 'selected' | 'total' | 'params'>
27
- ) => Promise<{
28
- list: any[]
29
- page?: number
30
- pageSize?: number
31
- total?: number
32
- sum?: Record<string, any>
33
- }>
34
- /** 初始化列表时的配置 */
35
- initConfig?: {
36
- /** 初始化的时候需要保留值的字段 */
37
- keepParamsKeys?: Array<keyof P>
38
- }
39
- }
40
-
41
- export default function createListStore<
42
- ListItem extends Record<string, any>,
43
- P extends { page?: number; pageSize?: number; [key: string]: any }
44
- >(config: createListStorePropsType<ListItem, P>) {
45
- const loading = ref<stateType<ListItem, P>['loading']>(true)
46
- const total = ref<stateType<ListItem, P>['total']>(0)
47
- const params = reactive<stateType<ListItem, P>['params']>(cloneDeep(config.defaultParams))
48
- const list = ref<stateType<ListItem, P>['list']>([])
49
- const sum = reactive<stateType<ListItem, P>['sum']>({})
50
- const selected = ref<stateType<ListItem, P>['selected']>([])
51
- const selectedKeys = ref<stateType<ListItem, P>['selectedKeys']>([])
52
- const pagination = computed<stateType<ListItem, P>['pagination']>(() => ({
53
- current: params.page || 0,
54
- pageSize: params.pageSize || 0,
55
- total: total.value
56
- }))
57
- const selectedLen = computed<stateType<ListItem, P>['selectedLen']>(() => {
58
- return max([size(selected.value), size(selectedKeys.value)]) || 0
59
- })
60
- function resetParams() {
61
- assign(params, cloneDeep(config.defaultParams))
62
- }
63
- async function fetchList(arg?: { params?: Partial<P>; isConcat?: boolean; isInit?: boolean }) {
64
- loading.value = true
65
- try {
66
- if (arg?.isInit) {
67
- assign(
68
- params,
69
- cloneDeep(config.defaultParams),
70
- pick(params, config?.initConfig?.keepParamsKeys || [])
71
- )
72
- }
73
- assign(params, arg?.params)
74
- const result = await config.fetch({
75
- pagination: unref(pagination),
76
- selected: unref(selected),
77
- total: unref(total),
78
- params
79
- })
80
- list.value =
81
- !isNil(result.page) && arg?.isConcat ? concat(list.value, result.list) : result.list
82
- sum.value = result.sum || {}
83
- total.value = result.total || total.value
84
- params.page = result.page || params.page
85
- params.pageSize = result.pageSize || params.pageSize
86
- } finally {
87
- loading.value = false
88
- }
89
- }
90
-
91
- return {
92
- loading,
93
- total,
94
- params,
95
- list,
96
- sum,
97
- selected,
98
- selectedKeys,
99
- pagination,
100
- selectedLen,
101
- resetParams,
102
- fetchList
103
- }
104
- }
1
+ import { ref, reactive, computed, unref } from 'vue'
2
+ import { cloneDeep, concat, assign, pick, isNil, size, map, max } from 'lodash-es'
3
+
4
+ export interface stateType<ListItem, P> {
5
+ loading: boolean
6
+ total: number
7
+ params: P
8
+ list: ListItem[]
9
+ sum: Record<string, any>
10
+ selected: ListItem[]
11
+ selectedKeys: (string | number)[]
12
+ pagination: {
13
+ current: number
14
+ pageSize: number
15
+ total: number
16
+ }
17
+ selectedLen: number
18
+ }
19
+ export interface createListStorePropsType<ListItem, P> {
20
+ /**
21
+ * @description 默认请求参数
22
+ */
23
+ defaultParams: P
24
+ /** 列表请求 */
25
+ fetch: (
26
+ state: Pick<stateType<ListItem, P>, 'pagination' | 'selected' | 'total' | 'params'>
27
+ ) => Promise<{
28
+ list: any[]
29
+ page?: number
30
+ pageSize?: number
31
+ total?: number
32
+ sum?: Record<string, any>
33
+ }>
34
+ /** 初始化列表时的配置 */
35
+ initConfig?: {
36
+ /** 初始化的时候需要保留值的字段 */
37
+ keepParamsKeys?: Array<keyof P>
38
+ }
39
+ }
40
+
41
+ export default function createListStore<
42
+ ListItem extends Record<string, any>,
43
+ P extends { page?: number; pageSize?: number; [key: string]: any }
44
+ >(config: createListStorePropsType<ListItem, P>) {
45
+ const loading = ref<stateType<ListItem, P>['loading']>(true)
46
+ const total = ref<stateType<ListItem, P>['total']>(0)
47
+ const params = reactive<stateType<ListItem, P>['params']>(cloneDeep(config.defaultParams))
48
+ const list = ref<stateType<ListItem, P>['list']>([])
49
+ const sum = reactive<stateType<ListItem, P>['sum']>({})
50
+ const selected = ref<stateType<ListItem, P>['selected']>([])
51
+ const selectedKeys = ref<stateType<ListItem, P>['selectedKeys']>([])
52
+ const pagination = computed<stateType<ListItem, P>['pagination']>(() => ({
53
+ current: params.page || 0,
54
+ pageSize: params.pageSize || 0,
55
+ total: total.value
56
+ }))
57
+ const selectedLen = computed<stateType<ListItem, P>['selectedLen']>(() => {
58
+ return max([size(selected.value), size(selectedKeys.value)]) || 0
59
+ })
60
+ function resetParams() {
61
+ assign(params, cloneDeep(config.defaultParams))
62
+ }
63
+ async function fetchList(arg?: { params?: Partial<P>; isConcat?: boolean; isInit?: boolean }) {
64
+ loading.value = true
65
+ try {
66
+ if (arg?.isInit) {
67
+ assign(
68
+ params,
69
+ cloneDeep(config.defaultParams),
70
+ pick(params, config?.initConfig?.keepParamsKeys || [])
71
+ )
72
+ }
73
+ assign(params, arg?.params)
74
+ const result = await config.fetch({
75
+ pagination: unref(pagination),
76
+ selected: unref(selected),
77
+ total: unref(total),
78
+ params
79
+ })
80
+ list.value =
81
+ !isNil(result.page) && arg?.isConcat ? concat(list.value, result.list) : result.list
82
+ sum.value = result.sum || {}
83
+ total.value = result.total || total.value
84
+ params.page = result.page || params.page
85
+ params.pageSize = result.pageSize || params.pageSize
86
+ } finally {
87
+ loading.value = false
88
+ }
89
+ }
90
+
91
+ return {
92
+ loading,
93
+ total,
94
+ params,
95
+ list,
96
+ sum,
97
+ selected,
98
+ selectedKeys,
99
+ pagination,
100
+ selectedLen,
101
+ resetParams,
102
+ fetchList
103
+ }
104
+ }
@@ -1,27 +1,27 @@
1
- import { ref } from 'vue'
2
- import { isFunction } from 'lodash-es'
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 'lodash-es'
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,10 +1,10 @@
1
- import { useQuery } from '@tanstack/vue-query'
2
- import { request } from './request'
3
- import { HOME_DATA } from './api'
4
-
5
- export function useHomeQuery() {
6
- return useQuery({
7
- queryKey: ['home_data'],
8
- queryFn: () => request.post(HOME_DATA)
9
- })
10
- }
1
+ import { useQuery } from '@tanstack/vue-query'
2
+ import { request } from './request'
3
+ import { HOME_DATA } from './api'
4
+
5
+ export function useHomeQuery() {
6
+ return useQuery({
7
+ queryKey: ['home_data'],
8
+ queryFn: () => request.post(HOME_DATA)
9
+ })
10
+ }
@@ -1,3 +1,3 @@
1
- export * from './request'
2
- export * as API from './api'
3
- export * from './home'
1
+ export * from './request'
2
+ export * as API from './api'
3
+ export * from './home'
@@ -1,5 +1,5 @@
1
- import axios from 'axios'
2
-
3
- export const request = axios.create({
4
- baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
- })
1
+ import axios from 'axios'
2
+
3
+ export const request = axios.create({
4
+ baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
+ })
@@ -1,3 +1,3 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -1,24 +1,24 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "target": "ESNext",
5
- "useDefineForClassFields": true,
6
- "module": "ESNext",
7
- "moduleResolution": "Node",
8
- "strict": true,
9
- "jsx": "preserve",
10
- "sourceMap": true,
11
- "resolveJsonModule": true,
12
- "isolatedModules": true,
13
- "strictPropertyInitialization": false,
14
- "esModuleInterop": true,
15
- "lib": ["ESNext", "DOM"],
16
- "skipLibCheck": true,
17
- "paths": {
18
- "@/*": ["./*"]
19
- }
20
- },
21
- "include": ["**/*.tsx", "**/*.ts", "**/*.vue"],
22
- "exclude": ["scripts", "vite.config.ts"],
23
- "references": [{ "path": "./tsconfig.node.json" }]
24
- }
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "target": "ESNext",
5
+ "useDefineForClassFields": true,
6
+ "module": "ESNext",
7
+ "moduleResolution": "Node",
8
+ "strict": true,
9
+ "jsx": "preserve",
10
+ "sourceMap": true,
11
+ "resolveJsonModule": true,
12
+ "isolatedModules": true,
13
+ "strictPropertyInitialization": false,
14
+ "esModuleInterop": true,
15
+ "lib": ["ESNext", "DOM"],
16
+ "skipLibCheck": true,
17
+ "paths": {
18
+ "@/*": ["./*"]
19
+ }
20
+ },
21
+ "include": ["**/*.tsx", "**/*.ts", "**/*.vue"],
22
+ "exclude": ["scripts", "vite.config.ts"],
23
+ "references": [{ "path": "./tsconfig.node.json" }]
24
+ }
@@ -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", "vite.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", "vite.config.ts", "package.json"]
10
+ }
@@ -1,18 +1,18 @@
1
- /// <reference types="vite/client" />
2
- /// <reference types="vite-svg-loader" />
3
-
4
- declare module '*.vue' {
5
- import type { DefineComponent } from 'vue'
6
- const component: DefineComponent<Record<string, any>, Record<string, any>, any>
7
- export default component
8
- }
9
-
10
- interface ImportMetaEnv {
11
- readonly VITE_BASE_URL: string
12
- readonly VITE_API_HOST: string
13
- // 更多环境变量...
14
- }
15
-
16
- interface ImportMeta {
17
- readonly env: ImportMetaEnv
18
- }
1
+ /// <reference types="vite/client" />
2
+ /// <reference types="vite-svg-loader" />
3
+
4
+ declare module '*.vue' {
5
+ import type { DefineComponent } from 'vue'
6
+ const component: DefineComponent<Record<string, any>, Record<string, any>, any>
7
+ export default component
8
+ }
9
+
10
+ interface ImportMetaEnv {
11
+ readonly VITE_BASE_URL: string
12
+ readonly VITE_API_HOST: string
13
+ // 更多环境变量...
14
+ }
15
+
16
+ interface ImportMeta {
17
+ readonly env: ImportMetaEnv
18
+ }
@@ -1,65 +1,65 @@
1
- import { defineConfig, loadEnv } from 'vite'
2
- import vue from '@vitejs/plugin-vue'
3
- import vueJsx from '@vitejs/plugin-vue-jsx'
4
- import svgLoader from 'vite-svg-loader'
5
- import mockDevServer from 'vite-plugin-mock-dev-server'
6
- import stylelint from 'vite-plugin-stylelint'
7
- import eslint from '@rollup/plugin-eslint'
8
- import { visualizer } from 'rollup-plugin-visualizer'
9
- import { includes } from 'lodash-es'
10
- import { createChunks } from './scripts'
11
-
12
- // https://vitejs.dev/config/
13
- export default defineConfig(({ mode }) => {
14
- const env = loadEnv(mode, process.cwd(), '')
15
- const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
16
- const plugins: any[] = [
17
- vueJsx({
18
- enableObjectSlots: false
19
- }),
20
- stylelint({ cache: false, include: ['**/*.{css,scss,sass,less,styl,vue,svelte}'] }),
21
- eslint({ include: ['**/*.{ts,tsx,js,jsx,vue}'] }),
22
- vue(),
23
- svgLoader(),
24
- mockDevServer({
25
- include: ['**/*.mock.{ts,js}']
26
- })
27
- ]
28
-
29
- if (mode === 'analyse') {
30
- plugins.push(visualizer({ open: true, sourcemap: true, brotliSize: true, gzipSize: true }))
31
- }
32
- return {
33
- base: env.VITE_BASE_URL,
34
- plugins,
35
- resolve: {
36
- alias: {
37
- '@': __dirname
38
- }
39
- },
40
- esbuild: {
41
- drop: includes(['production', 'analyse'], mode) ? ['console', 'debugger'] : []
42
- },
43
- build: {
44
- sourcemap: mode === 'analyse',
45
- reportCompressedSize: mode === 'analyse',
46
- rollupOptions: {
47
- output: {
48
- manualChunks: createChunks({
49
- vue: ['vue', 'vue-router']
50
- })
51
- }
52
- }
53
- },
54
- server: {
55
- host: '0.0.0.0',
56
- proxy: {
57
- [proxyBaseUrl]: {
58
- target: 'http://127.0.0.1',
59
- changeOrigin: true,
60
- rewrite: path => path.replace(proxyBaseUrl, '')
61
- }
62
- }
63
- }
64
- }
65
- })
1
+ import { defineConfig, loadEnv } from 'vite'
2
+ import vue from '@vitejs/plugin-vue'
3
+ import vueJsx from '@vitejs/plugin-vue-jsx'
4
+ import svgLoader from 'vite-svg-loader'
5
+ import mockDevServer from 'vite-plugin-mock-dev-server'
6
+ import stylelint from 'vite-plugin-stylelint'
7
+ import eslint from '@rollup/plugin-eslint'
8
+ import { visualizer } from 'rollup-plugin-visualizer'
9
+ import { includes } from 'lodash-es'
10
+ import { createChunks } from './scripts'
11
+
12
+ // https://vitejs.dev/config/
13
+ export default defineConfig(({ mode }) => {
14
+ const env = loadEnv(mode, process.cwd(), '')
15
+ const proxyBaseUrl = env.VITE_BASE_URL + env.VITE_API_HOST
16
+ const plugins: any[] = [
17
+ vueJsx({
18
+ enableObjectSlots: false
19
+ }),
20
+ stylelint({ cache: false, include: ['**/*.{css,scss,sass,less,styl,vue,svelte}'] }),
21
+ eslint({ include: ['**/*.{ts,tsx,js,jsx,vue}'] }),
22
+ vue(),
23
+ svgLoader(),
24
+ mockDevServer({
25
+ include: ['**/*.mock.{ts,js}']
26
+ })
27
+ ]
28
+
29
+ if (mode === 'analyse') {
30
+ plugins.push(visualizer({ open: true, sourcemap: true, brotliSize: true, gzipSize: true }))
31
+ }
32
+ return {
33
+ base: env.VITE_BASE_URL,
34
+ plugins,
35
+ resolve: {
36
+ alias: {
37
+ '@': __dirname
38
+ }
39
+ },
40
+ esbuild: {
41
+ drop: includes(['production', 'analyse'], mode) ? ['console', 'debugger'] : []
42
+ },
43
+ build: {
44
+ sourcemap: mode === 'analyse',
45
+ reportCompressedSize: mode === 'analyse',
46
+ rollupOptions: {
47
+ output: {
48
+ manualChunks: createChunks({
49
+ vue: ['vue', 'vue-router']
50
+ })
51
+ }
52
+ }
53
+ },
54
+ server: {
55
+ host: '0.0.0.0',
56
+ proxy: {
57
+ [proxyBaseUrl]: {
58
+ target: 'http://127.0.0.1',
59
+ changeOrigin: true,
60
+ rewrite: path => path.replace(proxyBaseUrl, '')
61
+ }
62
+ }
63
+ }
64
+ }
65
+ })
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "root": true,
3
3
  "parser": "@typescript-eslint/parser",
4
- "plugins": [
5
- "prettier"
6
- ],
7
4
  "extends": [
8
5
  "eslint:recommended",
9
6
  "plugin:@typescript-eslint/recommended",
@@ -108,12 +105,6 @@
108
105
  "react-hooks/exhaustive-deps": "off",
109
106
  "react/display-name": "off",
110
107
  "react/react-in-jsx-scope": "off",
111
- "prettier/prettier": [
112
- "error",
113
- {
114
- "endOfLine": "auto"
115
- }
116
- ],
117
108
  "no-constant-condition": "off"
118
109
  }
119
110
  }
@@ -2,7 +2,7 @@
2
2
  "recommendations": [
3
3
  "dbaeumer.vscode-eslint",
4
4
  "stylelint.vscode-stylelint",
5
- "esbenp.prettier-vscode",
5
+ "biomejs.biome",
6
6
  "styled-components.vscode-styled-components"
7
7
  ]
8
- }
8
+ }