Commit 4f20d45f9dcb2e1ed29555c61fc92090e3fe12e5
1 parent
e9064631
chore: type optimization
Showing
18 changed files
with
112 additions
and
106 deletions
.vscode/settings.json
1 | { | 1 | { |
2 | - "cSpell.words": ["vben", "windi"], | ||
3 | "typescript.tsdk": "./node_modules/typescript/lib", | 2 | "typescript.tsdk": "./node_modules/typescript/lib", |
3 | + "typescript.enablePromptUseWorkspaceTsdk": true, | ||
4 | "volar.tsPlugin": true, | 4 | "volar.tsPlugin": true, |
5 | "volar.tsPluginStatus": false, | 5 | "volar.tsPluginStatus": false, |
6 | //=========================================== | 6 | //=========================================== |
@@ -10,23 +10,14 @@ | @@ -10,23 +10,14 @@ | ||
10 | "editor.tabSize": 2, | 10 | "editor.tabSize": 2, |
11 | "editor.defaultFormatter": "esbenp.prettier-vscode", | 11 | "editor.defaultFormatter": "esbenp.prettier-vscode", |
12 | "diffEditor.ignoreTrimWhitespace": false, | 12 | "diffEditor.ignoreTrimWhitespace": false, |
13 | - "editor.trimAutoWhitespace": true, | ||
14 | //=========================================== | 13 | //=========================================== |
15 | //============= Other ======================= | 14 | //============= Other ======================= |
16 | //=========================================== | 15 | //=========================================== |
17 | "breadcrumbs.enabled": true, | 16 | "breadcrumbs.enabled": true, |
18 | "open-in-browser.default": "chrome", | 17 | "open-in-browser.default": "chrome", |
19 | //=========================================== | 18 | //=========================================== |
20 | - //============= emmet ======================= | ||
21 | - //=========================================== | ||
22 | - "emmet.triggerExpansionOnTab": true, | ||
23 | - "emmet.showAbbreviationSuggestions": true, | ||
24 | - //=========================================== | ||
25 | //============= files ======================= | 19 | //============= files ======================= |
26 | //=========================================== | 20 | //=========================================== |
27 | - "files.trimTrailingWhitespace": true, | ||
28 | - // "files.insertFinalNewline": true, | ||
29 | - // "files.trimFinalNewlines": true, | ||
30 | "files.eol": "\n", | 21 | "files.eol": "\n", |
31 | "search.exclude": { | 22 | "search.exclude": { |
32 | "**/node_modules": true, | 23 | "**/node_modules": true, |
@@ -49,9 +40,14 @@ | @@ -49,9 +40,14 @@ | ||
49 | "CHANGELOG.md": true, | 40 | "CHANGELOG.md": true, |
50 | "examples": true, | 41 | "examples": true, |
51 | "res": true, | 42 | "res": true, |
52 | - "screenshots": true | 43 | + "screenshots": true, |
44 | + "yarn-error.log": true, | ||
45 | + "**/.yarn": true | ||
53 | }, | 46 | }, |
54 | "files.exclude": { | 47 | "files.exclude": { |
48 | + "**/.cache": true, | ||
49 | + "**/.editorconfig": true, | ||
50 | + "**/.eslintcache": true, | ||
55 | "**/bower_components": true, | 51 | "**/bower_components": true, |
56 | "**/.idea": true, | 52 | "**/.idea": true, |
57 | "**/tmp": true, | 53 | "**/tmp": true, |
@@ -73,17 +69,6 @@ | @@ -73,17 +69,6 @@ | ||
73 | }, | 69 | }, |
74 | "stylelint.enable": true, | 70 | "stylelint.enable": true, |
75 | "stylelint.packageManager": "yarn", | 71 | "stylelint.packageManager": "yarn", |
76 | - // =========================================== | ||
77 | - // ================ Vetur ==================== | ||
78 | - // =========================================== | ||
79 | - // "vetur.experimental.templateInterpolationService": true, | ||
80 | - // "vetur.format.options.tabSize": 2, | ||
81 | - // "vetur.languageFeatures.codeActions": false, | ||
82 | - // "vetur.format.defaultFormatterOptions": { | ||
83 | - // "js-beautify-html": { | ||
84 | - // "wrap_attributes": "force-expand-multiline" | ||
85 | - // } | ||
86 | - // }, | ||
87 | "liveServer.settings.donotShowInfoMsg": true, | 72 | "liveServer.settings.donotShowInfoMsg": true, |
88 | "telemetry.enableCrashReporter": false, | 73 | "telemetry.enableCrashReporter": false, |
89 | "workbench.settings.enableNaturalLanguageSearch": false, | 74 | "workbench.settings.enableNaturalLanguageSearch": false, |
@@ -132,5 +117,6 @@ | @@ -132,5 +117,6 @@ | ||
132 | "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}", | 117 | "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}", |
133 | "i18n-ally.enabledParsers": ["ts"], | 118 | "i18n-ally.enabledParsers": ["ts"], |
134 | "i18n-ally.sourceLanguage": "en", | 119 | "i18n-ally.sourceLanguage": "en", |
135 | - "i18n-ally.enabledFrameworks": ["vue", "react"] | 120 | + "i18n-ally.enabledFrameworks": ["vue", "react"], |
121 | + "cSpell.words": ["vben", "windi", "browserslist", "esnext"] | ||
136 | } | 122 | } |
package.json
@@ -33,8 +33,8 @@ | @@ -33,8 +33,8 @@ | ||
33 | }, | 33 | }, |
34 | "dependencies": { | 34 | "dependencies": { |
35 | "@iconify/iconify": "^2.0.1", | 35 | "@iconify/iconify": "^2.0.1", |
36 | - "@logicflow/core": "^0.4.13", | ||
37 | - "@logicflow/extension": "^0.4.13", | 36 | + "@logicflow/core": "^0.4.14", |
37 | + "@logicflow/extension": "^0.4.14", | ||
38 | "@vueuse/core": "^5.0.3", | 38 | "@vueuse/core": "^5.0.3", |
39 | "@zxcvbn-ts/core": "^0.3.0", | 39 | "@zxcvbn-ts/core": "^0.3.0", |
40 | "ant-design-vue": "2.1.6", | 40 | "ant-design-vue": "2.1.6", |
@@ -115,11 +115,11 @@ | @@ -115,11 +115,11 @@ | ||
115 | "vite-plugin-compression": "^0.2.5", | 115 | "vite-plugin-compression": "^0.2.5", |
116 | "vite-plugin-html": "^2.0.7", | 116 | "vite-plugin-html": "^2.0.7", |
117 | "vite-plugin-imagemin": "^0.3.2", | 117 | "vite-plugin-imagemin": "^0.3.2", |
118 | - "vite-plugin-mock": "^2.7.2", | 118 | + "vite-plugin-mock": "^2.8.0", |
119 | "vite-plugin-purge-icons": "^0.7.0", | 119 | "vite-plugin-purge-icons": "^0.7.0", |
120 | "vite-plugin-pwa": "^0.8.1", | 120 | "vite-plugin-pwa": "^0.8.1", |
121 | - "vite-plugin-style-import": "^0.10.1", | ||
122 | - "vite-plugin-svg-icons": "^0.7.0", | 121 | + "vite-plugin-style-import": "^1.0.0", |
122 | + "vite-plugin-svg-icons": "^0.7.1", | ||
123 | "vite-plugin-theme": "^0.8.1", | 123 | "vite-plugin-theme": "^0.8.1", |
124 | "vite-plugin-windicss": "^1.0.4", | 124 | "vite-plugin-windicss": "^1.0.4", |
125 | "vue-eslint-parser": "^7.6.0", | 125 | "vue-eslint-parser": "^7.6.0", |
@@ -128,7 +128,7 @@ | @@ -128,7 +128,7 @@ | ||
128 | "resolutions": { | 128 | "resolutions": { |
129 | "//": "Used to install imagemin dependencies, because imagemin may not be installed in China. If it is abroad, you can delete it", | 129 | "//": "Used to install imagemin dependencies, because imagemin may not be installed in China. If it is abroad, you can delete it", |
130 | "bin-wrapper": "npm:bin-wrapper-china", | 130 | "bin-wrapper": "npm:bin-wrapper-china", |
131 | - "rollup": "^2.51.2" | 131 | + "rollup": "^2.52.0" |
132 | }, | 132 | }, |
133 | "repository": { | 133 | "repository": { |
134 | "type": "git", | 134 | "type": "git", |
src/components/Dropdown/src/Dropdown.vue
@@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
53 | * @type string[] | 53 | * @type string[] |
54 | */ | 54 | */ |
55 | trigger: { | 55 | trigger: { |
56 | - type: [Array] as PropType<string[]>, | 56 | + type: [Array] as PropType<('contextmenu' | 'click' | 'hover')[]>, |
57 | default: () => { | 57 | default: () => { |
58 | return ['contextmenu']; | 58 | return ['contextmenu']; |
59 | }, | 59 | }, |
src/components/FlowChart/src/FlowChartToolbar.vue
1 | <template> | 1 | <template> |
2 | <div :class="`${prefixCls}-toolbar`" class="flex items-center px-2 py-1"> | 2 | <div :class="`${prefixCls}-toolbar`" class="flex items-center px-2 py-1"> |
3 | - <template v-for="(item, index) in toolbarItemList" :key="item.type || index"> | 3 | + <template v-for="item in toolbarItemList" :key="item.type"> |
4 | <Tooltip placement="bottom" v-bind="item.disabled ? { visible: false } : {}"> | 4 | <Tooltip placement="bottom" v-bind="item.disabled ? { visible: false } : {}"> |
5 | <template #title>{{ item.tooltip }}</template> | 5 | <template #title>{{ item.tooltip }}</template> |
6 | <span :class="`${prefixCls}-toolbar__icon`" v-if="item.icon" @click="onControl(item)"> | 6 | <span :class="`${prefixCls}-toolbar__icon`" v-if="item.icon" @click="onControl(item)"> |
src/components/Form/src/BasicForm.vue
1 | <template> | 1 | <template> |
2 | <Form | 2 | <Form |
3 | - v-bind="{ ...$attrs, ...$props, ...getProps }" | 3 | + v-bind="getBindValue" |
4 | :class="getFormClass" | 4 | :class="getFormClass" |
5 | ref="formElRef" | 5 | ref="formElRef" |
6 | :model="formModel" | 6 | :model="formModel" |
7 | @keypress.enter="handleEnterPress" | 7 | @keypress.enter="handleEnterPress" |
8 | > | 8 | > |
9 | - <Row v-bind="{ ...getRow }"> | 9 | + <Row v-bind="getRow"> |
10 | <slot name="formHeader"></slot> | 10 | <slot name="formHeader"></slot> |
11 | <template v-for="schema in getSchema" :key="schema.field"> | 11 | <template v-for="schema in getSchema" :key="schema.field"> |
12 | <FormItem | 12 | <FormItem |
@@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
39 | <script lang="ts"> | 39 | <script lang="ts"> |
40 | import type { FormActionType, FormProps, FormSchema } from './types/form'; | 40 | import type { FormActionType, FormProps, FormSchema } from './types/form'; |
41 | import type { AdvanceState } from './types/hooks'; | 41 | import type { AdvanceState } from './types/hooks'; |
42 | - import type { CSSProperties, Ref } from 'vue'; | 42 | + import type { Ref } from 'vue'; |
43 | 43 | ||
44 | import { defineComponent, reactive, ref, computed, unref, onMounted, watch, nextTick } from 'vue'; | 44 | import { defineComponent, reactive, ref, computed, unref, onMounted, watch, nextTick } from 'vue'; |
45 | import { Form, Row } from 'ant-design-vue'; | 45 | import { Form, Row } from 'ant-design-vue'; |
@@ -69,7 +69,7 @@ | @@ -69,7 +69,7 @@ | ||
69 | components: { FormItem, Form, Row, FormAction }, | 69 | components: { FormItem, Form, Row, FormAction }, |
70 | props: basicProps, | 70 | props: basicProps, |
71 | emits: ['advanced-change', 'reset', 'submit', 'register'], | 71 | emits: ['advanced-change', 'reset', 'submit', 'register'], |
72 | - setup(props, { emit }) { | 72 | + setup(props, { emit, attrs }) { |
73 | const formModel = reactive<Recordable>({}); | 73 | const formModel = reactive<Recordable>({}); |
74 | const modalFn = useModalContext(); | 74 | const modalFn = useModalContext(); |
75 | 75 | ||
@@ -103,7 +103,7 @@ | @@ -103,7 +103,7 @@ | ||
103 | }); | 103 | }); |
104 | 104 | ||
105 | // Get uniform row style and Row configuration for the entire form | 105 | // Get uniform row style and Row configuration for the entire form |
106 | - const getRow = computed((): CSSProperties | RowProps => { | 106 | + const getRow = computed((): RowProps => { |
107 | const { baseRowStyle = {}, rowProps } = unref(getProps); | 107 | const { baseRowStyle = {}, rowProps } = unref(getProps); |
108 | return { | 108 | return { |
109 | style: baseRowStyle, | 109 | style: baseRowStyle, |
@@ -111,6 +111,10 @@ | @@ -111,6 +111,10 @@ | ||
111 | }; | 111 | }; |
112 | }); | 112 | }); |
113 | 113 | ||
114 | + const getBindValue = computed( | ||
115 | + () => ({ ...attrs, ...props, ...unref(getProps) } as Recordable) | ||
116 | + ); | ||
117 | + | ||
114 | const getSchema = computed((): FormSchema[] => { | 118 | const getSchema = computed((): FormSchema[] => { |
115 | const schemas: FormSchema[] = unref(schemaRef) || (unref(getProps).schemas as any); | 119 | const schemas: FormSchema[] = unref(schemaRef) || (unref(getProps).schemas as any); |
116 | for (const schema of schemas) { | 120 | for (const schema of schemas) { |
@@ -260,6 +264,7 @@ | @@ -260,6 +264,7 @@ | ||
260 | }); | 264 | }); |
261 | 265 | ||
262 | return { | 266 | return { |
267 | + getBindValue, | ||
263 | handleToggleAdvanced, | 268 | handleToggleAdvanced, |
264 | handleEnterPress, | 269 | handleEnterPress, |
265 | formModel, | 270 | formModel, |
src/components/Upload/src/UploadModal.vue
@@ -265,7 +265,7 @@ | @@ -265,7 +265,7 @@ | ||
265 | } | 265 | } |
266 | 266 | ||
267 | // ็นๅปๅ ณ้ญ๏ผๅๆๆๆไฝไธไฟๅญ๏ผๅ ๆฌไธไผ ็ | 267 | // ็นๅปๅ ณ้ญ๏ผๅๆๆๆไฝไธไฟๅญ๏ผๅ ๆฌไธไผ ็ |
268 | - function handleCloseFunc() { | 268 | + async function handleCloseFunc() { |
269 | if (!isUploadingRef.value) { | 269 | if (!isUploadingRef.value) { |
270 | fileListRef.value = []; | 270 | fileListRef.value = []; |
271 | return true; | 271 | return true; |
src/hooks/component/useFormItem.ts
@@ -25,7 +25,7 @@ export function useRuleFormItem<T extends Recordable>( | @@ -25,7 +25,7 @@ export function useRuleFormItem<T extends Recordable>( | ||
25 | innerState.value = props[key]; | 25 | innerState.value = props[key]; |
26 | }); | 26 | }); |
27 | 27 | ||
28 | - const state = computed({ | 28 | + const state: any = computed({ |
29 | get() { | 29 | get() { |
30 | return innerState.value; | 30 | return innerState.value; |
31 | }, | 31 | }, |
src/layouts/default/tabs/components/TabContent.vue
@@ -43,7 +43,9 @@ | @@ -43,7 +43,9 @@ | ||
43 | 43 | ||
44 | const getIsTabs = computed(() => !props.isExtra); | 44 | const getIsTabs = computed(() => !props.isExtra); |
45 | 45 | ||
46 | - const getTrigger = computed(() => (unref(getIsTabs) ? ['contextmenu'] : ['click'])); | 46 | + const getTrigger = computed((): ('contextmenu' | 'click' | 'hover')[] => |
47 | + unref(getIsTabs) ? ['contextmenu'] : ['click'] | ||
48 | + ); | ||
47 | 49 | ||
48 | const { getDropMenuList, handleMenuEvent, handleContextMenu } = useTabDropdown( | 50 | const { getDropMenuList, handleMenuEvent, handleContextMenu } = useTabDropdown( |
49 | props as TabContentProps, | 51 | props as TabContentProps, |
src/layouts/page/transition.ts
@@ -17,17 +17,17 @@ export function getTransitionName({ | @@ -17,17 +17,17 @@ export function getTransitionName({ | ||
17 | openCache: boolean; | 17 | openCache: boolean; |
18 | def: string; | 18 | def: string; |
19 | cacheTabs: string[]; | 19 | cacheTabs: string[]; |
20 | -}) { | 20 | +}): string | undefined { |
21 | if (!enableTransition) { | 21 | if (!enableTransition) { |
22 | - return null; | 22 | + return undefined; |
23 | } | 23 | } |
24 | 24 | ||
25 | const isInCache = cacheTabs.includes(route.name as string); | 25 | const isInCache = cacheTabs.includes(route.name as string); |
26 | const transitionName = 'fade-slide'; | 26 | const transitionName = 'fade-slide'; |
27 | - let name: string | null = transitionName; | 27 | + let name: string | undefined = transitionName; |
28 | 28 | ||
29 | if (openCache) { | 29 | if (openCache) { |
30 | - name = isInCache && route.meta.loaded ? transitionName : null; | 30 | + name = isInCache && route.meta.loaded ? transitionName : undefined; |
31 | } | 31 | } |
32 | - return name || route.meta.transitionName || def; | 32 | + return name || (route.meta.transitionName as string) || def; |
33 | } | 33 | } |
src/views/demo/page/account/center/Application.vue
1 | <template> | 1 | <template> |
2 | <List :class="prefixCls"> | 2 | <List :class="prefixCls"> |
3 | <a-row :gutter="16"> | 3 | <a-row :gutter="16"> |
4 | - <template v-for="(item, index) in list" :key="index"> | 4 | + <template v-for="item in list" :key="item.title"> |
5 | <a-col :span="6"> | 5 | <a-col :span="6"> |
6 | <ListItem> | 6 | <ListItem> |
7 | <Card :hoverable="true" :class="`${prefixCls}__card`"> | 7 | <Card :hoverable="true" :class="`${prefixCls}__card`"> |
src/views/demo/page/account/center/Article.vue
1 | <template> | 1 | <template> |
2 | <List item-layout="vertical" :class="prefixCls"> | 2 | <List item-layout="vertical" :class="prefixCls"> |
3 | - <template v-for="(item, index) in list" :key="index"> | 3 | + <template v-for="item in list" :key="item.title"> |
4 | <ListItem> | 4 | <ListItem> |
5 | <ListItemMeta> | 5 | <ListItemMeta> |
6 | <template #description> | 6 | <template #description> |
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | {{ item.title }} | 13 | {{ item.title }} |
14 | </p> | 14 | </p> |
15 | <div> | 15 | <div> |
16 | - <template v-for="(tag, ti) in item.description" :key="ti"> | 16 | + <template v-for="tag in item.description" :key="tag"> |
17 | <Tag class="mb-2"> | 17 | <Tag class="mb-2"> |
18 | {{ tag }} | 18 | {{ tag }} |
19 | </Tag> | 19 | </Tag> |
@@ -22,7 +22,7 @@ | @@ -22,7 +22,7 @@ | ||
22 | </template> | 22 | </template> |
23 | </ListItemMeta> | 23 | </ListItemMeta> |
24 | <div> | 24 | <div> |
25 | - <template v-for="(action, ai) in actions" :key="ai"> | 25 | + <template v-for="action in actions" :key="action.text"> |
26 | <div :class="`${prefixCls}__action`"> | 26 | <div :class="`${prefixCls}__action`"> |
27 | <Icon | 27 | <Icon |
28 | v-if="action.icon" | 28 | v-if="action.icon" |
src/views/demo/page/account/center/Project.vue
1 | <template> | 1 | <template> |
2 | <List :class="prefixCls"> | 2 | <List :class="prefixCls"> |
3 | <a-row :gutter="16"> | 3 | <a-row :gutter="16"> |
4 | - <template v-for="(item, index) in list" :key="index"> | 4 | + <template v-for="item in list" :key="item.title"> |
5 | <a-col :span="6"> | 5 | <a-col :span="6"> |
6 | <ListItem> | 6 | <ListItem> |
7 | <Card :hoverable="true" :class="`${prefixCls}__card`"> | 7 | <Card :hoverable="true" :class="`${prefixCls}__card`"> |
src/views/demo/page/account/center/index.vue
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | </a-col> | 12 | </a-col> |
13 | <a-col :span="16"> | 13 | <a-col :span="16"> |
14 | <div :class="`${prefixCls}-top__detail`"> | 14 | <div :class="`${prefixCls}-top__detail`"> |
15 | - <template v-for="(detail, index) in details" :key="index"> | 15 | + <template v-for="detail in details" :key="detail.title"> |
16 | <p> | 16 | <p> |
17 | <Icon :icon="detail.icon" /> | 17 | <Icon :icon="detail.icon" /> |
18 | {{ detail.title }} | 18 | {{ detail.title }} |
@@ -24,7 +24,7 @@ | @@ -24,7 +24,7 @@ | ||
24 | </a-col> | 24 | </a-col> |
25 | <a-col :span="7" :class="`${prefixCls}-col`"> | 25 | <a-col :span="7" :class="`${prefixCls}-col`"> |
26 | <CollapseContainer title="ๆ ็ญพ" :canExpan="false"> | 26 | <CollapseContainer title="ๆ ็ญพ" :canExpan="false"> |
27 | - <template v-for="(tag, index) in tags" :key="index"> | 27 | + <template v-for="tag in tags" :key="tag"> |
28 | <Tag class="mb-2"> | 28 | <Tag class="mb-2"> |
29 | {{ tag }} | 29 | {{ tag }} |
30 | </Tag> | 30 | </Tag> |
src/views/demo/page/desc/high/index.vue
@@ -83,7 +83,7 @@ | @@ -83,7 +83,7 @@ | ||
83 | </a-card> | 83 | </a-card> |
84 | </a-card> | 84 | </a-card> |
85 | <a-card title="็จๆท่ฟๅๅนดๆฅ็ต่ฎฐๅฝ" class="my-5"> | 85 | <a-card title="็จๆท่ฟๅๅนดๆฅ็ต่ฎฐๅฝ" class="my-5"> |
86 | - <a-empty /> | 86 | + <Empty /> |
87 | </a-card> | 87 | </a-card> |
88 | <BasicTable @register="registerTimeTable" /> | 88 | <BasicTable @register="registerTimeTable" /> |
89 | </div> | 89 | </div> |
@@ -102,7 +102,7 @@ | @@ -102,7 +102,7 @@ | ||
102 | PageWrapper, | 102 | PageWrapper, |
103 | [Divider.name]: Divider, | 103 | [Divider.name]: Divider, |
104 | [Card.name]: Card, | 104 | [Card.name]: Card, |
105 | - AEmpty: Empty, | 105 | + Empty, |
106 | [Descriptions.name]: Descriptions, | 106 | [Descriptions.name]: Descriptions, |
107 | [Descriptions.Item.name]: Descriptions.Item, | 107 | [Descriptions.Item.name]: Descriptions.Item, |
108 | [Steps.name]: Steps, | 108 | [Steps.name]: Steps, |
src/views/demo/page/list/card/index.vue
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | <div :class="`${prefixCls}__content`"> | 12 | <div :class="`${prefixCls}__content`"> |
13 | <a-list> | 13 | <a-list> |
14 | <a-row :gutter="16"> | 14 | <a-row :gutter="16"> |
15 | - <template v-for="(item, index) in list" :key="index"> | 15 | + <template v-for="item in list" :key="item.title"> |
16 | <a-col :span="6"> | 16 | <a-col :span="6"> |
17 | <a-list-item> | 17 | <a-list-item> |
18 | <a-card :hoverable="true" :class="`${prefixCls}__card`"> | 18 | <a-card :hoverable="true" :class="`${prefixCls}__card`"> |
src/views/demo/page/list/search/index.vue
@@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
38 | {{ item.title }} | 38 | {{ item.title }} |
39 | </p> | 39 | </p> |
40 | <div> | 40 | <div> |
41 | - <template v-for="(tag, index) in item.description" :key="`${index}`"> | 41 | + <template v-for="tag in item.description" :key="tag"> |
42 | <Tag class="mb-2"> | 42 | <Tag class="mb-2"> |
43 | {{ tag }} | 43 | {{ tag }} |
44 | </Tag> | 44 | </Tag> |
src/views/sys/login/useLogin.ts
1 | -import { RuleObject } from 'ant-design-vue/lib/form/interface'; | 1 | +import type { ValidationRule } from 'ant-design-vue/lib/form/Form'; |
2 | +import type { RuleObject } from 'ant-design-vue/lib/form/interface'; | ||
2 | import { ref, computed, unref, Ref } from 'vue'; | 3 | import { ref, computed, unref, Ref } from 'vue'; |
3 | import { useI18n } from '/@/hooks/web/useI18n'; | 4 | import { useI18n } from '/@/hooks/web/useI18n'; |
4 | 5 | ||
@@ -61,7 +62,7 @@ export function useFormRules(formData?: Recordable) { | @@ -61,7 +62,7 @@ export function useFormRules(formData?: Recordable) { | ||
61 | }; | 62 | }; |
62 | }; | 63 | }; |
63 | 64 | ||
64 | - const getFormRules = computed(() => { | 65 | + const getFormRules = computed((): { [k: string]: ValidationRule | ValidationRule[] } => { |
65 | const accountFormRule = unref(getAccountFormRule); | 66 | const accountFormRule = unref(getAccountFormRule); |
66 | const passwordFormRule = unref(getPasswordFormRule); | 67 | const passwordFormRule = unref(getPasswordFormRule); |
67 | const smsFormRule = unref(getSmsFormRule); | 68 | const smsFormRule = unref(getSmsFormRule); |
yarn.lock
@@ -1252,21 +1252,21 @@ | @@ -1252,21 +1252,21 @@ | ||
1252 | "@intlify/runtime" "9.1.6" | 1252 | "@intlify/runtime" "9.1.6" |
1253 | "@intlify/shared" "9.1.6" | 1253 | "@intlify/shared" "9.1.6" |
1254 | 1254 | ||
1255 | -"@logicflow/core@^0.4.13": | ||
1256 | - version "0.4.13" | ||
1257 | - resolved "https://registry.npmjs.org/@logicflow/core/-/core-0.4.13.tgz#69d1e7a30b5e545ada3a2e980059f3e6f6923f15" | ||
1258 | - integrity sha512-xOLz8RO6ldAT5H9Q2Ewt9d7z146B54TUom5EXzJ/jx/s1Phy24vP8tAGu6LuoTEitgNHTRQq7WxvH9NqnpxCpg== | 1255 | +"@logicflow/core@^0.4.14": |
1256 | + version "0.4.14" | ||
1257 | + resolved "https://registry.npmjs.org/@logicflow/core/-/core-0.4.14.tgz#870ea68a5f241171802ed31b93803bddc24838bd" | ||
1258 | + integrity sha512-gu/q9QzZAzT8meJXDlnAfIrJ4M0i3GIrR0W36t6CFFnrHsjB96ApqGgSblyKLJ1lyTqBx8QeeTJ5WUQdcqat2A== | ||
1259 | dependencies: | 1259 | dependencies: |
1260 | "@types/mousetrap" "^1.6.4" | 1260 | "@types/mousetrap" "^1.6.4" |
1261 | mousetrap "^1.6.5" | 1261 | mousetrap "^1.6.5" |
1262 | preact "^10.4.8" | 1262 | preact "^10.4.8" |
1263 | 1263 | ||
1264 | -"@logicflow/extension@^0.4.13": | ||
1265 | - version "0.4.13" | ||
1266 | - resolved "https://registry.npmjs.org/@logicflow/extension/-/extension-0.4.13.tgz#b1c87b5458345414cc6c5fb813511e62db4acfa7" | ||
1267 | - integrity sha512-DAfgO9A5VrJ4oXruTYGgmDGvZAIaT2kLAlTE+luyg4eld6YsgwWXqXazJWCd9ObdAJkLYCf7lU27hZsDNqqbrg== | 1264 | +"@logicflow/extension@^0.4.14": |
1265 | + version "0.4.14" | ||
1266 | + resolved "https://registry.npmjs.org/@logicflow/extension/-/extension-0.4.14.tgz#6c54659304fa41a12d1bdfccd0691803a2bd9fe9" | ||
1267 | + integrity sha512-3GTQBvbR/DcOszxy0iqUb4SDAYU0VfAP33ewXMkBkLBLnngf88+4jHMPgDh50H//6oBxXPsNbiMxiGdzjJkTjw== | ||
1268 | dependencies: | 1268 | dependencies: |
1269 | - "@logicflow/core" "^0.4.13" | 1269 | + "@logicflow/core" "^0.4.14" |
1270 | ids "^1.0.0" | 1270 | ids "^1.0.0" |
1271 | preact "^10.4.8" | 1271 | preact "^10.4.8" |
1272 | 1272 | ||
@@ -1329,6 +1329,18 @@ | @@ -1329,6 +1329,18 @@ | ||
1329 | is-module "^1.0.0" | 1329 | is-module "^1.0.0" |
1330 | resolve "^1.19.0" | 1330 | resolve "^1.19.0" |
1331 | 1331 | ||
1332 | +"@rollup/plugin-node-resolve@^13.0.0": | ||
1333 | + version "13.0.0" | ||
1334 | + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz#352f07e430ff377809ec8ec8a6fd636547162dc4" | ||
1335 | + integrity sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ== | ||
1336 | + dependencies: | ||
1337 | + "@rollup/pluginutils" "^3.1.0" | ||
1338 | + "@types/resolve" "1.17.1" | ||
1339 | + builtin-modules "^3.1.0" | ||
1340 | + deepmerge "^4.2.2" | ||
1341 | + is-module "^1.0.0" | ||
1342 | + resolve "^1.19.0" | ||
1343 | + | ||
1332 | "@rollup/plugin-replace@^2.4.1": | 1344 | "@rollup/plugin-replace@^2.4.1": |
1333 | version "2.4.2" | 1345 | version "2.4.2" |
1334 | resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" | 1346 | resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" |
@@ -2211,7 +2223,7 @@ ant-design-vue@2.1.6: | @@ -2211,7 +2223,7 @@ ant-design-vue@2.1.6: | ||
2211 | vue-types "^3.0.0" | 2223 | vue-types "^3.0.0" |
2212 | warning "^4.0.0" | 2224 | warning "^4.0.0" |
2213 | 2225 | ||
2214 | -anymatch@~3.1.1: | 2226 | +anymatch@~3.1.2: |
2215 | version "3.1.2" | 2227 | version "3.1.2" |
2216 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" | 2228 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" |
2217 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== | 2229 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== |
@@ -2907,20 +2919,20 @@ chardet@^0.7.0: | @@ -2907,20 +2919,20 @@ chardet@^0.7.0: | ||
2907 | resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" | 2919 | resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" |
2908 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== | 2920 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== |
2909 | 2921 | ||
2910 | -chokidar@^3.5.1: | ||
2911 | - version "3.5.1" | ||
2912 | - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" | ||
2913 | - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== | 2922 | +chokidar@^3.5.2: |
2923 | + version "3.5.2" | ||
2924 | + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" | ||
2925 | + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== | ||
2914 | dependencies: | 2926 | dependencies: |
2915 | - anymatch "~3.1.1" | 2927 | + anymatch "~3.1.2" |
2916 | braces "~3.0.2" | 2928 | braces "~3.0.2" |
2917 | - glob-parent "~5.1.0" | 2929 | + glob-parent "~5.1.2" |
2918 | is-binary-path "~2.1.0" | 2930 | is-binary-path "~2.1.0" |
2919 | is-glob "~4.0.1" | 2931 | is-glob "~4.0.1" |
2920 | normalize-path "~3.0.0" | 2932 | normalize-path "~3.0.0" |
2921 | - readdirp "~3.5.0" | 2933 | + readdirp "~3.6.0" |
2922 | optionalDependencies: | 2934 | optionalDependencies: |
2923 | - fsevents "~2.3.1" | 2935 | + fsevents "~2.3.2" |
2924 | 2936 | ||
2925 | ci-info@^2.0.0: | 2937 | ci-info@^2.0.0: |
2926 | version "2.0.0" | 2938 | version "2.0.0" |
@@ -4183,10 +4195,10 @@ es-abstract@^1.17.2, es-abstract@^1.18.0-next.2: | @@ -4183,10 +4195,10 @@ es-abstract@^1.17.2, es-abstract@^1.18.0-next.2: | ||
4183 | string.prototype.trimstart "^1.0.4" | 4195 | string.prototype.trimstart "^1.0.4" |
4184 | unbox-primitive "^1.0.0" | 4196 | unbox-primitive "^1.0.0" |
4185 | 4197 | ||
4186 | -es-module-lexer@^0.4.1: | ||
4187 | - version "0.4.1" | ||
4188 | - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" | ||
4189 | - integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== | 4198 | +es-module-lexer@^0.6.0: |
4199 | + version "0.6.0" | ||
4200 | + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.6.0.tgz#e72ab05b7412e62b9be37c37a09bdb6000d706f0" | ||
4201 | + integrity sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA== | ||
4190 | 4202 | ||
4191 | es-to-primitive@^1.2.1: | 4203 | es-to-primitive@^1.2.1: |
4192 | version "1.2.1" | 4204 | version "1.2.1" |
@@ -4977,7 +4989,7 @@ fs.realpath@^1.0.0: | @@ -4977,7 +4989,7 @@ fs.realpath@^1.0.0: | ||
4977 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" | 4989 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" |
4978 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= | 4990 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= |
4979 | 4991 | ||
4980 | -fsevents@~2.3.1: | 4992 | +fsevents@~2.3.1, fsevents@~2.3.2: |
4981 | version "2.3.2" | 4993 | version "2.3.2" |
4982 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" | 4994 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" |
4983 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== | 4995 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== |
@@ -5132,7 +5144,7 @@ gitconfiglocal@^1.0.0: | @@ -5132,7 +5144,7 @@ gitconfiglocal@^1.0.0: | ||
5132 | dependencies: | 5144 | dependencies: |
5133 | ini "^1.3.2" | 5145 | ini "^1.3.2" |
5134 | 5146 | ||
5135 | -glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0: | 5147 | +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: |
5136 | version "5.1.2" | 5148 | version "5.1.2" |
5137 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" | 5149 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" |
5138 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== | 5150 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== |
@@ -8551,10 +8563,10 @@ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.0, readable | @@ -8551,10 +8563,10 @@ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.0, readable | ||
8551 | string_decoder "~1.1.1" | 8563 | string_decoder "~1.1.1" |
8552 | util-deprecate "~1.0.1" | 8564 | util-deprecate "~1.0.1" |
8553 | 8565 | ||
8554 | -readdirp@~3.5.0: | ||
8555 | - version "3.5.0" | ||
8556 | - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" | ||
8557 | - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== | 8566 | +readdirp@~3.6.0: |
8567 | + version "3.6.0" | ||
8568 | + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" | ||
8569 | + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== | ||
8558 | dependencies: | 8570 | dependencies: |
8559 | picomatch "^2.2.1" | 8571 | picomatch "^2.2.1" |
8560 | 8572 | ||
@@ -8866,12 +8878,12 @@ rollup-plugin-visualizer@5.5.0: | @@ -8866,12 +8878,12 @@ rollup-plugin-visualizer@5.5.0: | ||
8866 | source-map "^0.7.3" | 8878 | source-map "^0.7.3" |
8867 | yargs "^16.2.0" | 8879 | yargs "^16.2.0" |
8868 | 8880 | ||
8869 | -rollup@^2.38.5, rollup@^2.43.1, rollup@^2.51.2: | ||
8870 | - version "2.51.2" | ||
8871 | - resolved "https://registry.npmjs.org/rollup/-/rollup-2.51.2.tgz#6de71e28c833089a0bd745a09671a3e2b92af6b7" | ||
8872 | - integrity sha512-ReV2eGEadA7hmXSzjxdDKs10neqH2QURf2RxJ6ayAlq93ugy6qIvXMmbc5cWMGCDh1h5T4thuWO1e2VNbMq8FA== | 8881 | +rollup@^2.38.5, rollup@^2.43.1, rollup@^2.51.2, rollup@^2.52.0: |
8882 | + version "2.52.0" | ||
8883 | + resolved "https://registry.npmjs.org/rollup/-/rollup-2.52.0.tgz#9df3de6028fae79569a985942b81110205a5a411" | ||
8884 | + integrity sha512-lSkBDGsVoXjqaBf7dsHwxBJz+p+hJEP72P+LOitA0yVs+Nzxj76FidkZE2thrmhjwGqLYiJo39opi7mAfaQ/Vg== | ||
8873 | optionalDependencies: | 8885 | optionalDependencies: |
8874 | - fsevents "~2.3.1" | 8886 | + fsevents "~2.3.2" |
8875 | 8887 | ||
8876 | run-async@^2.2.0, run-async@^2.4.0: | 8888 | run-async@^2.2.0, run-async@^2.4.0: |
8877 | version "2.4.1" | 8889 | version "2.4.1" |
@@ -10568,15 +10580,15 @@ vite-plugin-imagemin@^0.3.2: | @@ -10568,15 +10580,15 @@ vite-plugin-imagemin@^0.3.2: | ||
10568 | imagemin-svgo "^8.0.0" | 10580 | imagemin-svgo "^8.0.0" |
10569 | imagemin-webp "^6.0.0" | 10581 | imagemin-webp "^6.0.0" |
10570 | 10582 | ||
10571 | -vite-plugin-mock@^2.7.2: | ||
10572 | - version "2.7.2" | ||
10573 | - resolved "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-2.7.2.tgz#710fcbbf447d603d33de022d34f45b6a86de3613" | ||
10574 | - integrity sha512-VCzJ0iHaAH04NxbBf18B5L2xCM4EE0AuYvzmLVc0ALdyz7J84uihx/L80qyaPbreDydZ2w0w3TsYbhL9D2fbHA== | 10583 | +vite-plugin-mock@^2.8.0: |
10584 | + version "2.8.0" | ||
10585 | + resolved "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-2.8.0.tgz#497ab0018a73b8fd0e9165d3800566d6a4f240cc" | ||
10586 | + integrity sha512-AxARl9SIBUV/zHnPpLvyroQpNmIRUP1JmBoADf4xBNMcsIdwSC7Dh8xq7fJnOkUd6srJJVQIYhDOuWmbDx4svw== | ||
10575 | dependencies: | 10587 | dependencies: |
10576 | - "@rollup/plugin-node-resolve" "^11.2.1" | 10588 | + "@rollup/plugin-node-resolve" "^13.0.0" |
10577 | "@types/mockjs" "^1.0.3" | 10589 | "@types/mockjs" "^1.0.3" |
10578 | - chalk "^4.1.0" | ||
10579 | - chokidar "^3.5.1" | 10590 | + chalk "^4.1.1" |
10591 | + chokidar "^3.5.2" | ||
10580 | connect "^3.7.0" | 10592 | connect "^3.7.0" |
10581 | debug "^4.3.2" | 10593 | debug "^4.3.2" |
10582 | esbuild "0.11.3" | 10594 | esbuild "0.11.3" |
@@ -10604,21 +10616,21 @@ vite-plugin-pwa@^0.8.1: | @@ -10604,21 +10616,21 @@ vite-plugin-pwa@^0.8.1: | ||
10604 | workbox-build "^6.1.5" | 10616 | workbox-build "^6.1.5" |
10605 | workbox-window "^6.1.5" | 10617 | workbox-window "^6.1.5" |
10606 | 10618 | ||
10607 | -vite-plugin-style-import@^0.10.1: | ||
10608 | - version "0.10.1" | ||
10609 | - resolved "https://registry.npmjs.com/vite-plugin-style-import/-/vite-plugin-style-import-0.10.1.tgz#8732d2c04c92b7e13a7afddcb8e4a34f289fc17c" | ||
10610 | - integrity sha512-3P7Jyf5+b1p26t6mOd6yn8ATNPTDGDRkE19aHicFpo3K7Of7ouJabiPfWE4QaicO6grtCfWGQ0SGMAPqxUSdRA== | 10619 | +vite-plugin-style-import@^1.0.0: |
10620 | + version "1.0.0" | ||
10621 | + resolved "https://registry.npmjs.org/vite-plugin-style-import/-/vite-plugin-style-import-1.0.0.tgz#344b7f14bcb5aefeb730d3192012c19a0604bb5e" | ||
10622 | + integrity sha512-5KCFN+WePRHsjZBtSPsN3Ii/Uas3Ld7d4B2s/I0NB4Iv7SuXuFudMz5IjoFaBqsbitXP7WEJ4XnZFan1fW1hAg== | ||
10611 | dependencies: | 10623 | dependencies: |
10612 | "@rollup/pluginutils" "^4.1.0" | 10624 | "@rollup/pluginutils" "^4.1.0" |
10613 | change-case "^4.1.2" | 10625 | change-case "^4.1.2" |
10614 | debug "^4.3.2" | 10626 | debug "^4.3.2" |
10615 | - es-module-lexer "^0.4.1" | 10627 | + es-module-lexer "^0.6.0" |
10616 | magic-string "^0.25.7" | 10628 | magic-string "^0.25.7" |
10617 | 10629 | ||
10618 | -vite-plugin-svg-icons@^0.7.0: | ||
10619 | - version "0.7.0" | ||
10620 | - resolved "https://registry.yarnpkg.com/vite-plugin-svg-icons/-/vite-plugin-svg-icons-0.7.0.tgz#08271f115affec9cc3cf203a2e23c37e59658fba" | ||
10621 | - integrity sha512-6Rgyi4luwbVzAYW7bn0X8V6w8pnVuXMkkWljaV7NWXIRoDiEfvXrBbzV61zmpAHaIYVSdhgQltxZDdCDkDT2nA== | 10630 | +vite-plugin-svg-icons@^0.7.1: |
10631 | + version "0.7.1" | ||
10632 | + resolved "https://registry.npmjs.org/vite-plugin-svg-icons/-/vite-plugin-svg-icons-0.7.1.tgz#35d4f2818c13a34a4a68884db537f0b8c2e1f174" | ||
10633 | + integrity sha512-yUUxIrXnsJLtYiaw3/ad7D1r/A9ULYirlE7lphcBUWWTKAy5nJ3JJO2XLcr9PuymApkt1oohkHHq5MVMu4+aeg== | ||
10622 | dependencies: | 10634 | dependencies: |
10623 | "@types/svgo" "^2.3.0" | 10635 | "@types/svgo" "^2.3.0" |
10624 | cors "^2.8.5" | 10636 | cors "^2.8.5" |