Commit 8a9ca498d70a0a4f66c073fe869fc6d8a3e79a55
1 parent
5ffac409
chore: remove useless code
Showing
34 changed files
with
236 additions
and
310 deletions
build/getShortName.ts renamed to build/getConfigFileName.ts
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | * Get the configuration file variable name |
3 | 3 | * @param env |
4 | 4 | */ |
5 | -export const getShortName = (env: any) => { | |
5 | +export const getConfigFileName = (env: Record<string, any>) => { | |
6 | 6 | return `__PRODUCTION__${env.VITE_GLOB_APP_SHORT_NAME || '__APP'}__CONF__` |
7 | 7 | .toUpperCase() |
8 | 8 | .replace(/\s/g, ''); | ... | ... |
build/script/buildConf.ts
... | ... | @@ -5,8 +5,8 @@ import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant'; |
5 | 5 | import fs, { writeFileSync } from 'fs-extra'; |
6 | 6 | import chalk from 'chalk'; |
7 | 7 | |
8 | -import { getCwdPath, getEnvConfig } from '../utils'; | |
9 | -import { getShortName } from '../getShortName'; | |
8 | +import { getRootPath, getEnvConfig } from '../utils'; | |
9 | +import { getConfigFileName } from '../getConfigFileName'; | |
10 | 10 | |
11 | 11 | import pkg from '../../package.json'; |
12 | 12 | |
... | ... | @@ -27,8 +27,8 @@ function createConfig( |
27 | 27 | writable: false, |
28 | 28 | }); |
29 | 29 | `.replace(/\s/g, ''); |
30 | - fs.mkdirp(getCwdPath(OUTPUT_DIR)); | |
31 | - writeFileSync(getCwdPath(`${OUTPUT_DIR}/${configFileName}`), configStr); | |
30 | + fs.mkdirp(getRootPath(OUTPUT_DIR)); | |
31 | + writeFileSync(getRootPath(`${OUTPUT_DIR}/${configFileName}`), configStr); | |
32 | 32 | |
33 | 33 | console.log(chalk.cyan(`✨ [${pkg.name}]`) + ` - configuration file is build successfully:`); |
34 | 34 | console.log(chalk.gray(OUTPUT_DIR + '/' + chalk.green(configFileName)) + '\n'); |
... | ... | @@ -39,6 +39,6 @@ function createConfig( |
39 | 39 | |
40 | 40 | export function runBuildConfig() { |
41 | 41 | const config = getEnvConfig(); |
42 | - const configFileName = getShortName(config); | |
42 | + const configFileName = getConfigFileName(config); | |
43 | 43 | createConfig({ config, configName: configFileName }); |
44 | 44 | } | ... | ... |
build/script/postBuild.ts
... | ... | @@ -14,6 +14,7 @@ export const runBuild = async () => { |
14 | 14 | if (!argvList.includes('no-conf')) { |
15 | 15 | await runBuildConfig(); |
16 | 16 | } |
17 | + | |
17 | 18 | console.log(`✨ ${chalk.cyan(`[${pkg.name}]`)}` + ' - build successfully!'); |
18 | 19 | } catch (error) { |
19 | 20 | console.log(chalk.red('vite build error:\n' + error)); | ... | ... |
build/tsconfig.json
build/typeing.d.ts
build/utils.ts
... | ... | @@ -2,12 +2,6 @@ import fs from 'fs'; |
2 | 2 | import path from 'path'; |
3 | 3 | import dotenv from 'dotenv'; |
4 | 4 | |
5 | -export const isFunction = (arg: unknown): arg is (...args: any[]) => any => | |
6 | - typeof arg === 'function'; | |
7 | - | |
8 | -export const isRegExp = (arg: unknown): arg is RegExp => | |
9 | - Object.prototype.toString.call(arg) === '[object RegExp]'; | |
10 | - | |
11 | 5 | export function isDevFn(mode: string): boolean { |
12 | 6 | return mode === 'development'; |
13 | 7 | } |
... | ... | @@ -34,18 +28,18 @@ export interface ViteEnv { |
34 | 28 | VITE_USE_CDN: boolean; |
35 | 29 | VITE_DROP_CONSOLE: boolean; |
36 | 30 | VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none'; |
37 | - VITE_DYNAMIC_IMPORT: boolean; | |
38 | 31 | VITE_LEGACY: boolean; |
39 | 32 | VITE_USE_IMAGEMIN: boolean; |
40 | 33 | } |
41 | 34 | |
42 | 35 | // Read all environment variable configuration files to process.env |
43 | -export function wrapperEnv(envConf: any): ViteEnv { | |
36 | +export function wrapperEnv(envConf: Recordable): ViteEnv { | |
44 | 37 | const ret: any = {}; |
45 | 38 | |
46 | 39 | for (const envName of Object.keys(envConf)) { |
47 | 40 | let realName = envConf[envName].replace(/\\n/g, '\n'); |
48 | 41 | realName = realName === 'true' ? true : realName === 'false' ? false : realName; |
42 | + | |
49 | 43 | if (envName === 'VITE_PORT') { |
50 | 44 | realName = Number(realName); |
51 | 45 | } |
... | ... | @@ -70,10 +64,10 @@ export function getEnvConfig(match = 'VITE_GLOB_', confFiles = ['.env', '.env.pr |
70 | 64 | confFiles.forEach((item) => { |
71 | 65 | try { |
72 | 66 | const env = dotenv.parse(fs.readFileSync(path.resolve(process.cwd(), item))); |
73 | - | |
74 | 67 | envConfig = { ...envConfig, ...env }; |
75 | 68 | } catch (error) {} |
76 | 69 | }); |
70 | + | |
77 | 71 | Object.keys(envConfig).forEach((key) => { |
78 | 72 | const reg = new RegExp(`^(${match})`); |
79 | 73 | if (!reg.test(key)) { |
... | ... | @@ -87,6 +81,6 @@ export function getEnvConfig(match = 'VITE_GLOB_', confFiles = ['.env', '.env.pr |
87 | 81 | * Get user root directory |
88 | 82 | * @param dir file path |
89 | 83 | */ |
90 | -export function getCwdPath(...dir: string[]) { | |
84 | +export function getRootPath(...dir: string[]) { | |
91 | 85 | return path.resolve(process.cwd(), ...dir); |
92 | 86 | } | ... | ... |
build/vite/plugin/index.ts
1 | 1 | import type { Plugin } from 'vite'; |
2 | +import type { ViteEnv } from '../../utils'; | |
2 | 3 | |
3 | 4 | import vue from '@vitejs/plugin-vue'; |
4 | 5 | import vueJsx from '@vitejs/plugin-vue-jsx'; |
... | ... | @@ -6,7 +7,6 @@ import legacy from '@vitejs/plugin-legacy'; |
6 | 7 | |
7 | 8 | import PurgeIcons from 'vite-plugin-purge-icons'; |
8 | 9 | |
9 | -import { ViteEnv } from '../../utils'; | |
10 | 10 | import { configHtmlPlugin } from './html'; |
11 | 11 | import { configPwaConfig } from './pwa'; |
12 | 12 | import { configMockPlugin } from './mock'; | ... | ... |
build/vite/plugin/pwa.ts
... | ... | @@ -2,11 +2,10 @@ |
2 | 2 | * Zero-config PWA for Vite |
3 | 3 | * https://github.com/antfu/vite-plugin-pwa |
4 | 4 | */ |
5 | +import type { ViteEnv } from '../../utils'; | |
5 | 6 | |
6 | 7 | import { VitePWA } from 'vite-plugin-pwa'; |
7 | 8 | |
8 | -import { ViteEnv } from '../../utils'; | |
9 | - | |
10 | 9 | export function configPwaConfig(env: ViteEnv) { |
11 | 10 | const { VITE_USE_PWA, VITE_GLOB_APP_TITLE, VITE_GLOB_APP_SHORT_NAME } = env; |
12 | 11 | ... | ... |
build/vite/plugin/windicss.ts
mock/_createProductionServer.ts
mock/_util.ts
... | ... | @@ -18,13 +18,11 @@ export function resultPageSuccess<T = any>( |
18 | 18 | const pageData = pagination(page, pageSize, list); |
19 | 19 | |
20 | 20 | return { |
21 | - code: 0, | |
22 | - result: { | |
21 | + ...resultSuccess({ | |
23 | 22 | items: pageData, |
24 | 23 | total: list.length, |
25 | - }, | |
24 | + }), | |
26 | 25 | message, |
27 | - type: 'success', | |
28 | 26 | }; |
29 | 27 | } |
30 | 28 | ... | ... |
package.json
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | "name": "vben-admin", |
3 | 3 | "version": "2.0.1", |
4 | 4 | "scripts": { |
5 | + "bootstrap": "yarn install", | |
5 | 6 | "serve": "vite", |
6 | 7 | "dev": "vite", |
7 | 8 | "build": "vite build && esno ./build/script/postBuild.ts", |
... | ... | @@ -9,9 +10,9 @@ |
9 | 10 | "report": "cross-env REPORT=true npm run build ", |
10 | 11 | "preview": "npm run build && vite preview", |
11 | 12 | "preview:dist": "vite preview", |
12 | - "log": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", | |
13 | + "log": "conventional-changelog -p angular -i CHANGELOG.md -s", | |
13 | 14 | "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite", |
14 | - "clean:lib": "npx rimraf node_modules", | |
15 | + "clean:lib": "rimraf node_modules", | |
15 | 16 | "lint:eslint": "eslint \"{src,mock}/**/*.{vue,ts,tsx}\" --fix", |
16 | 17 | "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"", |
17 | 18 | "lint:stylelint": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", |
... | ... | @@ -39,8 +40,8 @@ |
39 | 40 | "qrcode": "^1.4.4", |
40 | 41 | "sortablejs": "^1.13.0", |
41 | 42 | "vditor": "^3.8.1", |
42 | - "vue": "^3.0.6", | |
43 | - "vue-i18n": "9.0.0-rc.7", | |
43 | + "vue": "3.0.5", | |
44 | + "vue-i18n": "9.0.0-rc.8", | |
44 | 45 | "vue-router": "^4.0.4", |
45 | 46 | "vue-types": "^3.0.2", |
46 | 47 | "vuex": "^4.0.0", |
... | ... | @@ -50,7 +51,7 @@ |
50 | 51 | "devDependencies": { |
51 | 52 | "@commitlint/cli": "^12.0.0", |
52 | 53 | "@commitlint/config-conventional": "^12.0.0", |
53 | - "@iconify/json": "^1.1.307", | |
54 | + "@iconify/json": "^1.1.308", | |
54 | 55 | "@ls-lint/ls-lint": "^1.9.2", |
55 | 56 | "@purge-icons/generated": "^0.7.0", |
56 | 57 | "@types/fs-extra": "^9.0.7", |
... | ... | @@ -68,7 +69,7 @@ |
68 | 69 | "@vitejs/plugin-legacy": "^1.3.1", |
69 | 70 | "@vitejs/plugin-vue": "^1.1.4", |
70 | 71 | "@vitejs/plugin-vue-jsx": "^1.1.2", |
71 | - "@vue/compiler-sfc": "^3.0.6", | |
72 | + "@vue/compiler-sfc": "3.0.5", | |
72 | 73 | "autoprefixer": "^10.2.4", |
73 | 74 | "commitizen": "^4.2.3", |
74 | 75 | "conventional-changelog-cli": "^2.1.1", | ... | ... |
src/components/Tinymce/src/Editor.vue
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | import plugins from './plugins'; |
27 | 27 | import { getTinymce } from './getTinymce'; |
28 | 28 | import { useScript } from '/@/hooks/web/useScript'; |
29 | - import { snowUuid } from '/@/utils/uuid'; | |
29 | + import { shortUuid } from '/@/utils/uuid'; | |
30 | 30 | import { bindHandlers } from './helper'; |
31 | 31 | import lineHeight from './lineHeight'; |
32 | 32 | import { onMountedOrActivated } from '/@/hooks/core/onMountedOrActivated'; |
... | ... | @@ -45,7 +45,7 @@ |
45 | 45 | emits: ['change', 'update:modelValue'], |
46 | 46 | setup(props, { emit, attrs }) { |
47 | 47 | const editorRef = ref<any>(null); |
48 | - const tinymceId = ref<string>(snowUuid('tiny-vue')); | |
48 | + const tinymceId = ref<string>(shortUuid('tiny-vue')); | |
49 | 49 | const elRef = ref<Nullable<HTMLElement>>(null); |
50 | 50 | |
51 | 51 | const { prefixCls } = useDesign('tinymce-container'); |
... | ... | @@ -104,7 +104,7 @@ |
104 | 104 | } |
105 | 105 | ); |
106 | 106 | onMountedOrActivated(() => { |
107 | - tinymceId.value = snowUuid('tiny-vue'); | |
107 | + tinymceId.value = shortUuid('tiny-vue'); | |
108 | 108 | nextTick(() => { |
109 | 109 | init(); |
110 | 110 | }); | ... | ... |
src/hooks/setting/index.ts
1 | 1 | import type { ProjectConfig, GlobConfig, GlobEnvConfig } from '/@/types/config'; |
2 | 2 | |
3 | +import { getConfigFileName } from '../../../build/getConfigFileName'; | |
4 | + | |
3 | 5 | import getProjectSetting from '/@/settings/projectSetting'; |
4 | 6 | |
5 | -import { getShortName } from '../../../build/getShortName'; | |
6 | 7 | import { warn } from '/@/utils/log'; |
7 | 8 | import { getGlobEnvConfig, isDevMode } from '/@/utils/env'; |
8 | 9 | |
9 | -const reg = /[a-zA-Z\_]*/; | |
10 | - | |
11 | -const ENV_NAME = getShortName(import.meta.env); | |
12 | -const ENV = ((isDevMode() | |
13 | - ? getGlobEnvConfig() | |
14 | - : window[ENV_NAME as any]) as unknown) as GlobEnvConfig; | |
15 | - | |
16 | -const { | |
17 | - VITE_GLOB_APP_TITLE, | |
18 | - VITE_GLOB_API_URL, | |
19 | - VITE_GLOB_APP_SHORT_NAME, | |
20 | - VITE_GLOB_API_URL_PREFIX, | |
21 | - VITE_GLOB_UPLOAD_URL, | |
22 | -} = ENV; | |
23 | - | |
24 | -if (!reg.test(VITE_GLOB_APP_SHORT_NAME)) { | |
25 | - warn( | |
26 | - `VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.` | |
27 | - ); | |
28 | -} | |
29 | - | |
30 | 10 | export const useGlobSetting = (): Readonly<GlobConfig> => { |
11 | + const ENV_NAME = getConfigFileName(import.meta.env); | |
12 | + | |
13 | + const ENV = ((isDevMode() | |
14 | + ? getGlobEnvConfig() | |
15 | + : window[ENV_NAME as any]) as unknown) as GlobEnvConfig; | |
16 | + | |
17 | + const { | |
18 | + VITE_GLOB_APP_TITLE, | |
19 | + VITE_GLOB_API_URL, | |
20 | + VITE_GLOB_APP_SHORT_NAME, | |
21 | + VITE_GLOB_API_URL_PREFIX, | |
22 | + VITE_GLOB_UPLOAD_URL, | |
23 | + } = ENV; | |
24 | + | |
25 | + if (!/[a-zA-Z\_]*/.test(VITE_GLOB_APP_SHORT_NAME)) { | |
26 | + warn( | |
27 | + `VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.` | |
28 | + ); | |
29 | + } | |
30 | + | |
31 | 31 | // Take global configuration |
32 | 32 | const glob: Readonly<GlobConfig> = { |
33 | 33 | title: VITE_GLOB_APP_TITLE, | ... | ... |
src/hooks/web/useApexCharts.ts
... | ... | @@ -2,8 +2,6 @@ import { useTimeoutFn } from '/@/hooks/core/useTimeout'; |
2 | 2 | import { tryOnUnmounted } from '/@/utils/helper/vueHelper'; |
3 | 3 | import { unref, Ref, nextTick } from 'vue'; |
4 | 4 | |
5 | -import ApexCharts from 'apexcharts'; | |
6 | - | |
7 | 5 | interface CallBackFn { |
8 | 6 | (instance: Nullable<ApexCharts>): void; |
9 | 7 | } |
... | ... | @@ -13,21 +11,22 @@ export function useApexCharts(elRef: Ref<HTMLDivElement>) { |
13 | 11 | |
14 | 12 | function setOptions(options: any, callback?: CallBackFn) { |
15 | 13 | nextTick(() => { |
16 | - useTimeoutFn(() => { | |
14 | + useTimeoutFn(async () => { | |
17 | 15 | const el = unref(elRef); |
18 | 16 | |
19 | 17 | if (!el || !unref(el)) return; |
18 | + const ApexCharts = await (await import('apexcharts')).default; | |
20 | 19 | chartInstance = new ApexCharts(el, options); |
21 | 20 | |
22 | 21 | chartInstance && chartInstance.render(); |
23 | 22 | |
24 | - // setOptions增加callback方法,返回chartInstance,以便于对图表进行再操作,例如调用updateOptions方法更新图表 | |
23 | + // The callback method is added to setOptions to return the chartInstance to facilitate the re-operation of the chart, such as calling the updateOptions method to update the chart | |
25 | 24 | callback && callback(chartInstance); |
26 | 25 | }, 30); |
27 | 26 | }); |
28 | 27 | } |
29 | 28 | |
30 | - // 新增调用ApexCharts的updateOptions方法更新图表 | |
29 | + // Call the updateOptions method of ApexCharts to update the chart | |
31 | 30 | function updateOptions( |
32 | 31 | chartInstance: Nullable<ApexCharts>, |
33 | 32 | options: any, | ... | ... |
src/hooks/web/useLockPage.ts
src/hooks/web/usePermission.ts
... | ... | @@ -40,7 +40,7 @@ export function usePermission() { |
40 | 40 | resetRouter(); |
41 | 41 | const routes = await permissionStore.buildRoutesAction(id); |
42 | 42 | routes.forEach((route) => { |
43 | - router.addRoute(route as RouteRecordRaw); | |
43 | + router.addRoute((route as unknown) as RouteRecordRaw); | |
44 | 44 | }); |
45 | 45 | permissionStore.commitLastBuildMenuTimeState(); |
46 | 46 | const { closeAll } = useTabs(); | ... | ... |
src/hooks/web/useSortable.ts
1 | -import Sortable from 'sortablejs'; | |
2 | 1 | import { nextTick, unref } from 'vue'; |
3 | 2 | import type { Ref } from 'vue'; |
3 | +import type { Options } from 'sortablejs'; | |
4 | 4 | |
5 | -export function useSortable(el: HTMLElement | Ref<HTMLElement>, options?: Sortable.Options) { | |
5 | +export function useSortable(el: HTMLElement | Ref<HTMLElement>, options?: Options) { | |
6 | 6 | function initSortable() { |
7 | - nextTick(() => { | |
7 | + nextTick(async () => { | |
8 | 8 | if (!el) return; |
9 | + | |
10 | + const Sortable = (await import('sortablejs')).default; | |
9 | 11 | Sortable.create(unref(el), { |
10 | 12 | animation: 500, |
11 | 13 | delay: 400, | ... | ... |
src/layouts/default/tabs/useMultipleTabs.ts
... | ... | @@ -43,7 +43,7 @@ export function initAffixTabs(): string[] { |
43 | 43 | addAffixTabs(); |
44 | 44 | isAddAffix = true; |
45 | 45 | } |
46 | - return affixList.value.map((item) => item.meta?.title).filter(Boolean); | |
46 | + return affixList.value.map((item) => item.meta?.title).filter(Boolean) as string[]; | |
47 | 47 | } |
48 | 48 | |
49 | 49 | export function useTabsDrag(affixTextList: string[]) { | ... | ... |
src/logics/initAppConfig.ts
... | ... | @@ -7,7 +7,7 @@ import type { ProjectConfig } from '/@/types/config'; |
7 | 7 | import { PROJ_CFG_KEY } from '/@/enums/cacheEnum'; |
8 | 8 | |
9 | 9 | import projectSetting from '/@/settings/projectSetting'; |
10 | -import { getLocal } from '/@/utils/helper/persistent'; | |
10 | +import { getLocal } from '/@/utils/cache/persistent'; | |
11 | 11 | import { updateHeaderBgColor, updateSidebarBgColor } from '/@/logics/theme/updateBackground'; |
12 | 12 | import { updateColorWeak } from '/@/logics/theme/updateColorWeak'; |
13 | 13 | import { updateGrayMode } from '/@/logics/theme/updateGrayMode'; | ... | ... |
src/router/helper/menuHelper.ts
... | ... | @@ -46,12 +46,6 @@ export function transformRouteToMenu(routeModList: AppRouteModule[]) { |
46 | 46 | const cloneRouteModList = cloneDeep(routeModList); |
47 | 47 | const routeList: AppRouteRecordRaw[] = []; |
48 | 48 | |
49 | - // cloneRouteModList = filter(cloneRouteModList, (node) => { | |
50 | - // if (Reflect.has(node?.meta ?? {}, 'hideMenu')) { | |
51 | - // return !node?.meta.hideMenu; | |
52 | - // } | |
53 | - // return true; | |
54 | - // }); | |
55 | 49 | cloneRouteModList.forEach((item) => { |
56 | 50 | if (item.meta?.single) { |
57 | 51 | const realItem = item?.children?.[0]; | ... | ... |
src/router/index.ts
... | ... | @@ -3,9 +3,8 @@ import type { App } from 'vue'; |
3 | 3 | |
4 | 4 | import { createRouter, createWebHashHistory } from 'vue-router'; |
5 | 5 | |
6 | -import { createGuard } from './guard/'; | |
7 | - | |
8 | -import { basicRoutes } from './routes/'; | |
6 | +import { createGuard } from './guard'; | |
7 | +import { basicRoutes } from './routes'; | |
9 | 8 | import { REDIRECT_NAME } from './constant'; |
10 | 9 | |
11 | 10 | // app router |
... | ... | @@ -33,8 +32,4 @@ export function setupRouter(app: App<Element>) { |
33 | 32 | createGuard(router); |
34 | 33 | } |
35 | 34 | |
36 | -// router.onError((error) => { | |
37 | -// console.error(error); | |
38 | -// }); | |
39 | - | |
40 | 35 | export default router; | ... | ... |
src/store/modules/app.ts
... | ... | @@ -6,7 +6,7 @@ import store from '/@/store'; |
6 | 6 | import { PROJ_CFG_KEY } from '/@/enums/cacheEnum'; |
7 | 7 | |
8 | 8 | import { hotModuleUnregisterModule } from '/@/utils/helper/vuexHelper'; |
9 | -import { setLocal, getLocal, clearSession, clearLocal } from '/@/utils/helper/persistent'; | |
9 | +import { setLocal, getLocal, clearSession, clearLocal } from '/@/utils/cache/persistent'; | |
10 | 10 | import { deepMerge } from '/@/utils'; |
11 | 11 | |
12 | 12 | import { resetRouter } from '/@/router'; | ... | ... |
src/store/modules/lock.ts
... | ... | @@ -4,7 +4,7 @@ import store from '/@/store'; |
4 | 4 | import { LOCK_INFO_KEY } from '/@/enums/cacheEnum'; |
5 | 5 | |
6 | 6 | import { hotModuleUnregisterModule } from '/@/utils/helper/vuexHelper'; |
7 | -import { setLocal, getLocal, removeLocal } from '/@/utils/helper/persistent'; | |
7 | +import { setLocal, getLocal, removeLocal } from '/@/utils/cache/persistent'; | |
8 | 8 | |
9 | 9 | import { userStore } from './user'; |
10 | 10 | ... | ... |
src/store/modules/user.ts
... | ... | @@ -18,7 +18,7 @@ import router from '/@/router'; |
18 | 18 | |
19 | 19 | import { loginApi, getUserInfoById } from '/@/api/sys/user'; |
20 | 20 | |
21 | -import { setLocal, getLocal, getSession, setSession } from '/@/utils/helper/persistent'; | |
21 | +import { setLocal, getLocal, getSession, setSession } from '/@/utils/cache/persistent'; | |
22 | 22 | import { useProjectSetting } from '/@/hooks/setting'; |
23 | 23 | import { useI18n } from '/@/hooks/web/useI18n'; |
24 | 24 | import { ErrorMessageMode } from '/@/utils/http/axios/types'; |
... | ... | @@ -37,7 +37,6 @@ function getCache<T>(key: string) { |
37 | 37 | |
38 | 38 | function setCache(USER_INFO_KEY: string, info: any) { |
39 | 39 | if (!info) return; |
40 | - // const fn = permissionCacheType === CacheTypeEnum.LOCAL ? setLocal : setSession; | |
41 | 40 | setLocal(USER_INFO_KEY, info, true); |
42 | 41 | // TODO |
43 | 42 | setSession(USER_INFO_KEY, info, true); | ... | ... |
src/types/config.d.ts
... | ... | @@ -6,9 +6,10 @@ import { |
6 | 6 | RouterTransitionEnum, |
7 | 7 | SettingButtonPositionEnum, |
8 | 8 | } from '/@/enums/appEnum'; |
9 | + | |
9 | 10 | import { CacheTypeEnum } from '/@/enums/cacheEnum'; |
10 | 11 | import type { LocaleType } from '/@/locales/types'; |
11 | -import { ThemeMode } from '../../build/config/lessModifyVars'; | |
12 | +import { ThemeMode } from '../../build/config/themeConfig'; | |
12 | 13 | |
13 | 14 | export interface MenuSetting { |
14 | 15 | bgColor: string; |
... | ... | @@ -32,16 +33,10 @@ export interface MenuSetting { |
32 | 33 | } |
33 | 34 | |
34 | 35 | export interface MultiTabsSetting { |
35 | - // 是否显示 | |
36 | 36 | show: boolean; |
37 | - // 开启快速操作 | |
38 | 37 | showQuick: boolean; |
39 | 38 | canDrag: boolean; |
40 | - | |
41 | - // 显示刷新按钮 | |
42 | 39 | showRedo: boolean; |
43 | - | |
44 | - // 显示折叠按钮 | |
45 | 40 | showFold: boolean; |
46 | 41 | } |
47 | 42 | |
... | ... | @@ -50,16 +45,14 @@ export interface HeaderSetting { |
50 | 45 | fixed: boolean; |
51 | 46 | show: boolean; |
52 | 47 | theme: ThemeEnum; |
53 | - | |
54 | - // 显示全屏按钮 | |
48 | + // Turn on full screen | |
55 | 49 | showFullScreen: boolean; |
56 | - // 开启全屏功能 | |
50 | + // Whether to show the lock screen | |
57 | 51 | useLockPage: boolean; |
58 | - // 显示文档按钮 | |
52 | + // Show document button | |
59 | 53 | showDoc: boolean; |
60 | - // 显示消息中心按钮 | |
54 | + // Show message center button | |
61 | 55 | showNotice: boolean; |
62 | - | |
63 | 56 | showSearch: boolean; |
64 | 57 | } |
65 | 58 | |
... | ... | @@ -76,96 +69,90 @@ export interface LocaleSetting { |
76 | 69 | export interface TransitionSetting { |
77 | 70 | // Whether to open the page switching animation |
78 | 71 | enable: boolean; |
79 | - | |
80 | 72 | // Route basic switching animation |
81 | 73 | basicTransition: RouterTransitionEnum; |
82 | - | |
83 | 74 | // Whether to open page switching loading |
84 | 75 | openPageLoading: boolean; |
85 | - | |
86 | 76 | // Whether to open the top progress bar |
87 | 77 | openNProgress: boolean; |
88 | 78 | } |
89 | 79 | |
90 | 80 | export interface ProjectConfig { |
81 | + // Multilingual configuration | |
91 | 82 | locale: LocaleSetting; |
92 | - | |
83 | + // Storage location of permission related information | |
93 | 84 | permissionCacheType: CacheTypeEnum; |
94 | - | |
95 | - // 是否显示配置按钮 | |
85 | + // Whether to show the configuration button | |
96 | 86 | showSettingButton: boolean; |
87 | + // Configure where the button is displayed | |
97 | 88 | settingButtonPosition: SettingButtonPositionEnum; |
98 | - // 权限模式 | |
89 | + // Permission mode | |
99 | 90 | permissionMode: PermissionModeEnum; |
100 | - // 网站灰色模式,用于可能悼念的日期开启 | |
91 | + // Website gray mode, open for possible mourning dates | |
101 | 92 | grayMode: boolean; |
102 | - // 是否开启色弱模式 | |
93 | + // Whether to turn on the color weak mode | |
103 | 94 | colorWeak: boolean; |
104 | - // 主题色 | |
95 | + // Theme color | |
105 | 96 | themeColor: string; |
97 | + | |
106 | 98 | themeMode: ThemeMode; |
107 | - // 全屏显示主界面,不显示菜单,及顶部 | |
99 | + // The main interface is displayed in full screen, the menu is not displayed, and the top | |
108 | 100 | fullContent: boolean; |
109 | - // 区域宽度 | |
101 | + // content width | |
110 | 102 | contentMode: ContentEnum; |
111 | - // 是否显示logo | |
103 | + // Whether to display the logo | |
112 | 104 | showLogo: boolean; |
105 | + // Whether to show the global footer | |
113 | 106 | showFooter: boolean; |
114 | - headerSetting: HeaderSetting; | |
115 | - // 菜单类型 | |
116 | 107 | // menuType: MenuTypeEnum; |
108 | + headerSetting: HeaderSetting; | |
109 | + // menuSetting | |
117 | 110 | menuSetting: MenuSetting; |
118 | - | |
119 | - // 多标签页设置 | |
111 | + // Multi-tab settings | |
120 | 112 | multiTabsSetting: MultiTabsSetting; |
121 | - | |
113 | + // Animation configuration | |
122 | 114 | transitionSetting: TransitionSetting; |
123 | - | |
124 | - // pageLayout是否开启keep-alive | |
115 | + // pageLayout whether to enable keep-alive | |
125 | 116 | openKeepAlive: boolean; |
126 | - | |
127 | - // | |
128 | - // 锁屏时间 | |
117 | + // Lock screen time | |
129 | 118 | lockTime: number; |
130 | - // 显示面包屑 | |
119 | + // Show breadcrumbs | |
131 | 120 | showBreadCrumb: boolean; |
132 | - // 显示面包屑图标 | |
121 | + // Show breadcrumb icon | |
133 | 122 | showBreadCrumbIcon: boolean; |
134 | - // 使用error-handler-plugin | |
123 | + // Use error-handler-plugin | |
135 | 124 | useErrorHandle: boolean; |
136 | - // 是否开启回到顶部 | |
125 | + // Whether to open back to top | |
137 | 126 | useOpenBackTop: boolean; |
138 | - // 是否可以嵌入iframe页面 | |
127 | + // Is it possible to embed iframe pages | |
139 | 128 | canEmbedIFramePage: boolean; |
140 | - // 切换界面的时候是否删除未关闭的message及notify | |
129 | + // Whether to delete unclosed messages and notify when switching the interface | |
141 | 130 | closeMessageOnSwitch: boolean; |
142 | - // 切换界面的时候是否取消已经发送但是未响应的http请求。 | |
131 | + // Whether to cancel the http request that has been sent but not responded when switching the interface. | |
143 | 132 | removeAllHttpPending: boolean; |
144 | 133 | } |
145 | 134 | |
146 | 135 | export interface GlobConfig { |
147 | - // 网站标题 | |
136 | + // Site title | |
148 | 137 | title: string; |
149 | - // 项目路径 | |
138 | + // Service interface url | |
150 | 139 | apiUrl: string; |
140 | + // Upload url | |
151 | 141 | uploadUrl?: string; |
142 | + // Service interface url prefix | |
152 | 143 | urlPrefix?: string; |
144 | + // Project abbreviation | |
153 | 145 | shortName: string; |
154 | 146 | } |
155 | 147 | export interface GlobEnvConfig { |
156 | - // 网站标题 | |
148 | + // Site title | |
157 | 149 | VITE_GLOB_APP_TITLE: string; |
158 | - // 项目路径 | |
150 | + // Service interface url | |
159 | 151 | VITE_GLOB_API_URL: string; |
152 | + // Service interface url prefix | |
160 | 153 | VITE_GLOB_API_URL_PREFIX?: string; |
154 | + // Project abbreviation | |
161 | 155 | VITE_GLOB_APP_SHORT_NAME: string; |
156 | + // Upload url | |
162 | 157 | VITE_GLOB_UPLOAD_URL?: string; |
163 | 158 | } |
164 | - | |
165 | -interface GlobWrap { | |
166 | - globSetting: Readonly<GlobConfig>; | |
167 | -} | |
168 | - | |
169 | -interface ProjectSettingWrap { | |
170 | - projectSetting: Readonly<ProjectConfig>; | |
171 | -} | ... | ... |
src/utils/helper/persistent.ts renamed to src/utils/cache/persistent.ts
src/utils/domUtils.ts
... | ... | @@ -16,9 +16,9 @@ export function getBoundingClientRect(element: Element): DOMRect | number { |
16 | 16 | return element.getBoundingClientRect(); |
17 | 17 | } |
18 | 18 | |
19 | -const trim = function (string: string) { | |
19 | +function trim(string: string) { | |
20 | 20 | return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ''); |
21 | -}; | |
21 | +} | |
22 | 22 | |
23 | 23 | /* istanbul ignore next */ |
24 | 24 | export function hasClass(el: Element, cls: string) { | ... | ... |
src/utils/env.ts
1 | 1 | import type { GlobEnvConfig } from '/@/types/config'; |
2 | 2 | |
3 | +import { useGlobSetting } from '/@/hooks/setting'; | |
4 | +import pkg from '../../package.json'; | |
5 | + | |
3 | 6 | /** |
4 | 7 | * Get the global configuration (the configuration will be extracted independently when packaging) |
5 | 8 | */ |
... | ... | @@ -8,6 +11,12 @@ export function getGlobEnvConfig(): GlobEnvConfig { |
8 | 11 | return (env as unknown) as GlobEnvConfig; |
9 | 12 | } |
10 | 13 | |
14 | +// Generate cache key according to version | |
15 | +export function getStorageShortName() { | |
16 | + const globSetting = useGlobSetting(); | |
17 | + return `${globSetting.shortName}__${getEnv()}${`__${pkg.version}`}__`.toUpperCase(); | |
18 | +} | |
19 | + | |
11 | 20 | /** |
12 | 21 | * @description: Development model |
13 | 22 | */ | ... | ... |
src/utils/index.ts
... | ... | @@ -4,6 +4,7 @@ import { isObject } from '/@/utils/is'; |
4 | 4 | export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n)); |
5 | 5 | export const noop = () => {}; |
6 | 6 | export const now = () => Date.now(); |
7 | + | |
7 | 8 | /** |
8 | 9 | * @description: Set ui mount node |
9 | 10 | */ | ... | ... |
src/utils/uuid.ts
... | ... | @@ -20,7 +20,7 @@ export function buildUUID(): string { |
20 | 20 | } |
21 | 21 | |
22 | 22 | let unique = 0; |
23 | -export function snowUuid(prefix = ''): string { | |
23 | +export function shortUuid(prefix = ''): string { | |
24 | 24 | const time = Date.now(); |
25 | 25 | const random = Math.floor(Math.random() * 1000000000); |
26 | 26 | unique++; | ... | ... |
src/views/sys/lock/index.vue
... | ... | @@ -4,13 +4,20 @@ |
4 | 4 | </transition> |
5 | 5 | </template> |
6 | 6 | <script lang="ts"> |
7 | - import { defineComponent } from 'vue'; | |
7 | + import { defineComponent, computed } from 'vue'; | |
8 | 8 | import LockPage from './LockPage.vue'; |
9 | - import { getIsLock } from '/@/hooks/web/useLockPage'; | |
9 | + | |
10 | + import { lockStore } from '/@/store/modules/lock'; | |
10 | 11 | export default defineComponent({ |
11 | 12 | name: 'Lock', |
12 | 13 | components: { LockPage }, |
13 | 14 | setup() { |
15 | + const getIsLock = computed(() => { | |
16 | + const { getLockInfo } = lockStore; | |
17 | + const { isLock } = getLockInfo; | |
18 | + return isLock; | |
19 | + }); | |
20 | + | |
14 | 21 | return { getIsLock }; |
15 | 22 | }, |
16 | 23 | }); | ... | ... |
stylelint.config.js
... | ... | @@ -28,6 +28,7 @@ module.exports = { |
28 | 28 | ignore: ['after-comment', 'first-nested'], |
29 | 29 | }, |
30 | 30 | ], |
31 | + 'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], | |
31 | 32 | // Specify the alphabetical order of the attributes in the declaration block |
32 | 33 | 'order/properties-order': [ |
33 | 34 | 'position', |
... | ... | @@ -178,4 +179,5 @@ module.exports = { |
178 | 179 | 'speak', |
179 | 180 | ], |
180 | 181 | }, |
182 | + ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'], | |
181 | 183 | }; | ... | ... |
yarn.lock
... | ... | @@ -1118,48 +1118,48 @@ |
1118 | 1118 | dependencies: |
1119 | 1119 | cross-fetch "^3.0.6" |
1120 | 1120 | |
1121 | -"@iconify/json@^1.1.307": | |
1122 | - version "1.1.307" | |
1123 | - resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.307.tgz#db97e8faba1183e0411471dafe210deba0cc1fe2" | |
1124 | - integrity sha512-2hyKd4DKGWNtQ9CNC4s7tRzMHyDai3GnARC26nGZo7f4/r86FTspvjCEbqpbuM5spJ1fn5jx00Iv4Qee89ooRA== | |
1125 | - | |
1126 | -"@intlify/core-base@9.0.0-rc.7": | |
1127 | - version "9.0.0-rc.7" | |
1128 | - resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.0.0-rc.7.tgz#664e58d0c24465d19fb84d65be2bc4c4735c2b4e" | |
1129 | - integrity sha512-jYF6kQpSCeBXprZRcggGV/YQAwqXRWo2MtcdkPfZf0cP26Yx12UeFF0Uk5W5M/cgts3ktkhF/CzvxtXP1mevlQ== | |
1130 | - dependencies: | |
1131 | - "@intlify/message-compiler" "9.0.0-rc.7" | |
1132 | - "@intlify/message-resolver" "9.0.0-rc.7" | |
1133 | - "@intlify/runtime" "9.0.0-rc.7" | |
1134 | - "@intlify/shared" "9.0.0-rc.7" | |
1135 | - | |
1136 | -"@intlify/message-compiler@9.0.0-rc.7": | |
1137 | - version "9.0.0-rc.7" | |
1138 | - resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.0.0-rc.7.tgz#383459a96220536ad675b77fef2d3f3f652d5647" | |
1139 | - integrity sha512-T8cPzSkNV0KHtLokQW8hBHMlqYcpknJy8JygwA4R6guiO2G9eyUdZ+rswDq5vrGfSIUglgHYusoIvOhFyQpkpQ== | |
1140 | - dependencies: | |
1141 | - "@intlify/message-resolver" "9.0.0-rc.7" | |
1142 | - "@intlify/shared" "9.0.0-rc.7" | |
1121 | +"@iconify/json@^1.1.308": | |
1122 | + version "1.1.308" | |
1123 | + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.308.tgz#162210182c14af4eb217f19e1a1707b787aca2aa" | |
1124 | + integrity sha512-zoVnvr5A1tpuTCzuw5EvRcWYV5rcmWLGLhEzg9+SuRAXWyT2st0ShF8hYbeHzm+MJHhJWodHVfsTu2DkshMX2g== | |
1125 | + | |
1126 | +"@intlify/core-base@9.0.0-rc.8": | |
1127 | + version "9.0.0-rc.8" | |
1128 | + resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.0.0-rc.8.tgz#674b88c313cbe471bb66f52dd0907106b01e1c38" | |
1129 | + integrity sha512-Nwj2GTZN7gOiN7uGgAeaaJAho/UamkXTheMrdjLrj7FPjE3d1oiSeB3fBgobJxzpyBRjhmjUmpPCEs1afokSxQ== | |
1130 | + dependencies: | |
1131 | + "@intlify/message-compiler" "9.0.0-rc.8" | |
1132 | + "@intlify/message-resolver" "9.0.0-rc.8" | |
1133 | + "@intlify/runtime" "9.0.0-rc.8" | |
1134 | + "@intlify/shared" "9.0.0-rc.8" | |
1135 | + | |
1136 | +"@intlify/message-compiler@9.0.0-rc.8": | |
1137 | + version "9.0.0-rc.8" | |
1138 | + resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.0.0-rc.8.tgz#b2c291b728858aa6fa57b6329a806c1accc8450b" | |
1139 | + integrity sha512-vtKk5z7ovenLUXMGHVUyS+snEYrTpHT4o6bQyjPeEL3BoXcVyHlLKIHXNJ6QzlHVQN8aN1bWyj3rMf9ZKEZF3A== | |
1140 | + dependencies: | |
1141 | + "@intlify/message-resolver" "9.0.0-rc.8" | |
1142 | + "@intlify/shared" "9.0.0-rc.8" | |
1143 | 1143 | source-map "0.6.1" |
1144 | 1144 | |
1145 | -"@intlify/message-resolver@9.0.0-rc.7": | |
1146 | - version "9.0.0-rc.7" | |
1147 | - resolved "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.0.0-rc.7.tgz#f41a552c7dd1c85f7042478bf264b0459c376376" | |
1148 | - integrity sha512-d0Jz0OWiH7jYTDk4VzTnVroJ2eylQUgVIk+2ztNJAHsrKoy3wxq6Tw/GlIGOrVJCFqZLWuxg7dmuhZDd4fliTw== | |
1145 | +"@intlify/message-resolver@9.0.0-rc.8": | |
1146 | + version "9.0.0-rc.8" | |
1147 | + resolved "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.0.0-rc.8.tgz#09382e6390298d6786cc53c483d4240e4654ec17" | |
1148 | + integrity sha512-8Qqh23yN3sM/hIZKIgJ1S6a9mNm1LVeUxkjhHdfyGV84P6G3Q9bgwCSenX1BKuUrVUJfK45FUkg87BZnUd2Qpg== | |
1149 | 1149 | |
1150 | -"@intlify/runtime@9.0.0-rc.7": | |
1151 | - version "9.0.0-rc.7" | |
1152 | - resolved "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.0.0-rc.7.tgz#81ed1602447c387476aeaf6eea7ff0608768f67e" | |
1153 | - integrity sha512-SdM9Gqca4W+u/O6XHqDf38UwoiopbyRtUnnqWy5DGihbE1CTKlFZSGPMx95cLOVt0AIeVK/eRwclxLiRtQRM7A== | |
1150 | +"@intlify/runtime@9.0.0-rc.8": | |
1151 | + version "9.0.0-rc.8" | |
1152 | + resolved "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.0.0-rc.8.tgz#be5d1c776bba2678b51c3c0492d4676a910921ca" | |
1153 | + integrity sha512-ZK0eZwZQ6wb3nxUPc+WYSebnswSSt/lRJotmaVdcmS+tT9/FFz6PJ9pO0nNFV/cGn0uEGW92buldCiNVKA5aHg== | |
1154 | 1154 | dependencies: |
1155 | - "@intlify/message-compiler" "9.0.0-rc.7" | |
1156 | - "@intlify/message-resolver" "9.0.0-rc.7" | |
1157 | - "@intlify/shared" "9.0.0-rc.7" | |
1155 | + "@intlify/message-compiler" "9.0.0-rc.8" | |
1156 | + "@intlify/message-resolver" "9.0.0-rc.8" | |
1157 | + "@intlify/shared" "9.0.0-rc.8" | |
1158 | 1158 | |
1159 | -"@intlify/shared@9.0.0-rc.7": | |
1160 | - version "9.0.0-rc.7" | |
1161 | - resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.0.0-rc.7.tgz#4bab9e58bbb09bc690fd953d1e83d9026e3a3893" | |
1162 | - integrity sha512-ynMHCCcBPtQAdJlOUMzrlvUp+DdKlnB0yrkPPMzAs8bBETwJbAK1Jq6zBHlMZzscPcF+1ia5pj4Gmmn7QL9b8w== | |
1159 | +"@intlify/shared@9.0.0-rc.8": | |
1160 | + version "9.0.0-rc.8" | |
1161 | + resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.0.0-rc.8.tgz#0b1b387a3237d4ae95496e8ae60cec267625f55d" | |
1162 | + integrity sha512-HH05+lD4A9q6F0VLbGY5eZmmCbfaBMuCSSQXmrGgegtsRVu7WFiUMQLNsouN1UtHabOJC9PQarxKwfTzdHyN6Q== | |
1163 | 1163 | |
1164 | 1164 | "@ls-lint/ls-lint@^1.9.2": |
1165 | 1165 | version "1.9.2" |
... | ... | @@ -1626,17 +1626,6 @@ |
1626 | 1626 | estree-walker "^2.0.1" |
1627 | 1627 | source-map "^0.6.1" |
1628 | 1628 | |
1629 | -"@vue/compiler-core@3.0.6": | |
1630 | - version "3.0.6" | |
1631 | - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.6.tgz#265bbe0711a81ab4c1344f8294e22e2d08ca167d" | |
1632 | - integrity sha512-O7QzQ39DskOoPpEDWRvKwDX7Py9UNT7SvLHvBdIfckGA3OsAEBdiAtuYQNcVmUDeBajm+08v5wyvHWBbWgkilQ== | |
1633 | - dependencies: | |
1634 | - "@babel/parser" "^7.12.0" | |
1635 | - "@babel/types" "^7.12.0" | |
1636 | - "@vue/shared" "3.0.6" | |
1637 | - estree-walker "^2.0.1" | |
1638 | - source-map "^0.6.1" | |
1639 | - | |
1640 | 1629 | "@vue/compiler-dom@3.0.5": |
1641 | 1630 | version "3.0.5" |
1642 | 1631 | resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz#7885a13e6d18f64dde8ebceec052ed2c102696c2" |
... | ... | @@ -1645,43 +1634,35 @@ |
1645 | 1634 | "@vue/compiler-core" "3.0.5" |
1646 | 1635 | "@vue/shared" "3.0.5" |
1647 | 1636 | |
1648 | -"@vue/compiler-dom@3.0.6": | |
1649 | - version "3.0.6" | |
1650 | - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.6.tgz#f94c3959320a1252915bd02b943f96a7ee3fc951" | |
1651 | - integrity sha512-q1wfHzYwvDRAhBlx+Qa+n3Bu5nHr1qL/j0UbpNlbQDwIlt9zpvmXUrUCL+i55Bh5lLKvSe+mNo0qlwNEApm+jA== | |
1652 | - dependencies: | |
1653 | - "@vue/compiler-core" "3.0.6" | |
1654 | - "@vue/shared" "3.0.6" | |
1655 | - | |
1656 | -"@vue/compiler-sfc@^3.0.6": | |
1657 | - version "3.0.6" | |
1658 | - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.6.tgz#3945f73a93d52868799f1e332a75bb8849976ac9" | |
1659 | - integrity sha512-g1tkswnhtiJpj4ELQ3SzeGxtOd0t8E5GkT+n2VlElEnTI1BzueSvr41D5QthnUS+TNWZd52ZnPtdaNz+Lfum1w== | |
1637 | +"@vue/compiler-sfc@3.0.5": | |
1638 | + version "3.0.5" | |
1639 | + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz#3ae08e60244a72faf9598361874fb7bdb5b1d37c" | |
1640 | + integrity sha512-uOAC4X0Gx3SQ9YvDC7YMpbDvoCmPvP0afVhJoxRotDdJ+r8VO3q4hFf/2f7U62k4Vkdftp6DVni8QixrfYzs+w== | |
1660 | 1641 | dependencies: |
1661 | 1642 | "@babel/parser" "^7.12.0" |
1662 | 1643 | "@babel/types" "^7.12.0" |
1663 | - "@vue/compiler-core" "3.0.6" | |
1664 | - "@vue/compiler-dom" "3.0.6" | |
1665 | - "@vue/compiler-ssr" "3.0.6" | |
1666 | - "@vue/shared" "3.0.6" | |
1644 | + "@vue/compiler-core" "3.0.5" | |
1645 | + "@vue/compiler-dom" "3.0.5" | |
1646 | + "@vue/compiler-ssr" "3.0.5" | |
1647 | + "@vue/shared" "3.0.5" | |
1667 | 1648 | consolidate "^0.16.0" |
1668 | 1649 | estree-walker "^2.0.1" |
1669 | 1650 | hash-sum "^2.0.0" |
1670 | 1651 | lru-cache "^5.1.1" |
1671 | 1652 | magic-string "^0.25.7" |
1672 | 1653 | merge-source-map "^1.1.0" |
1673 | - postcss "^8.1.10" | |
1674 | - postcss-modules "^4.0.0" | |
1654 | + postcss "^7.0.32" | |
1655 | + postcss-modules "^3.2.2" | |
1675 | 1656 | postcss-selector-parser "^6.0.4" |
1676 | 1657 | source-map "^0.6.1" |
1677 | 1658 | |
1678 | -"@vue/compiler-ssr@3.0.6": | |
1679 | - version "3.0.6" | |
1680 | - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.6.tgz#7156361e4c465cbee2723275edc61e940678e47c" | |
1681 | - integrity sha512-Y4amPwRevUiiNQDho0cq1Ith9q6UU5N6CD6YiXkHIboFPeXEiGvH3ULJWjFzlGqn1eUV1AReNJpFJrhjtQNc7g== | |
1659 | +"@vue/compiler-ssr@3.0.5": | |
1660 | + version "3.0.5" | |
1661 | + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz#7661ad891a0be948726c7f7ad1e425253c587b83" | |
1662 | + integrity sha512-Wm//Kuxa1DpgjE4P9W0coZr8wklOfJ35Jtq61CbU+t601CpPTK4+FL2QDBItaG7aoUUDCWL5nnxMkuaOgzTBKg== | |
1682 | 1663 | dependencies: |
1683 | - "@vue/compiler-dom" "3.0.6" | |
1684 | - "@vue/shared" "3.0.6" | |
1664 | + "@vue/compiler-dom" "3.0.5" | |
1665 | + "@vue/shared" "3.0.5" | |
1685 | 1666 | |
1686 | 1667 | "@vue/devtools-api@^6.0.0-beta.5": |
1687 | 1668 | version "6.0.0-beta.7" |
... | ... | @@ -1695,13 +1676,6 @@ |
1695 | 1676 | dependencies: |
1696 | 1677 | "@vue/shared" "3.0.5" |
1697 | 1678 | |
1698 | -"@vue/reactivity@3.0.6": | |
1699 | - version "3.0.6" | |
1700 | - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.6.tgz#7b16f3d5d04cc55028085fff0bb8475cc0e32991" | |
1701 | - integrity sha512-hX8PnZayNMoljWSYrZW0OclQnRaMoHxvi5eeFVFPDr7+tzBeiftmmozKttxxCLoDxBWX1B4gNc237DIcYU63Lw== | |
1702 | - dependencies: | |
1703 | - "@vue/shared" "3.0.6" | |
1704 | - | |
1705 | 1679 | "@vue/runtime-core@3.0.5": |
1706 | 1680 | version "3.0.5" |
1707 | 1681 | resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz#da6331d5f300d5794e9e0ebdc8a8bd72a9e19962" |
... | ... | @@ -1710,14 +1684,6 @@ |
1710 | 1684 | "@vue/reactivity" "3.0.5" |
1711 | 1685 | "@vue/shared" "3.0.5" |
1712 | 1686 | |
1713 | -"@vue/runtime-core@3.0.6": | |
1714 | - version "3.0.6" | |
1715 | - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.6.tgz#d16779b5664593f1d25be677fb1b1968024aa532" | |
1716 | - integrity sha512-x6N38P0DeMyrHiAxCE/rACHTyydOzlg8IyUIPkSJ4rrSkuJnAtFKQicK6fm8NuD21dwdPr8KcZ4Cn4xaqL1JJg== | |
1717 | - dependencies: | |
1718 | - "@vue/reactivity" "3.0.6" | |
1719 | - "@vue/shared" "3.0.6" | |
1720 | - | |
1721 | 1687 | "@vue/runtime-dom@3.0.5": |
1722 | 1688 | version "3.0.5" |
1723 | 1689 | resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz#1ce2c9c449e26ab06963da0064096e882a7a8935" |
... | ... | @@ -1727,25 +1693,11 @@ |
1727 | 1693 | "@vue/shared" "3.0.5" |
1728 | 1694 | csstype "^2.6.8" |
1729 | 1695 | |
1730 | -"@vue/runtime-dom@3.0.6": | |
1731 | - version "3.0.6" | |
1732 | - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.6.tgz#e7d6c61913d871f1f020a9a81b558c8fcbeba8c6" | |
1733 | - integrity sha512-Y6y4Tak9//VXB2mp2NVQxbwC4a5xsnJpotpo8yBAB3qB3L4v4HQLpqxSkwThRwI6Y6Z7dydX/sgfraqLBE8BWg== | |
1734 | - dependencies: | |
1735 | - "@vue/runtime-core" "3.0.6" | |
1736 | - "@vue/shared" "3.0.6" | |
1737 | - csstype "^2.6.8" | |
1738 | - | |
1739 | 1696 | "@vue/shared@3.0.5": |
1740 | 1697 | version "3.0.5" |
1741 | 1698 | resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz#c131d88bd6713cc4d93b3bb1372edb1983225ff0" |
1742 | 1699 | integrity sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw== |
1743 | 1700 | |
1744 | -"@vue/shared@3.0.6": | |
1745 | - version "3.0.6" | |
1746 | - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.6.tgz#d65576430fc4ad383dc7c829118798e5169178d4" | |
1747 | - integrity sha512-c37C60HpelUZIx+SNZVEINSxkFzQYhIXFg5AynnIA4QDBmY4iSPoACfGSwSUTCTKImukPeCgY2oqRJVP3R1Mnw== | |
1748 | - | |
1749 | 1701 | "@vueuse/core@^4.2.2": |
1750 | 1702 | version "4.2.2" |
1751 | 1703 | resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.2.2.tgz#ecbba4ba05e0360e9c9079b32e149fac803a1020" |
... | ... | @@ -4865,10 +4817,12 @@ icss-replace-symbols@^1.1.0: |
4865 | 4817 | resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" |
4866 | 4818 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= |
4867 | 4819 | |
4868 | -icss-utils@^5.0.0: | |
4869 | - version "5.1.0" | |
4870 | - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" | |
4871 | - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== | |
4820 | +icss-utils@^4.0.0, icss-utils@^4.1.1: | |
4821 | + version "4.1.1" | |
4822 | + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" | |
4823 | + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== | |
4824 | + dependencies: | |
4825 | + postcss "^7.0.14" | |
4872 | 4826 | |
4873 | 4827 | ieee754@^1.1.13: |
4874 | 4828 | version "1.2.1" |
... | ... | @@ -6907,46 +6861,52 @@ postcss-media-query-parser@^0.2.3: |
6907 | 6861 | resolved "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" |
6908 | 6862 | integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= |
6909 | 6863 | |
6910 | -postcss-modules-extract-imports@^3.0.0: | |
6911 | - version "3.0.0" | |
6912 | - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" | |
6913 | - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== | |
6864 | +postcss-modules-extract-imports@^2.0.0: | |
6865 | + version "2.0.0" | |
6866 | + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" | |
6867 | + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== | |
6868 | + dependencies: | |
6869 | + postcss "^7.0.5" | |
6914 | 6870 | |
6915 | -postcss-modules-local-by-default@^4.0.0: | |
6916 | - version "4.0.0" | |
6917 | - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" | |
6918 | - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== | |
6871 | +postcss-modules-local-by-default@^3.0.2: | |
6872 | + version "3.0.3" | |
6873 | + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" | |
6874 | + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== | |
6919 | 6875 | dependencies: |
6920 | - icss-utils "^5.0.0" | |
6876 | + icss-utils "^4.1.1" | |
6877 | + postcss "^7.0.32" | |
6921 | 6878 | postcss-selector-parser "^6.0.2" |
6922 | 6879 | postcss-value-parser "^4.1.0" |
6923 | 6880 | |
6924 | -postcss-modules-scope@^3.0.0: | |
6925 | - version "3.0.0" | |
6926 | - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" | |
6927 | - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== | |
6881 | +postcss-modules-scope@^2.2.0: | |
6882 | + version "2.2.0" | |
6883 | + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" | |
6884 | + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== | |
6928 | 6885 | dependencies: |
6929 | - postcss-selector-parser "^6.0.4" | |
6886 | + postcss "^7.0.6" | |
6887 | + postcss-selector-parser "^6.0.0" | |
6930 | 6888 | |
6931 | -postcss-modules-values@^4.0.0: | |
6932 | - version "4.0.0" | |
6933 | - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" | |
6934 | - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== | |
6889 | +postcss-modules-values@^3.0.0: | |
6890 | + version "3.0.0" | |
6891 | + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" | |
6892 | + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== | |
6935 | 6893 | dependencies: |
6936 | - icss-utils "^5.0.0" | |
6894 | + icss-utils "^4.0.0" | |
6895 | + postcss "^7.0.6" | |
6937 | 6896 | |
6938 | -postcss-modules@^4.0.0: | |
6939 | - version "4.0.0" | |
6940 | - resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.0.0.tgz#2bc7f276ab88f3f1b0fadf6cbd7772d43b5f3b9b" | |
6941 | - integrity sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw== | |
6897 | +postcss-modules@^3.2.2: | |
6898 | + version "3.2.2" | |
6899 | + resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-3.2.2.tgz#ee390de0f9f18e761e1778dfb9be26685c02c51f" | |
6900 | + integrity sha512-JQ8IAqHELxC0N6tyCg2UF40pACY5oiL6UpiqqcIFRWqgDYO8B0jnxzoQ0EOpPrWXvcpu6BSbQU/3vSiq7w8Nhw== | |
6942 | 6901 | dependencies: |
6943 | 6902 | generic-names "^2.0.1" |
6944 | 6903 | icss-replace-symbols "^1.1.0" |
6945 | 6904 | lodash.camelcase "^4.3.0" |
6946 | - postcss-modules-extract-imports "^3.0.0" | |
6947 | - postcss-modules-local-by-default "^4.0.0" | |
6948 | - postcss-modules-scope "^3.0.0" | |
6949 | - postcss-modules-values "^4.0.0" | |
6905 | + postcss "^7.0.32" | |
6906 | + postcss-modules-extract-imports "^2.0.0" | |
6907 | + postcss-modules-local-by-default "^3.0.2" | |
6908 | + postcss-modules-scope "^2.2.0" | |
6909 | + postcss-modules-values "^3.0.0" | |
6950 | 6910 | string-hash "^1.1.1" |
6951 | 6911 | |
6952 | 6912 | postcss-resolve-nested-selector@^0.1.1: |
... | ... | @@ -6976,7 +6936,7 @@ postcss-scss@^2.1.1: |
6976 | 6936 | dependencies: |
6977 | 6937 | postcss "^7.0.6" |
6978 | 6938 | |
6979 | -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: | |
6939 | +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: | |
6980 | 6940 | version "6.0.4" |
6981 | 6941 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" |
6982 | 6942 | integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== |
... | ... | @@ -7004,7 +6964,7 @@ postcss-value-parser@^4.1.0: |
7004 | 6964 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" |
7005 | 6965 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== |
7006 | 6966 | |
7007 | -postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6: | |
6967 | +postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: | |
7008 | 6968 | version "7.0.35" |
7009 | 6969 | resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" |
7010 | 6970 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== |
... | ... | @@ -7013,15 +6973,6 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0. |
7013 | 6973 | source-map "^0.6.1" |
7014 | 6974 | supports-color "^6.1.0" |
7015 | 6975 | |
7016 | -postcss@^8.1.10: | |
7017 | - version "8.2.6" | |
7018 | - resolved "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" | |
7019 | - integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== | |
7020 | - dependencies: | |
7021 | - colorette "^1.2.1" | |
7022 | - nanoid "^3.1.20" | |
7023 | - source-map "^0.6.1" | |
7024 | - | |
7025 | 6976 | postcss@^8.2.1: |
7026 | 6977 | version "8.2.4" |
7027 | 6978 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" |
... | ... | @@ -9049,13 +9000,13 @@ vue-eslint-parser@^7.5.0: |
9049 | 9000 | esquery "^1.4.0" |
9050 | 9001 | lodash "^4.17.15" |
9051 | 9002 | |
9052 | -vue-i18n@9.0.0-rc.7: | |
9053 | - version "9.0.0-rc.7" | |
9054 | - resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.0.0-rc.7.tgz#4097dfaa0d66319bbcd9fe5fb22c4b72e97720b5" | |
9055 | - integrity sha512-weNLPLqGiitziBUpGQHyxYlhuw447yR4EcsvmqUX3MocIKciv6OMHKxUguCFC1m1ZRCzHQwik7fz+Q8u4UmEdQ== | |
9003 | +vue-i18n@9.0.0-rc.8: | |
9004 | + version "9.0.0-rc.8" | |
9005 | + resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.0.0-rc.8.tgz#36d022516cf2527ce02eecf9de116b978e163da3" | |
9006 | + integrity sha512-WQC9q0UG1lbk+naBBoVTrJjHPZfHP6Pid35Ek9AkCxUcXolW1pXUCQg1gIMF8I0obxLd/fSx9GuOWrB/aaU3aQ== | |
9056 | 9007 | dependencies: |
9057 | - "@intlify/core-base" "9.0.0-rc.7" | |
9058 | - "@intlify/shared" "9.0.0-rc.7" | |
9008 | + "@intlify/core-base" "9.0.0-rc.8" | |
9009 | + "@intlify/shared" "9.0.0-rc.8" | |
9059 | 9010 | "@vue/devtools-api" "^6.0.0-beta.5" |
9060 | 9011 | |
9061 | 9012 | vue-router@^4.0.4: |
... | ... | @@ -9077,7 +9028,7 @@ vue-types@^3.0.2: |
9077 | 9028 | dependencies: |
9078 | 9029 | is-plain-object "3.0.1" |
9079 | 9030 | |
9080 | -vue@^3.0.0: | |
9031 | +vue@3.0.5, vue@^3.0.0: | |
9081 | 9032 | version "3.0.5" |
9082 | 9033 | resolved "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz#de1b82eba24abfe71e0970fc9b8d4b2babdc3fe1" |
9083 | 9034 | integrity sha512-TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg== |
... | ... | @@ -9086,15 +9037,6 @@ vue@^3.0.0: |
9086 | 9037 | "@vue/runtime-dom" "3.0.5" |
9087 | 9038 | "@vue/shared" "3.0.5" |
9088 | 9039 | |
9089 | -vue@^3.0.6: | |
9090 | - version "3.0.6" | |
9091 | - resolved "https://registry.npmjs.org/vue/-/vue-3.0.6.tgz#2c16ed4bb66f16d6c6f6eaa3b7d5835a76598049" | |
9092 | - integrity sha512-fgjbe/+f1EsqG7ZbaFSnxdzQXF2DKoFCdJlPxZZJy9XMtyXS6SY8pGzLi8WYb4zmsPLHvTZz4bHW30kFDk7vfA== | |
9093 | - dependencies: | |
9094 | - "@vue/compiler-dom" "3.0.6" | |
9095 | - "@vue/runtime-dom" "3.0.6" | |
9096 | - "@vue/shared" "3.0.6" | |
9097 | - | |
9098 | 9040 | vuex-module-decorators@^1.0.1: |
9099 | 9041 | version "1.0.1" |
9100 | 9042 | resolved "https://registry.npmjs.org/vuex-module-decorators/-/vuex-module-decorators-1.0.1.tgz#d34dafb5428a3636f1c26d3d014c15fc9659ccd0" | ... | ... |