Commit 5e8ef2f64f61dd19578d5024491b1602a7e7e480

Authored by vben
1 parent 8e5a6b7c

feat: 添加 defineOptions

internal/eslint-config/package.json
... ... @@ -37,6 +37,8 @@
37 37 "eslint-config-prettier": "^8.8.0",
38 38 "eslint-plugin-import": "^2.27.5",
39 39 "eslint-plugin-prettier": "^4.2.1",
  40 + "eslint-plugin-simple-import-sort": "^10.0.0",
  41 + "eslint-plugin-unused-imports": "^2.0.0",
40 42 "eslint-plugin-vue": "^9.10.0",
41 43 "vue-eslint-parser": "^9.1.1"
42 44 }
... ...
internal/eslint-config/src/index.ts
... ... @@ -17,7 +17,14 @@ export default {
17 17 createDefaultProgram: false,
18 18 extraFileExtensions: ['.vue'],
19 19 },
20   - plugins: ['vue', '@typescript-eslint', 'import'],
  20 + plugins: [
  21 + 'vue',
  22 + '@typescript-eslint',
  23 + 'import',
  24 + // TODO: 改造完成后开启
  25 + // 'unused-imports',
  26 + // 'simple-import-sort',
  27 + ],
21 28 extends: [
22 29 'eslint:recommended',
23 30 'plugin:vue/vue3-recommended',
... ... @@ -30,10 +37,26 @@ export default {
30 37 'no-use-before-define': 'off',
31 38 'space-before-function-paren': 'off',
32 39  
  40 + // TODO: 改造完成后开启
  41 + // 'simple-import-sort/imports': 'error',
  42 + // 'simple-import-sort/exports': 'error',
  43 +
33 44 'import/first': 'error',
34 45 'import/newline-after-import': 'error',
35 46 'import/no-duplicates': 'error',
36 47  
  48 + // 'unused-imports/no-unused-imports': 'error',
  49 + // 'unused-imports/no-unused-vars': [
  50 + // 'warn',
  51 + // { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' },
  52 + // ],
  53 + '@typescript-eslint/no-unused-vars': [
  54 + 'error',
  55 + {
  56 + argsIgnorePattern: '^_',
  57 + varsIgnorePattern: '^_',
  58 + },
  59 + ],
37 60 '@typescript-eslint/ban-ts-ignore': 'off',
38 61 '@typescript-eslint/explicit-function-return-type': 'off',
39 62 '@typescript-eslint/no-explicit-any': 'off',
... ... @@ -44,13 +67,7 @@ export default {
44 67 '@typescript-eslint/ban-types': 'off',
45 68 '@typescript-eslint/no-non-null-assertion': 'off',
46 69 '@typescript-eslint/explicit-module-boundary-types': 'off',
47   - '@typescript-eslint/no-unused-vars': [
48   - 'error',
49   - {
50   - argsIgnorePattern: '^_',
51   - varsIgnorePattern: '^_',
52   - },
53   - ],
  70 + '@typescript-eslint/no-unused-vars': 'off',
54 71 'vue/script-setup-uses-vars': 'error',
55 72 'vue/no-reserved-component-names': 'off',
56 73 'vue/custom-event-name-casing': 'off',
... ... @@ -87,4 +104,5 @@ export default {
87 104 // },
88 105 // ],
89 106 },
  107 + globals: { defineOptions: 'readonly' },
90 108 };
... ...
internal/ts-config/package.json
... ... @@ -19,6 +19,8 @@
19 19 "node-server.json"
20 20 ],
21 21 "dependencies": {
22   - "@types/node": "^18.15.11"
  22 + "@types/node": "^18.15.11",
  23 + "unplugin-vue-define-options": "^1.3.3",
  24 + "vite": "^4.3.0-beta.2"
23 25 }
24 26 }
... ...
internal/ts-config/vue.json renamed to internal/ts-config/vue-app.json
1 1 {
2 2 "$schema": "https://json.schemastore.org/tsconfig",
3   - "display": "Vue Library",
  3 + "display": "Vue Application",
4 4 "extends": "./base.json",
5 5 "compilerOptions": {
6 6 "jsx": "preserve",
7 7 "lib": ["ESNext", "DOM"],
8 8 "noImplicitAny": false
  9 +
9 10 }
10 11 }
... ...
internal/vite-config/package.json
... ... @@ -32,11 +32,13 @@
32 32 },
33 33 "dependencies": {
34 34 "@ant-design/colors": "^7.0.0",
35   - "vite": "^4.3.0-beta.1"
  35 + "vite": "^4.3.0-beta.2"
36 36 },
37 37 "devDependencies": {
38 38 "@types/fs-extra": "^11.0.1",
39   - "ant-design-vue": "^3.2.16",
  39 + "@vitejs/plugin-vue": "^4.1.0",
  40 + "@vitejs/plugin-vue-jsx": "^3.0.1",
  41 + "ant-design-vue": "^3.2.17",
40 42 "dayjs": "^1.11.7",
41 43 "dotenv": "^16.0.3",
42 44 "fs-extra": "^11.1.1",
... ... @@ -46,6 +48,7 @@
46 48 "rollup-plugin-visualizer": "^5.9.0",
47 49 "sass": "^1.60.0",
48 50 "unocss": "^0.50.6",
  51 + "unplugin-vue-define-options": "^1.3.3",
49 52 "vite-plugin-compression": "^0.5.1",
50 53 "vite-plugin-dts": "^2.2.0",
51 54 "vite-plugin-html": "^3.2.0",
... ...
internal/vite-config/src/plugins/index.ts
... ... @@ -8,6 +8,8 @@ import { createAppConfigPlugin } from './appConfig';
8 8 import vue from '@vitejs/plugin-vue';
9 9 import vueJsx from '@vitejs/plugin-vue-jsx';
10 10 import purgeIcons from 'vite-plugin-purge-icons';
  11 +// @ts-ignore
  12 +import DefineOptions from 'unplugin-vue-define-options/vite';
11 13  
12 14 interface Options {
13 15 isBuild: boolean;
... ... @@ -18,7 +20,7 @@ interface Options {
18 20 }
19 21  
20 22 async function createPlugins({ isBuild, root, enableMock, compress, enableAnalyze }: Options) {
21   - const vitePlugins: (PluginOption | PluginOption[])[] = [vue(), vueJsx()];
  23 + const vitePlugins: (PluginOption | PluginOption[])[] = [vue(), vueJsx(), DefineOptions()];
22 24  
23 25 const appConfigPlugin = await createAppConfigPlugin({ root, isBuild });
24 26 vitePlugins.push(appConfigPlugin);
... ...
package.json
... ... @@ -110,7 +110,7 @@
110 110 "devDependencies": {
111 111 "@commitlint/cli": "^17.5.1",
112 112 "@commitlint/config-conventional": "^17.4.4",
113   - "@iconify/json": "^2.2.45",
  113 + "@iconify/json": "^2.2.46",
114 114 "@purge-icons/generated": "^0.9.0",
115 115 "@types/codemirror": "^5.60.7",
116 116 "@types/crypto-js": "^4.1.1",
... ... @@ -126,8 +126,6 @@
126 126 "@vben/stylelint-config": "workspace:*",
127 127 "@vben/ts-config": "workspace:*",
128 128 "@vben/vite-config": "workspace:*",
129   - "@vitejs/plugin-vue": "^4.1.0",
130   - "@vitejs/plugin-vue-jsx": "^3.0.1",
131 129 "@vue/compiler-sfc": "^3.2.47",
132 130 "@vue/test-utils": "^2.3.2",
133 131 "cross-env": "^7.0.3",
... ... @@ -141,7 +139,8 @@
141 139 "turbo": "^1.8.8",
142 140 "typescript": "^5.0.3",
143 141 "unbuild": "^1.2.0",
144   - "vite": "^4.3.0-beta.1",
  142 + "unplugin-vue-define-options": "^1.3.3",
  143 + "vite": "^4.3.0-beta.2",
145 144 "vite-plugin-mock": "^2.9.6",
146 145 "vue-tsc": "^1.2.0"
147 146 },
... ...
packages/hooks/src/index.ts
1   -// life-cycle
2   -export * from './lifecycle/onMountedOrActivated';
  1 +export * from './onMountedOrActivated';
  2 +export * from './useAttrs';
... ...
packages/hooks/src/lifecycle/onMountedOrActivated.ts renamed to packages/hooks/src/onMountedOrActivated.ts
src/hooks/core/useAttrs.ts renamed to packages/hooks/src/useAttrs.ts
1 1 import { getCurrentInstance, reactive, shallowRef, watchEffect } from 'vue';
2   -import type { Ref } from 'vue';
  2 +import { type Recordable } from '@vben/types';
3 3  
4   -interface Params {
  4 +interface Options {
5 5 excludeListeners?: boolean;
6 6 excludeKeys?: string[];
7 7 excludeDefaultKeys?: boolean;
... ... @@ -10,15 +10,15 @@ interface Params {
10 10 const DEFAULT_EXCLUDE_KEYS = ['class', 'style'];
11 11 const LISTENER_PREFIX = /^on[A-Z]/;
12 12  
13   -export function entries<T>(obj: Recordable<T>): [string, T][] {
  13 +function entries<T>(obj: Recordable<T>): [string, T][] {
14 14 return Object.keys(obj).map((key: string) => [key, obj[key]]);
15 15 }
16 16  
17   -export function useAttrs(params: Params = {}): Ref<Recordable> | {} {
  17 +function useAttrs(options: Options = {}): Recordable<any> {
18 18 const instance = getCurrentInstance();
19 19 if (!instance) return {};
20 20  
21   - const { excludeListeners = false, excludeKeys = [], excludeDefaultKeys = true } = params;
  21 + const { excludeListeners = false, excludeKeys = [], excludeDefaultKeys = true } = options;
22 22 const attrs = shallowRef({});
23 23 const allExcludeKeys = excludeKeys.concat(excludeDefaultKeys ? DEFAULT_EXCLUDE_KEYS : []);
24 24  
... ... @@ -32,10 +32,12 @@ export function useAttrs(params: Params = {}): Ref&lt;Recordable&gt; | {} {
32 32 }
33 33  
34 34 return acm;
35   - }, {} as Recordable);
  35 + }, {} as Recordable<any>);
36 36  
37 37 attrs.value = res;
38 38 });
39 39  
40 40 return attrs;
41 41 }
  42 +
  43 +export { useAttrs };
... ...
packages/hooks/tsconfig.json
1 1 {
2 2 "$schema": "https://json.schemastore.org/tsconfig",
3   - "extends": "@vben/ts-config/vue.json",
  3 + "extends": "@vben/ts-config/vue-app.json",
4 4 "include": ["src"]
5 5 }
... ...
packages/types/src/utils.ts
... ... @@ -13,4 +13,34 @@ type AnyPromiseFunction = (...arg: any) =&gt; PromiseLike&lt;any&gt;;
13 13 */
14 14 type AnyNormalFunction = (...arg: any) => any;
15 15  
16   -export { type AnyFunction, type AnyPromiseFunction, type AnyNormalFunction };
  16 +/**
  17 + * T | null 包装
  18 + */
  19 +type Nullable<T> = T | null;
  20 +
  21 +/**
  22 + * T | Not null 包装
  23 + */
  24 +type NonNullable<T> = T extends null | undefined ? never : T;
  25 +
  26 +/**
  27 + * 字符串类型对象
  28 + */
  29 +type Recordable<T> = Record<string, T>;
  30 +
  31 +/**
  32 + * 字符串类型对象(只读)
  33 + */
  34 +type ReadonlyRecordable<T = any> = {
  35 + readonly [key: string]: T;
  36 +};
  37 +
  38 +export {
  39 + type AnyFunction,
  40 + type AnyPromiseFunction,
  41 + type AnyNormalFunction,
  42 + type Nullable,
  43 + type NonNullable,
  44 + type Recordable,
  45 + type ReadonlyRecordable,
  46 +};
... ...
packages/types/tsconfig.json
1 1 {
2 2 "$schema": "https://json.schemastore.org/tsconfig",
3   - "extends": "@vben/ts-config/vue.json",
  3 + "extends": "@vben/ts-config/vue-app.json",
4 4 "include": ["src"]
5 5 }
... ...
pnpm-lock.yaml
... ... @@ -132,8 +132,8 @@ importers:
132 132 specifier: ^17.4.4
133 133 version: 17.4.4
134 134 '@iconify/json':
135   - specifier: ^2.2.45
136   - version: 2.2.45
  135 + specifier: ^2.2.46
  136 + version: 2.2.46
137 137 '@purge-icons/generated':
138 138 specifier: ^0.9.0
139 139 version: 0.9.0
... ... @@ -179,12 +179,6 @@ importers:
179 179 '@vben/vite-config':
180 180 specifier: workspace:*
181 181 version: link:internal/vite-config
182   - '@vitejs/plugin-vue':
183   - specifier: ^4.1.0
184   - version: 4.1.0(vite@4.3.0-beta.1)(vue@3.2.47)
185   - '@vitejs/plugin-vue-jsx':
186   - specifier: ^3.0.1
187   - version: 3.0.1(vite@4.3.0-beta.1)(vue@3.2.47)
188 182 '@vue/compiler-sfc':
189 183 specifier: ^3.2.47
190 184 version: 3.2.47
... ... @@ -224,12 +218,15 @@ importers:
224 218 unbuild:
225 219 specifier: ^1.2.0
226 220 version: 1.2.0
  221 + unplugin-vue-define-options:
  222 + specifier: ^1.3.3
  223 + version: 1.3.3(rollup@2.79.1)(vue@3.2.47)
227 224 vite:
228   - specifier: ^4.3.0-beta.1
229   - version: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  225 + specifier: ^4.3.0-beta.2
  226 + version: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
230 227 vite-plugin-mock:
231 228 specifier: ^2.9.6
232   - version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.1)
  229 + version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.2)
233 230 vue-tsc:
234 231 specifier: ^1.2.0
235 232 version: 1.2.0(typescript@5.0.3)
... ... @@ -318,6 +315,12 @@ importers:
318 315 eslint-plugin-prettier:
319 316 specifier: ^4.2.1
320 317 version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.37.0)(prettier@2.8.7)
  318 + eslint-plugin-simple-import-sort:
  319 + specifier: ^10.0.0
  320 + version: 10.0.0(eslint@8.37.0)
  321 + eslint-plugin-unused-imports:
  322 + specifier: ^2.0.0
  323 + version: 2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.37.0)
321 324 eslint-plugin-vue:
322 325 specifier: ^9.10.0
323 326 version: 9.10.0(eslint@8.37.0)
... ... @@ -375,6 +378,12 @@ importers:
375 378 '@types/node':
376 379 specifier: ^18.15.11
377 380 version: 18.15.11
  381 + unplugin-vue-define-options:
  382 + specifier: ^1.3.3
  383 + version: 1.3.3(rollup@2.79.1)(vue@3.2.47)
  384 + vite:
  385 + specifier: ^4.3.0-beta.2
  386 + version: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
378 387  
379 388 internal/vite-config:
380 389 dependencies:
... ... @@ -382,15 +391,21 @@ importers:
382 391 specifier: ^7.0.0
383 392 version: 7.0.0
384 393 vite:
385   - specifier: ^4.3.0-beta.1
386   - version: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  394 + specifier: ^4.3.0-beta.2
  395 + version: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
387 396 devDependencies:
388 397 '@types/fs-extra':
389 398 specifier: ^11.0.1
390 399 version: 11.0.1
  400 + '@vitejs/plugin-vue':
  401 + specifier: ^4.1.0
  402 + version: 4.1.0(vite@4.3.0-beta.2)(vue@3.2.47)
  403 + '@vitejs/plugin-vue-jsx':
  404 + specifier: ^3.0.1
  405 + version: 3.0.1(vite@4.3.0-beta.2)(vue@3.2.47)
391 406 ant-design-vue:
392   - specifier: ^3.2.16
393   - version: 3.2.16(vue@3.2.47)
  407 + specifier: ^3.2.17
  408 + version: 3.2.17(vue@3.2.47)
394 409 dayjs:
395 410 specifier: ^1.11.7
396 411 version: 1.11.7
... ... @@ -417,25 +432,28 @@ importers:
417 432 version: 1.60.0
418 433 unocss:
419 434 specifier: ^0.50.6
420   - version: 0.50.6(postcss@8.4.21)(rollup@2.79.1)(vite@4.3.0-beta.1)
  435 + version: 0.50.6(postcss@8.4.21)(rollup@2.79.1)(vite@4.3.0-beta.2)
  436 + unplugin-vue-define-options:
  437 + specifier: ^1.3.3
  438 + version: 1.3.3(rollup@2.79.1)(vue@3.2.47)
421 439 vite-plugin-compression:
422 440 specifier: ^0.5.1
423   - version: 0.5.1(vite@4.3.0-beta.1)
  441 + version: 0.5.1(vite@4.3.0-beta.2)
424 442 vite-plugin-dts:
425 443 specifier: ^2.2.0
426   - version: 2.2.0(@types/node@18.15.11)(rollup@2.79.1)(vite@4.3.0-beta.1)
  444 + version: 2.2.0(@types/node@18.15.11)(rollup@2.79.1)(vite@4.3.0-beta.2)
427 445 vite-plugin-html:
428 446 specifier: ^3.2.0
429   - version: 3.2.0(vite@4.3.0-beta.1)
  447 + version: 3.2.0(vite@4.3.0-beta.2)
430 448 vite-plugin-mock:
431 449 specifier: ^2.9.6
432   - version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.1)
  450 + version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.2)
433 451 vite-plugin-purge-icons:
434 452 specifier: ^0.9.2
435   - version: 0.9.2(vite@4.3.0-beta.1)
  453 + version: 0.9.2(vite@4.3.0-beta.2)
436 454 vite-plugin-svg-icons:
437 455 specifier: ^2.0.1
438   - version: 2.0.1(vite@4.3.0-beta.1)
  456 + version: 2.0.1(vite@4.3.0-beta.2)
439 457  
440 458 packages/hooks:
441 459 dependencies:
... ... @@ -1285,8 +1303,8 @@ packages:
1285 1303 dependencies:
1286 1304 '@iconify/types': 2.0.0
1287 1305  
1288   - /@iconify/json@2.2.45:
1289   - resolution: {integrity: sha512-gSCDDAHnjCMN/n3BUStVS30Z375o/I++kQBLJy4n93FoL0Xv+UjQYcRo8+Vfjz0/Zw/bm8UdLIQbbxvblHafeA==}
  1306 + /@iconify/json@2.2.46:
  1307 + resolution: {integrity: sha512-pWXAKAlvIIKHv/pO79GzKZup4CYBFSdN+F0ERv6lEP2977MJaAVazf1qThPfpnMDqX6mFPZFBPWl+aiqfGVxpQ==}
1290 1308 dependencies:
1291 1309 '@iconify/types': 2.0.0
1292 1310 pathe: 1.1.0
... ... @@ -1382,7 +1400,6 @@ packages:
1382 1400  
1383 1401 /@jridgewell/sourcemap-codec@1.4.14:
1384 1402 resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
1385   - dev: true
1386 1403  
1387 1404 /@jridgewell/trace-mapping@0.3.17:
1388 1405 resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
... ... @@ -1731,7 +1748,6 @@ packages:
1731 1748 estree-walker: 2.0.2
1732 1749 picomatch: 2.3.1
1733 1750 rollup: 2.79.1
1734   - dev: true
1735 1751  
1736 1752 /@rollup/pluginutils@5.0.2(rollup@3.20.2):
1737 1753 resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
... ... @@ -1877,7 +1893,6 @@ packages:
1877 1893  
1878 1894 /@types/estree@1.0.0:
1879 1895 resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
1880   - dev: true
1881 1896  
1882 1897 /@types/express-serve-static-core@4.17.33:
1883 1898 resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==}
... ... @@ -2189,12 +2204,12 @@ packages:
2189 2204 eslint-visitor-keys: 3.4.0
2190 2205 dev: true
2191 2206  
2192   - /@unocss/astro@0.50.6(rollup@2.79.1)(vite@4.3.0-beta.1):
  2207 + /@unocss/astro@0.50.6(rollup@2.79.1)(vite@4.3.0-beta.2):
2193 2208 resolution: {integrity: sha512-gSGQIh+hBCor7KbAylu4wBQaMZp3AkT8dW9E6jrecpluVxzGGdar93a79Wqs76OlWiu7hr8zOyRbSDgfkwDung==}
2194 2209 dependencies:
2195 2210 '@unocss/core': 0.50.6
2196 2211 '@unocss/reset': 0.50.6
2197   - '@unocss/vite': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.1)
  2212 + '@unocss/vite': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.2)
2198 2213 transitivePeerDependencies:
2199 2214 - rollup
2200 2215 - vite
... ... @@ -2345,7 +2360,7 @@ packages:
2345 2360 '@unocss/core': 0.50.6
2346 2361 dev: true
2347 2362  
2348   - /@unocss/vite@0.50.6(rollup@2.79.1)(vite@4.3.0-beta.1):
  2363 + /@unocss/vite@0.50.6(rollup@2.79.1)(vite@4.3.0-beta.2):
2349 2364 resolution: {integrity: sha512-BBfNHWRTD69ToNX4NlYdORFG6uH51HCjX+vZ8HAVgYHpSeVWziG3srnGYOk5IS0pKPzQGoLBlz8rstMsGhrAjA==}
2350 2365 peerDependencies:
2351 2366 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0
... ... @@ -2360,12 +2375,12 @@ packages:
2360 2375 chokidar: 3.5.3
2361 2376 fast-glob: 3.2.12
2362 2377 magic-string: 0.30.0
2363   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  2378 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
2364 2379 transitivePeerDependencies:
2365 2380 - rollup
2366 2381 dev: true
2367 2382  
2368   - /@vitejs/plugin-vue-jsx@3.0.1(vite@4.3.0-beta.1)(vue@3.2.47):
  2383 + /@vitejs/plugin-vue-jsx@3.0.1(vite@4.3.0-beta.2)(vue@3.2.47):
2369 2384 resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==}
2370 2385 engines: {node: ^14.18.0 || >=16.0.0}
2371 2386 peerDependencies:
... ... @@ -2375,20 +2390,20 @@ packages:
2375 2390 '@babel/core': 7.21.4
2376 2391 '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4)
2377 2392 '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.4)
2378   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  2393 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
2379 2394 vue: 3.2.47
2380 2395 transitivePeerDependencies:
2381 2396 - supports-color
2382 2397 dev: true
2383 2398  
2384   - /@vitejs/plugin-vue@4.1.0(vite@4.3.0-beta.1)(vue@3.2.47):
  2399 + /@vitejs/plugin-vue@4.1.0(vite@4.3.0-beta.2)(vue@3.2.47):
2385 2400 resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==}
2386 2401 engines: {node: ^14.18.0 || >=16.0.0}
2387 2402 peerDependencies:
2388 2403 vite: ^4.0.0
2389 2404 vue: ^3.2.25
2390 2405 dependencies:
2391   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  2406 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
2392 2407 vue: 3.2.47
2393 2408 dev: true
2394 2409  
... ... @@ -2431,6 +2446,24 @@ packages:
2431 2446 '@volar/vue-language-core': 1.2.0
2432 2447 dev: true
2433 2448  
  2449 + /@vue-macros/common@1.2.0(rollup@2.79.1)(vue@3.2.47):
  2450 + resolution: {integrity: sha512-lQglnRn+8wkdAhmGQbrI0mo4SzRuY5KBjst0qi8LBDYllFKtI2brapbewUME1AXnXbVett0SRDnB2EdZXyzCmw==}
  2451 + engines: {node: '>=14.19.0'}
  2452 + peerDependencies:
  2453 + vue: ^2.7.0 || ^3.2.25
  2454 + peerDependenciesMeta:
  2455 + vue:
  2456 + optional: true
  2457 + dependencies:
  2458 + '@babel/types': 7.21.4
  2459 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1)
  2460 + '@vue/compiler-sfc': 3.3.0-alpha.8
  2461 + local-pkg: 0.4.3
  2462 + magic-string-ast: 0.1.2
  2463 + vue: 3.2.47
  2464 + transitivePeerDependencies:
  2465 + - rollup
  2466 +
2434 2467 /@vue/babel-helper-vue-transform-on@1.0.2:
2435 2468 resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
2436 2469 dev: true
... ... @@ -2460,12 +2493,26 @@ packages:
2460 2493 estree-walker: 2.0.2
2461 2494 source-map: 0.6.1
2462 2495  
  2496 + /@vue/compiler-core@3.3.0-alpha.8:
  2497 + resolution: {integrity: sha512-PXzKxwGdAu6iN62fwmbzbFXLJNTt6E0vYc2CXKf3qAzRIY1ECcocyx6GjDACVcl7/ClJhQ43YKSSoaGuZ8i5UQ==}
  2498 + dependencies:
  2499 + '@babel/parser': 7.21.4
  2500 + '@vue/shared': 3.3.0-alpha.8
  2501 + estree-walker: 2.0.2
  2502 + source-map: 0.6.1
  2503 +
2463 2504 /@vue/compiler-dom@3.2.47:
2464 2505 resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
2465 2506 dependencies:
2466 2507 '@vue/compiler-core': 3.2.47
2467 2508 '@vue/shared': 3.2.47
2468 2509  
  2510 + /@vue/compiler-dom@3.3.0-alpha.8:
  2511 + resolution: {integrity: sha512-88nWCX6aD9ud6RN1zHq5RyOfSWDLqg49TrnbA6U5Qc9KwBtf1KO1vARdqi1xM4/Ep1oWFod5UVYsHLFED30daQ==}
  2512 + dependencies:
  2513 + '@vue/compiler-core': 3.3.0-alpha.8
  2514 + '@vue/shared': 3.3.0-alpha.8
  2515 +
2469 2516 /@vue/compiler-sfc@3.2.47:
2470 2517 resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
2471 2518 dependencies:
... ... @@ -2480,12 +2527,32 @@ packages:
2480 2527 postcss: 8.4.21
2481 2528 source-map: 0.6.1
2482 2529  
  2530 + /@vue/compiler-sfc@3.3.0-alpha.8:
  2531 + resolution: {integrity: sha512-Hru3kTyT2vVWtYmeSHYX1T6RaQbzwJa6rIq7LiucmG5/myWbngutZ5JWLWNgt7aV6YOzu6Z6yXjXLJ05c4y6cQ==}
  2532 + dependencies:
  2533 + '@babel/parser': 7.21.4
  2534 + '@vue/compiler-core': 3.3.0-alpha.8
  2535 + '@vue/compiler-dom': 3.3.0-alpha.8
  2536 + '@vue/compiler-ssr': 3.3.0-alpha.8
  2537 + '@vue/reactivity-transform': 3.3.0-alpha.8
  2538 + '@vue/shared': 3.3.0-alpha.8
  2539 + estree-walker: 2.0.2
  2540 + magic-string: 0.30.0
  2541 + postcss: 8.4.21
  2542 + source-map: 0.6.1
  2543 +
2483 2544 /@vue/compiler-ssr@3.2.47:
2484 2545 resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
2485 2546 dependencies:
2486 2547 '@vue/compiler-dom': 3.2.47
2487 2548 '@vue/shared': 3.2.47
2488 2549  
  2550 + /@vue/compiler-ssr@3.3.0-alpha.8:
  2551 + resolution: {integrity: sha512-cshqRLjfm9IxS7MFoYLXP1srr80Ozxdw04PlgDo/RmKEzHO15vGqPy4eSVeSerZ9/Io6qBiqBP8uKdxy66gyRA==}
  2552 + dependencies:
  2553 + '@vue/compiler-dom': 3.3.0-alpha.8
  2554 + '@vue/shared': 3.3.0-alpha.8
  2555 +
2489 2556 /@vue/devtools-api@6.5.0:
2490 2557 resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
2491 2558 dev: false
... ... @@ -2499,6 +2566,15 @@ packages:
2499 2566 estree-walker: 2.0.2
2500 2567 magic-string: 0.25.9
2501 2568  
  2569 + /@vue/reactivity-transform@3.3.0-alpha.8:
  2570 + resolution: {integrity: sha512-miMpRSF6rkgS5X4mkTWy3f0y/rvnQjxOBQAtUmyQ6aotDrv9P2sHhH3zBkiMtrsQ1E99O9KxsRPJLTp+d7h0FQ==}
  2571 + dependencies:
  2572 + '@babel/parser': 7.21.4
  2573 + '@vue/compiler-core': 3.3.0-alpha.8
  2574 + '@vue/shared': 3.3.0-alpha.8
  2575 + estree-walker: 2.0.2
  2576 + magic-string: 0.30.0
  2577 +
2502 2578 /@vue/reactivity@3.2.47:
2503 2579 resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
2504 2580 dependencies:
... ... @@ -2529,6 +2605,9 @@ packages:
2529 2605 /@vue/shared@3.2.47:
2530 2606 resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
2531 2607  
  2608 + /@vue/shared@3.3.0-alpha.8:
  2609 + resolution: {integrity: sha512-NIASpbxrk3QjO/Lu75ueIji2GJ+3W8nJKgL9FmfIa85TNm+N+wbp3+n9AwibWcgZ9MnlwpGy3Iu6efH69jg+Ig==}
  2610 +
2532 2611 /@vue/test-utils@2.3.2(vue@3.2.47):
2533 2612 resolution: {integrity: sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==}
2534 2613 peerDependencies:
... ... @@ -2609,7 +2688,6 @@ packages:
2609 2688 resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
2610 2689 engines: {node: '>=0.4.0'}
2611 2690 hasBin: true
2612   - dev: true
2613 2691  
2614 2692 /adler-32@1.3.1:
2615 2693 resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==}
... ... @@ -2710,32 +2788,6 @@ packages:
2710 2788 engines: {node: '>=12'}
2711 2789 dev: true
2712 2790  
2713   - /ant-design-vue@3.2.16(vue@3.2.47):
2714   - resolution: {integrity: sha512-kBGxk4csoEi2iaWO62DpNECTnBLIf/CNYW8RdNjLPWo6TBWLQNqLchxRcg8KatOkDRpdWRaqdqeD5P+F6MDC3Q==}
2715   - engines: {node: '>=12.22.0'}
2716   - peerDependencies:
2717   - vue: '>=3.2.0'
2718   - dependencies:
2719   - '@ant-design/colors': 6.0.0
2720   - '@ant-design/icons-vue': 6.1.0(vue@3.2.47)
2721   - '@babel/runtime': 7.21.0
2722   - '@ctrl/tinycolor': 3.6.0
2723   - '@simonwep/pickr': 1.8.2
2724   - array-tree-filter: 2.1.0
2725   - async-validator: 4.2.5
2726   - dayjs: 1.11.7
2727   - dom-align: 1.12.4
2728   - dom-scroll-into-view: 2.0.1
2729   - lodash: 4.17.21
2730   - lodash-es: 4.17.21
2731   - resize-observer-polyfill: 1.5.1
2732   - scroll-into-view-if-needed: 2.2.31
2733   - shallow-equal: 1.2.1
2734   - vue: 3.2.47
2735   - vue-types: 3.0.2(vue@3.2.47)
2736   - warning: 4.0.3
2737   - dev: true
2738   -
2739 2791 /ant-design-vue@3.2.17(vue@3.2.47):
2740 2792 resolution: {integrity: sha512-fUHC1PRF3/UTDu7WjaKq2awyqET2mGfEytNOjfbUrvq5Q4AzNghzJlCWh1saCuA+VjnRRBCYu34StZ44cDmbFg==}
2741 2793 engines: {node: '>=12.22.0'}
... ... @@ -2760,7 +2812,6 @@ packages:
2760 2812 vue: 3.2.47
2761 2813 vue-types: 3.0.2(vue@3.2.47)
2762 2814 warning: 4.0.3
2763   - dev: false
2764 2815  
2765 2816 /any-promise@1.3.0:
2766 2817 resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
... ... @@ -2907,6 +2958,13 @@ packages:
2907 2958 tslib: 2.5.0
2908 2959 dev: true
2909 2960  
  2961 + /ast-walker-scope@0.4.1:
  2962 + resolution: {integrity: sha512-Ro3nmapMxi/remlJdzFH0tiA7A59KDbxVoLlKWaLDrPELiftb9b8w+CCyWRM+sXZH5KHRAgv8feedW6mihvCHA==}
  2963 + engines: {node: '>=14.19.0'}
  2964 + dependencies:
  2965 + '@babel/parser': 7.21.4
  2966 + '@babel/types': 7.21.4
  2967 +
2910 2968 /astral-regex@2.0.0:
2911 2969 resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
2912 2970 engines: {node: '>=8'}
... ... @@ -4414,6 +4472,29 @@ packages:
4414 4472 prettier-linter-helpers: 1.0.0
4415 4473 dev: true
4416 4474  
  4475 + /eslint-plugin-simple-import-sort@10.0.0(eslint@8.37.0):
  4476 + resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==}
  4477 + peerDependencies:
  4478 + eslint: '>=5.0.0'
  4479 + dependencies:
  4480 + eslint: 8.37.0
  4481 + dev: true
  4482 +
  4483 + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.37.0):
  4484 + resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
  4485 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
  4486 + peerDependencies:
  4487 + '@typescript-eslint/eslint-plugin': ^5.0.0
  4488 + eslint: ^8.0.0
  4489 + peerDependenciesMeta:
  4490 + '@typescript-eslint/eslint-plugin':
  4491 + optional: true
  4492 + dependencies:
  4493 + '@typescript-eslint/eslint-plugin': 5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.37.0)(typescript@5.0.3)
  4494 + eslint: 8.37.0
  4495 + eslint-rule-composer: 0.3.0
  4496 + dev: true
  4497 +
4417 4498 /eslint-plugin-vue@9.10.0(eslint@8.37.0):
4418 4499 resolution: {integrity: sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g==}
4419 4500 engines: {node: ^14.17.0 || >=16.0.0}
... ... @@ -4432,6 +4513,11 @@ packages:
4432 4513 - supports-color
4433 4514 dev: true
4434 4515  
  4516 + /eslint-rule-composer@0.3.0:
  4517 + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
  4518 + engines: {node: '>=4.0.0'}
  4519 + dev: true
  4520 +
4435 4521 /eslint-scope@5.1.1:
4436 4522 resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
4437 4523 engines: {node: '>=8.0.0'}
... ... @@ -6238,7 +6324,6 @@ packages:
6238 6324 /local-pkg@0.4.3:
6239 6325 resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
6240 6326 engines: {node: '>=14'}
6241   - dev: true
6242 6327  
6243 6328 /locate-path@5.0.0:
6244 6329 resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
... ... @@ -6399,6 +6484,12 @@ packages:
6399 6484 engines: {node: '>=12'}
6400 6485 dev: true
6401 6486  
  6487 + /magic-string-ast@0.1.2:
  6488 + resolution: {integrity: sha512-P53AZrzq7hclCU6HWj88xNZHmP15DKjMmK/vBytO1qnpYP3ul4IEZlyCE0aU3JRnmgWmZPmoTKj4Bls7v0pMyA==}
  6489 + engines: {node: '>=14.19.0'}
  6490 + dependencies:
  6491 + magic-string: 0.30.0
  6492 +
6402 6493 /magic-string@0.25.9:
6403 6494 resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
6404 6495 dependencies:
... ... @@ -6423,7 +6514,6 @@ packages:
6423 6514 engines: {node: '>=12'}
6424 6515 dependencies:
6425 6516 '@jridgewell/sourcemap-codec': 1.4.14
6426   - dev: true
6427 6517  
6428 6518 /make-dir@2.1.0:
6429 6519 resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
... ... @@ -7968,7 +8058,6 @@ packages:
7968 8058 hasBin: true
7969 8059 optionalDependencies:
7970 8060 fsevents: 2.3.2
7971   - dev: true
7972 8061  
7973 8062 /rollup@3.20.2:
7974 8063 resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
... ... @@ -9307,7 +9396,7 @@ packages:
9307 9396 resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
9308 9397 engines: {node: '>= 10.0.0'}
9309 9398  
9310   - /unocss@0.50.6(postcss@8.4.21)(rollup@2.79.1)(vite@4.3.0-beta.1):
  9399 + /unocss@0.50.6(postcss@8.4.21)(rollup@2.79.1)(vite@4.3.0-beta.2):
9311 9400 resolution: {integrity: sha512-7cKiIB/ssAPvCDUcFMs0jm0FzIyQKfgIjUzBYZ5dVFthOvN5dcFh7bCZE9dIM862n7oW8FjbkTxwdTbRqqJQVQ==}
9312 9401 engines: {node: '>=14'}
9313 9402 peerDependencies:
... ... @@ -9316,7 +9405,7 @@ packages:
9316 9405 '@unocss/webpack':
9317 9406 optional: true
9318 9407 dependencies:
9319   - '@unocss/astro': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.1)
  9408 + '@unocss/astro': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.2)
9320 9409 '@unocss/cli': 0.50.6(rollup@2.79.1)
9321 9410 '@unocss/core': 0.50.6
9322 9411 '@unocss/postcss': 0.50.6(postcss@8.4.21)
... ... @@ -9333,7 +9422,7 @@ packages:
9333 9422 '@unocss/transformer-compile-class': 0.50.6
9334 9423 '@unocss/transformer-directives': 0.50.6
9335 9424 '@unocss/transformer-variant-group': 0.50.6
9336   - '@unocss/vite': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.1)
  9425 + '@unocss/vite': 0.50.6(rollup@2.79.1)(vite@4.3.0-beta.2)
9337 9426 transitivePeerDependencies:
9338 9427 - postcss
9339 9428 - rollup
... ... @@ -9345,6 +9434,25 @@ packages:
9345 9434 resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
9346 9435 engines: {node: '>= 0.8'}
9347 9436  
  9437 + /unplugin-vue-define-options@1.3.3(rollup@2.79.1)(vue@3.2.47):
  9438 + resolution: {integrity: sha512-gSBR84QJZUYhiLlQzJ8dQ9BCUAnnfWf+sTqhxXpzoL/nWH3sQqlGWznQtUPKTqQZdupQr1DCIVvLYMQD1/4X6g==}
  9439 + engines: {node: '>=14.19.0'}
  9440 + dependencies:
  9441 + '@vue-macros/common': 1.2.0(rollup@2.79.1)(vue@3.2.47)
  9442 + ast-walker-scope: 0.4.1
  9443 + unplugin: 1.3.1
  9444 + transitivePeerDependencies:
  9445 + - rollup
  9446 + - vue
  9447 +
  9448 + /unplugin@1.3.1:
  9449 + resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==}
  9450 + dependencies:
  9451 + acorn: 8.8.2
  9452 + chokidar: 3.5.3
  9453 + webpack-sources: 3.2.3
  9454 + webpack-virtual-modules: 0.5.0
  9455 +
9348 9456 /unset-value@1.0.0:
9349 9457 resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
9350 9458 engines: {node: '>=0.10.0'}
... ... @@ -9459,7 +9567,7 @@ packages:
9459 9567 diff-match-patch: 1.0.5
9460 9568 dev: false
9461 9569  
9462   - /vite-plugin-compression@0.5.1(vite@4.3.0-beta.1):
  9570 + /vite-plugin-compression@0.5.1(vite@4.3.0-beta.2):
9463 9571 resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
9464 9572 peerDependencies:
9465 9573 vite: '>=2.0.0'
... ... @@ -9467,12 +9575,12 @@ packages:
9467 9575 chalk: 4.1.2
9468 9576 debug: 4.3.4
9469 9577 fs-extra: 10.1.0
9470   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9578 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9471 9579 transitivePeerDependencies:
9472 9580 - supports-color
9473 9581 dev: true
9474 9582  
9475   - /vite-plugin-dts@2.2.0(@types/node@18.15.11)(rollup@2.79.1)(vite@4.3.0-beta.1):
  9583 + /vite-plugin-dts@2.2.0(@types/node@18.15.11)(rollup@2.79.1)(vite@4.3.0-beta.2):
9476 9584 resolution: {integrity: sha512-XmZtv02I7eGWm3DrZbLo1AdJK5gCisk9GqJBpY4N63pDYR6AVUnlyjFP5FCBvSBUfgE0Ppl90bKgtJU9k3AzFw==}
9477 9585 engines: {node: ^14.18.0 || >=16.0.0}
9478 9586 peerDependencies:
... ... @@ -9488,14 +9596,14 @@ packages:
9488 9596 kolorist: 1.7.0
9489 9597 magic-string: 0.29.0
9490 9598 ts-morph: 17.0.1
9491   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9599 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9492 9600 transitivePeerDependencies:
9493 9601 - '@types/node'
9494 9602 - rollup
9495 9603 - supports-color
9496 9604 dev: true
9497 9605  
9498   - /vite-plugin-html@3.2.0(vite@4.3.0-beta.1):
  9606 + /vite-plugin-html@3.2.0(vite@4.3.0-beta.2):
9499 9607 resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==}
9500 9608 peerDependencies:
9501 9609 vite: '>=2.0.0'
... ... @@ -9512,10 +9620,10 @@ packages:
9512 9620 html-minifier-terser: 6.1.0
9513 9621 node-html-parser: 5.4.2
9514 9622 pathe: 0.2.0
9515   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9623 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9516 9624 dev: true
9517 9625  
9518   - /vite-plugin-mock@2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.1):
  9626 + /vite-plugin-mock@2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.3.0-beta.2):
9519 9627 resolution: {integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==}
9520 9628 engines: {node: '>=12.0.0'}
9521 9629 peerDependencies:
... ... @@ -9532,13 +9640,13 @@ packages:
9532 9640 fast-glob: 3.2.12
9533 9641 mockjs: 1.1.0
9534 9642 path-to-regexp: 6.2.1
9535   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9643 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9536 9644 transitivePeerDependencies:
9537 9645 - rollup
9538 9646 - supports-color
9539 9647 dev: true
9540 9648  
9541   - /vite-plugin-purge-icons@0.9.2(vite@4.3.0-beta.1):
  9649 + /vite-plugin-purge-icons@0.9.2(vite@4.3.0-beta.2):
9542 9650 resolution: {integrity: sha512-vxJEMyNyckqLr/4HPsW9P6BMLUvOVMvjjFz3jLl4Wke1KWE8ITJUxIUwodxaOmEp9L2lxVk5an3TYeycZCfqFw==}
9543 9651 engines: {node: '>= 12'}
9544 9652 peerDependencies:
... ... @@ -9547,13 +9655,13 @@ packages:
9547 9655 '@purge-icons/core': 0.9.1
9548 9656 '@purge-icons/generated': 0.9.0
9549 9657 rollup-plugin-purge-icons: 0.9.1
9550   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9658 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9551 9659 transitivePeerDependencies:
9552 9660 - encoding
9553 9661 - supports-color
9554 9662 dev: true
9555 9663  
9556   - /vite-plugin-svg-icons@2.0.1(vite@4.3.0-beta.1):
  9664 + /vite-plugin-svg-icons@2.0.1(vite@4.3.0-beta.2):
9557 9665 resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
9558 9666 peerDependencies:
9559 9667 vite: '>=2.0.0'
... ... @@ -9566,13 +9674,13 @@ packages:
9566 9674 pathe: 0.2.0
9567 9675 svg-baker: 1.7.0
9568 9676 svgo: 2.8.0
9569   - vite: 4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
  9677 + vite: 4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0)
9570 9678 transitivePeerDependencies:
9571 9679 - supports-color
9572 9680 dev: true
9573 9681  
9574   - /vite@4.3.0-beta.1(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0):
9575   - resolution: {integrity: sha512-D4j9bail/S/OopyozlmQv7zPxf0xwe0zgZTkOAT61yD0lCUF29GgarhU6Z2hPEXelQyKGYyPFwUmuUX4tze9sA==}
  9682 + /vite@4.3.0-beta.2(@types/node@18.15.11)(less@4.1.3)(sass@1.60.0):
  9683 + resolution: {integrity: sha512-RRghM7RiRnwknCG3hS+NE8C+N3CNX4yKfVhFxO3NqrtYErN6htac//De9IwIHWqgV8DdKoNPeK8Yb/FOlZvjoQ==}
9576 9684 engines: {node: ^14.18.0 || >=16.0.0}
9577 9685 hasBin: true
9578 9686 peerDependencies:
... ... @@ -9778,6 +9886,13 @@ packages:
9778 9886 resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
9779 9887 dev: true
9780 9888  
  9889 + /webpack-sources@3.2.3:
  9890 + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
  9891 + engines: {node: '>=10.13.0'}
  9892 +
  9893 + /webpack-virtual-modules@0.5.0:
  9894 + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
  9895 +
9781 9896 /whatwg-url@5.0.0:
9782 9897 resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
9783 9898 dependencies:
... ...
src/App.vue
... ... @@ -8,11 +8,11 @@
8 8  
9 9 <script lang="ts" setup>
10 10 import { ConfigProvider } from 'ant-design-vue';
11   - import { AppProvider } from '/@/components/Application';
12   - import { useTitle } from '/@/hooks/web/useTitle';
13   - import { useLocale } from '/@/locales/useLocale';
14   -
  11 + import { AppProvider } from '@/components/Application';
  12 + import { useTitle } from '@/hooks/web/useTitle';
  13 + import { useLocale } from '@/locales/useLocale';
15 14 import 'dayjs/locale/zh-cn';
  15 +
16 16 // support Multi-language
17 17 const { getAntdLocale } = useLocale();
18 18  
... ...
src/components/Button/src/BasicButton.vue
... ... @@ -8,20 +8,18 @@
8 8 </Button>
9 9 </template>
10 10  
11   -<script lang="ts">
12   - import { defineComponent } from 'vue';
  11 +<script lang="ts" setup>
13 12 import { Button } from 'ant-design-vue';
14   - export default defineComponent({
  13 + import { computed, unref } from 'vue';
  14 + import Icon from '/@/components/Icon/src/Icon.vue';
  15 + import { buttonProps } from './props';
  16 + import { useAttrs } from '@vben/hooks';
  17 +
  18 + defineOptions({
15 19 name: 'AButton',
16 20 extends: Button,
17 21 inheritAttrs: false,
18 22 });
19   -</script>
20   -<script lang="ts" setup>
21   - import { computed, unref } from 'vue';
22   - import Icon from '/@/components/Icon/src/Icon.vue';
23   - import { buttonProps } from './props';
24   - import { useAttrs } from '/@/hooks/core/useAttrs';
25 23  
26 24 const props = defineProps(buttonProps);
27 25 // get component class
... ...
src/components/Button/src/PopConfirmButton.vue
... ... @@ -4,7 +4,7 @@
4 4 import { Popconfirm } from 'ant-design-vue';
5 5 import { extendSlots } from '/@/utils/helper/tsxHelper';
6 6 import { omit } from 'lodash-es';
7   - import { useAttrs } from '/@/hooks/core/useAttrs';
  7 + import { useAttrs } from '@vben/hooks';
8 8 import { useI18n } from '/@/hooks/web/useI18n';
9 9  
10 10 const props = {
... ... @@ -39,7 +39,7 @@
39 39  
40 40 return () => {
41 41 const bindValues = omit(unref(getBindValues), 'icon');
42   - const btnBind = omit(bindValues, 'title') as Recordable;
  42 + const btnBind = omit(bindValues, 'title') as any;
43 43 if (btnBind.disabled) btnBind.color = '';
44 44 const Button = h(BasicButton, btnBind, extendSlots(slots));
45 45  
... ...
src/components/Description/src/Description.vue
1 1 <script lang="tsx">
2 2 import type { DescriptionProps, DescInstance, DescItem } from './typing';
3 3 import type { DescriptionsProps } from 'ant-design-vue/es/descriptions/index';
4   - import type { CSSProperties } from 'vue';
5 4 import type { CollapseContainerOptions } from '/@/components/Container/index';
6   - import { defineComponent, computed, ref, unref, toRefs } from 'vue';
  5 + import {
  6 + type CSSProperties,
  7 + type PropType,
  8 + defineComponent,
  9 + computed,
  10 + ref,
  11 + unref,
  12 + toRefs,
  13 + } from 'vue';
7 14 import { get } from 'lodash-es';
8 15 import { Descriptions } from 'ant-design-vue';
9 16 import { CollapseContainer } from '/@/components/Container/index';
10 17 import { useDesign } from '/@/hooks/web/useDesign';
11 18 import { isFunction } from '/@/utils/is';
12 19 import { getSlot } from '/@/utils/helper/tsxHelper';
13   - import { useAttrs } from '/@/hooks/core/useAttrs';
  20 + import { useAttrs } from '@vben/hooks';
14 21  
15 22 const props = {
16 23 useCollapse: { type: Boolean, default: true },
... ... @@ -22,7 +29,7 @@
22 29 },
23 30 bordered: { type: Boolean, default: true },
24 31 column: {
25   - type: [Number, Object] as PropType<number | Recordable>,
  32 + type: [Number, Object],
26 33 default: () => {
27 34 return { xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 };
28 35 },
... ... @@ -52,7 +59,7 @@
52 59 const getMergeProps = computed(() => {
53 60 return {
54 61 ...props,
55   - ...(unref(propsRef) as Recordable),
  62 + ...(unref(propsRef) as any),
56 63 } as DescriptionProps;
57 64 });
58 65  
... ... @@ -89,7 +96,10 @@
89 96 */
90 97 function setDescProps(descProps: Partial<DescriptionProps>): void {
91 98 // Keep the last setDrawerProps
92   - propsRef.value = { ...(unref(propsRef) as Recordable), ...descProps } as Recordable;
  99 + propsRef.value = {
  100 + ...(unref(propsRef) as Record<string, any>),
  101 + ...descProps,
  102 + } as Record<string, any>;
93 103 }
94 104  
95 105 // Prevent line breaks
... ... @@ -121,6 +131,7 @@
121 131 return null;
122 132 }
123 133 const getField = get(_data, field);
  134 + // eslint-disable-next-line
124 135 if (getField && !toRefs(_data).hasOwnProperty(field)) {
125 136 return isFunction(render) ? render('', _data) : '';
126 137 }
... ...
src/components/Drawer/src/BasicDrawer.vue
... ... @@ -52,7 +52,7 @@
52 52 import { ScrollContainer } from '/@/components/Container';
53 53 import { basicProps } from './props';
54 54 import { useDesign } from '/@/hooks/web/useDesign';
55   - import { useAttrs } from '/@/hooks/core/useAttrs';
  55 + import { useAttrs } from '@vben/hooks';
56 56  
57 57 export default defineComponent({
58 58 components: { Drawer, ScrollContainer, DrawerFooter, DrawerHeader },
... ... @@ -68,7 +68,7 @@
68 68 const { prefixVar, prefixCls } = useDesign('basic-drawer');
69 69  
70 70 const drawerInstance: DrawerInstance = {
71   - setDrawerProps: setDrawerProps,
  71 + setDrawerProps: setDrawerProps as any,
72 72 emitVisible: undefined,
73 73 };
74 74  
... ...
src/components/Form/src/components/ApiRadioGroup.vue
... ... @@ -19,14 +19,15 @@
19 19 </RadioGroup>
20 20 </template>
21 21 <script lang="ts">
22   - import { defineComponent, PropType, ref, watchEffect, computed, unref, watch } from 'vue';
  22 + import { defineComponent, type PropType, ref, watchEffect, computed, unref, watch } from 'vue';
23 23 import { Radio } from 'ant-design-vue';
24 24 import { isFunction } from '/@/utils/is';
25 25 import { useRuleFormItem } from '/@/hooks/component/useFormItem';
26   - import { useAttrs } from '/@/hooks/core/useAttrs';
  26 + import { useAttrs } from '@vben/hooks';
27 27 import { propTypes } from '/@/utils/propTypes';
28 28 import { get, omit } from 'lodash-es';
29 29 import { useI18n } from '/@/hooks/web/useI18n';
  30 +
30 31 type OptionsItem = { label: string; value: string | number | boolean; disabled?: boolean };
31 32  
32 33 export default defineComponent({
... ... @@ -38,11 +39,11 @@
38 39 },
39 40 props: {
40 41 api: {
41   - type: Function as PropType<(arg?: Recordable | string) => Promise<OptionsItem[]>>,
  42 + type: Function as PropType<(arg?: any | string) => Promise<OptionsItem[]>>,
42 43 default: null,
43 44 },
44 45 params: {
45   - type: [Object, String] as PropType<Recordable | string>,
  46 + type: [Object, String] as PropType<any | string>,
46 47 default: () => ({}),
47 48 },
48 49 value: {
... ... @@ -73,7 +74,7 @@
73 74 const getOptions = computed(() => {
74 75 const { labelField, valueField, numberToString } = props;
75 76  
76   - return unref(options).reduce((prev, next: Recordable) => {
  77 + return unref(options).reduce((prev, next: any) => {
77 78 if (next) {
78 79 const value = next[valueField];
79 80 prev.push({
... ...
src/components/Form/src/components/ApiSelect.vue
... ... @@ -25,7 +25,7 @@
25 25 import { Select } from 'ant-design-vue';
26 26 import { isFunction } from '/@/utils/is';
27 27 import { useRuleFormItem } from '/@/hooks/component/useFormItem';
28   - import { useAttrs } from '/@/hooks/core/useAttrs';
  28 + import { useAttrs } from '@vben/hooks';
29 29 import { get, omit } from 'lodash-es';
30 30 import { LoadingOutlined } from '@ant-design/icons-vue';
31 31 import { useI18n } from '/@/hooks/web/useI18n';
... ... @@ -44,7 +44,7 @@
44 44 value: [Array, Object, String, Number],
45 45 numberToString: propTypes.bool,
46 46 api: {
47   - type: Function as PropType<(arg?: Recordable) => Promise<OptionsItem[]>>,
  47 + type: Function as PropType<(arg?: any) => Promise<OptionsItem[]>>,
48 48 default: null,
49 49 },
50 50 // api params
... ... @@ -71,7 +71,7 @@
71 71 const getOptions = computed(() => {
72 72 const { labelField, valueField, numberToString } = props;
73 73  
74   - return unref(options).reduce((prev, next: Recordable) => {
  74 + return unref(options).reduce((prev, next: any) => {
75 75 if (next) {
76 76 const value = get(next, valueField);
77 77 prev.push({
... ...
src/components/Form/src/components/RadioButtonGroup.vue
... ... @@ -15,7 +15,7 @@
15 15 import { Radio } from 'ant-design-vue';
16 16 import { isString } from '/@/utils/is';
17 17 import { useRuleFormItem } from '/@/hooks/component/useFormItem';
18   - import { useAttrs } from '/@/hooks/core/useAttrs';
  18 + import { useAttrs } from '@vben/hooks';
19 19  
20 20 type OptionsItem = { label: string; value: string | number | boolean; disabled?: boolean };
21 21 type RadioItem = string | OptionsItem;
... ...
src/components/Modal/src/components/Modal.tsx
... ... @@ -2,13 +2,13 @@ import { Modal } from &#39;ant-design-vue&#39;;
2 2 import { defineComponent, toRefs, unref } from 'vue';
3 3 import { basicProps } from '../props';
4 4 import { useModalDragMove } from '../hooks/useModalDrag';
5   -import { useAttrs } from '/@/hooks/core/useAttrs';
  5 +import { useAttrs } from '@vben/hooks';
6 6 import { extendSlots } from '/@/utils/helper/tsxHelper';
7 7  
8 8 export default defineComponent({
9 9 name: 'Modal',
10 10 inheritAttrs: false,
11   - props: basicProps,
  11 + props: basicProps as any,
12 12 emits: ['cancel'],
13 13 setup(props, { slots, emit }) {
14 14 const { visible, draggable, destroyOnClose } = toRefs(props);
... ...
src/main.ts
1 1 import 'uno.css';
2   -import '/@/design/index.less';
3   -import '/@/components/VxeTable/src/css/index.scss';
  2 +import '@/design/index.less';
  3 +import '@/components/VxeTable/src/css/index.scss';
4 4 import 'ant-design-vue/dist/antd.css';
5 5 // Register icon sprite
6 6 import 'virtual:svg-icons-register';
7   -import App from './App.vue';
  7 +
8 8 import { createApp } from 'vue';
9   -import { initAppConfigStore } from '/@/logics/initAppConfig';
10   -import { setupErrorHandle } from '/@/logics/error-handle';
11   -import { router, setupRouter } from '/@/router';
12   -import { setupRouterGuard } from '/@/router/guard';
13   -import { setupStore } from '/@/store';
14   -import { setupGlobDirectives } from '/@/directives';
15   -import { setupI18n } from '/@/locales/setupI18n';
16   -import { registerGlobComp } from '/@/components/registerGlobComp';
  9 +
  10 +import { registerGlobComp } from '@/components/registerGlobComp';
  11 +import { setupGlobDirectives } from '@/directives';
  12 +import { setupI18n } from '@/locales/setupI18n';
  13 +import { setupErrorHandle } from '@/logics/error-handle';
  14 +import { initAppConfigStore } from '@/logics/initAppConfig';
  15 +import { router, setupRouter } from '@/router';
  16 +import { setupRouterGuard } from '@/router/guard';
  17 +import { setupStore } from '@/store';
  18 +
  19 +import App from './App.vue';
17 20  
18 21 async function bootstrap() {
19 22 const app = createApp(App);
... ...
tsconfig.json
1 1 {
2 2 "$schema": "https://json.schemastore.org/tsconfig",
3   - "extends": "@vben/ts-config/vue.json",
  3 + "extends": "@vben/ts-config/vue-app.json",
4 4 "compilerOptions": {
5   - "baseUrl": "./",
6   - "types": ["vite/client"],
  5 + "baseUrl": ".",
  6 + "types": ["vite/client", "unplugin-vue-define-options/macros-global"],
7 7 "paths": {
8 8 "/@/*": ["src/*"],
9 9 "/#/*": ["types/*"],
... ...