From c47936d5fb7b162ace319e6f828a3af9180c4613 Mon Sep 17 00:00:00 2001 From: Wisdom Date: Thu, 18 Apr 2024 10:22:13 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=AD=20chore:=20eslint=20v9=20upgrade?= =?UTF-8?q?=20(#56)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 7 - .eslintrc.cjs | 115 --- README.md | 3 +- eslint.config.js | 328 ++++++ package.json | 37 +- pnpm-lock.yaml | 953 +++++++++--------- src/App.vue | 2 +- src/components/SearchSelect/index.vue | 2 +- src/mixins/RulesForm.vue | 6 +- .../components/CreateProjectForm.vue | 6 +- .../HomeFront/components/QuickStart.vue | 9 +- .../HomeFront/components/TechStack.vue | 1 - src/modules/HomeFront/data/index.ts | 7 +- .../HomeFront/pages/dashboard-console.vue | 4 +- src/modules/HomeFront/pages/index.vue | 2 +- src/modules/HomeFront/pages/overview.vue | 2 - .../MemberTeam/components/AvatarUpload.vue | 4 +- .../components/MemberAssignCard.vue | 6 +- .../MemberTeam/components/MemberEditor.vue | 13 +- src/modules/MemberTeam/data/index.ts | 6 +- src/modules/MemberTeam/pages/index.vue | 11 +- src/modules/MemberTeam/types/index.ts | 1 - src/modules/Project/store/index.ts | 4 +- src/modules/UserAccount/store/index.ts | 4 +- src/router/frontend/constants.ts | 3 - src/store/index.ts | 4 +- src/types/index.d.ts | 6 +- src/utils/camelCase.ts | 14 +- src/utils/fileHandler.ts | 2 +- src/widgets/WorkMenu/config.ts | 11 +- src/widgets/WorkTabs/TabsOptions.vue | 1 - src/widgets/WorkTabs/store.ts | 5 +- 32 files changed, 886 insertions(+), 693 deletions(-) delete mode 100755 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 eslint.config.js diff --git a/.eslintignore b/.eslintignore deleted file mode 100755 index e388376..0000000 --- a/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -build -dist -tmp -node_modules -coverage -public -src/assets/fonts/iconfont.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 4a07899..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,115 +0,0 @@ -module.exports = { - root: true, - env: { - browser: true, - node: true, - es2021: true, - jest: true, - 'vue/setup-compiler-macros': true - }, - parser: 'vue-eslint-parser', - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:vue/vue3-recommended', - './.eslintrc-auto-import-costom.json', - './.eslintrc-auto-import.json' - ], - plugins: [ - '@typescript-eslint' - ], - parserOptions: { - ecmaVersion: 12, - sourceType: 'module', - parser: '@typescript-eslint/parser' - }, - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-unused-vars': 1, - 'no-undef': 1, - // https://eslint.org/docs/rules/no-var - 'no-var': 'error', - // https://cn.eslint.org/docs/rules/no-trailing-spaces - 'no-trailing-spaces': 2, // 禁用行尾空白 - 'comma-style': ['error', 'last'], - 'comma-dangle': ['error', 'never'], - 'no-irregular-whitespace': 2, - 'no-multi-spaces': 1, - 'no-multiple-empty-lines': [ - 2, - { - max: 3 - } - ], - // https://cn.eslint.org/docs/rules/eol-last - 'eol-last': 2, - quotes: [ - 'error', - 'single', - { - avoidEscape: true, - allowTemplateLiterals: true - } - ], - // https://eslint.org/docs/rules/prefer-const - 'prefer-const': 2, - camelcase: ['off', { properties: 'never' }], - // https://github.com/eslint/eslint/issues/13956 - '@typescript-eslint/indent': ['error', 2, { SwitchCase: 1 }], - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-unused-vars': 1, - '@typescript-eslint/no-namespace': [ - 'off' - ], - '@typescript-eslint/member-delimiter-style': [ - 'error', - { - multiline: { - delimiter: 'none', - requireLast: false - }, - singleline: { - delimiter: 'semi', - requireLast: true - } - } - ], - '@typescript-eslint/no-empty-function': 0, - '@typescript-eslint/no-non-null-assertion': 0, - // semi: ['error', 'never'], - '@typescript-eslint/semi': ['error', 'never'], - // vue - 'vue/no-v-html': 'off', - 'vue/multi-word-component-names': 0, - 'vue/singleline-html-element-content-newline': 'off', - 'vue/multiline-html-element-content-newline': ['warn', { - 'allowEmptyLines': true - }], - 'vue/require-default-prop': 'off', - 'vue/html-closing-bracket-spacing': 'error', - 'vue/no-unused-components': 1, - 'vue/no-mutating-props': 0, - 'vue/v-on-event-hyphenation': ['warn', 'always', { - autofix: true - }], - 'vue/script-setup-uses-vars': 'error', - 'vue/html-self-closing': ['error', { - html: { - void: 'never', - normal: 'never', - component: 'always' - }, - svg: 'always', - math: 'always' - }] - }, - // https://github.com/vuejs/eslint-plugin-vue/issues/1355 - 'overrides': [ - { - 'files': ['*.html'], - 'processor': 'vue/.vue' - } - ] -} diff --git a/README.md b/README.md index b03c91d..985903a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## 简介 -🗂️ 一个基于 Vite5 + Vue3 + Naive UI + TS 的 Tab 切换选项卡演示项目,其内部抽象出了一个**比较贴近实战**的**项目管理系统**的业务场景,虽不涉及特别复杂的业务逻辑但也不失灵活,旨在更好地理解和展示如何使用 Tab 标签页组件,项目基于原子化 UnoCSS 框架配置主题,还自带一个模块化的组件开发环境,使页面组件、路由组件、状态管理和样式等模块可以根据 Modules 目录进行解耦,它是一个开箱即用的解决方案,也适合作为快速开发中后台前端,可用于学习和参考 +🗂️ 一个基于 Vite5 + Vue3 + Naive UI + TS + ESLint(v9) 的 Tab 切换选项卡演示项目,其内部抽象出了一个**比较贴近实战**的**项目管理系统**的业务场景,虽不涉及特别复杂的业务逻辑但也不失灵活,旨在更好地理解和展示如何使用 Tab 标签页组件,项目基于原子化 UnoCSS 框架配置主题,还自带一个模块化的组件开发环境,使页面组件、路由组件、状态管理和样式等模块可以根据 Modules 目录进行解耦,它是一个开箱即用的解决方案,也适合作为快速开发中后台前端,可用于学习和参考 __[🌈 Live Demo 在线体验](https://pdsuwwz.github.io/vue3-tab-demo)__ @@ -20,6 +20,7 @@ __[🌈 Live Demo 在线体验](https://pdsuwwz.github.io/vue3-tab-demo)__ * Vite 5.x * Pinia 2.x * TypeScript 5.x +* ESLint 9.x * VueUse * Unplugin + UnoCSS diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..867f7b7 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,328 @@ +// import antfu from '@antfu/eslint-config' +// export default antfu() + +import globals from 'globals' +import { defineFlatConfig } from 'eslint-define-config'; + +import * as parserTypeScript from '@typescript-eslint/parser'; +import pluginTypeScript from '@typescript-eslint/eslint-plugin'; + +import * as parserVue from 'vue-eslint-parser'; +import pluginVue from 'eslint-plugin-vue'; +import js from '@eslint/js'; + +function renameRules(rules, map) { + return Object.fromEntries( + Object.entries(rules).map(([key, value]) => { + for (const [from, to] of Object.entries(map)) { + if (key.startsWith(`${from}/`)) + return [to + key.slice(from.length), value]; + } + return [key, value]; + }) + ); +} + +export default defineFlatConfig([ + { + ...js.configs.recommended, + ignores: ['public', 'build', 'dist', 'node_modules', 'coverage', 'src/assets/**'], + languageOptions: { + ecmaVersion: 2022, + globals: { + document: 'readonly', + navigator: 'readonly', + window: 'readonly', + ...globals.node, + ...globals.es2021, + ...globals.browser + }, + parserOptions: { + ecmaFeatures: { + jsx: true + }, + ecmaVersion: 2022, + sourceType: 'module' + }, + sourceType: 'module' + }, + rules: { + 'accessor-pairs': ['error', { enforceForClassMembers: true, setWithoutGet: true }], + 'array-callback-return': 'error', + 'block-scoped-var': 'error', + 'comma-spacing': ['error', { after: true, before: false }], + 'constructor-super': 'error', + 'default-case-last': 'error', + 'dot-notation': ['error', { allowKeywords: true }], + 'eqeqeq': ['error', 'smart'], + 'new-cap': ['error', { capIsNew: false, newIsCap: true, properties: true }], + 'no-alert': 'error', + 'no-array-constructor': 'error', + 'no-async-promise-executor': 'error', + 'no-caller': 'error', + 'no-case-declarations': 'error', + 'no-class-assign': 'error', + 'no-compare-neg-zero': 'error', + 'no-cond-assign': ['error', 'always'], + 'no-console': ['error', { allow: ['log', 'warn', 'error'] }], + 'no-const-assign': 'error', + 'no-control-regex': 'error', + 'no-debugger': 'error', + 'no-delete-var': 'error', + 'no-dupe-args': 'error', + 'no-dupe-class-members': 'error', + 'no-dupe-keys': 'error', + 'no-duplicate-case': 'error', + 'no-empty': ['error', { allowEmptyCatch: true }], + 'no-empty-character-class': 'error', + 'no-empty-pattern': 'error', + 'no-eval': 'error', + 'no-ex-assign': 'error', + 'no-extend-native': 'error', + 'no-extra-bind': 'error', + 'no-extra-boolean-cast': 'error', + 'no-fallthrough': 'error', + 'no-func-assign': 'error', + 'no-global-assign': 'error', + 'no-implied-eval': 'error', + 'no-import-assign': 'error', + 'no-invalid-regexp': 'error', + 'no-irregular-whitespace': 'error', + 'no-iterator': 'error', + 'no-labels': ['error', { allowLoop: false, allowSwitch: false }], + 'no-lone-blocks': 'error', + 'no-loss-of-precision': 'error', + 'no-misleading-character-class': 'error', + 'no-multi-str': 'error', + 'no-new': 'error', + 'no-new-func': 'error', + 'no-new-native-nonconstructor': 'error', + 'no-new-wrappers': 'error', + 'no-obj-calls': 'error', + 'no-octal': 'error', + 'no-octal-escape': 'error', + 'no-proto': 'error', + 'no-prototype-builtins': 'error', + 'no-redeclare': ['error', { builtinGlobals: false }], + 'no-regex-spaces': 'error', + 'no-restricted-globals': [ + 'error', + { message: 'Use `globalThis` instead.', name: 'global' }, + { message: 'Use `globalThis` instead.', name: 'self' } + ], + 'no-restricted-properties': [ + 'error', + { message: 'Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.', property: '__proto__' }, + { message: 'Use `Object.defineProperty` instead.', property: '__defineGetter__' }, + { message: 'Use `Object.defineProperty` instead.', property: '__defineSetter__' }, + { message: 'Use `Object.getOwnPropertyDescriptor` instead.', property: '__lookupGetter__' }, + { message: 'Use `Object.getOwnPropertyDescriptor` instead.', property: '__lookupSetter__' } + ], + 'no-restricted-syntax': [ + 'error', + 'DebuggerStatement', + 'LabeledStatement', + 'WithStatement', + 'TSEnumDeclaration[const=true]', + 'TSExportAssignment' + ], + 'no-self-assign': ['error', { props: true }], + 'no-self-compare': 'error', + 'no-sequences': 'error', + 'no-shadow-restricted-names': 'error', + 'no-sparse-arrays': 'error', + 'no-template-curly-in-string': 'error', + 'no-this-before-super': 'error', + 'no-throw-literal': 'error', + 'no-undef': 'error', + 'no-undef-init': 'error', + 'no-unexpected-multiline': 'error', + 'no-unmodified-loop-condition': 'error', + 'no-unneeded-ternary': ['error', { defaultAssignment: false }], + 'no-unreachable': 'error', + 'no-unreachable-loop': 'error', + 'no-unsafe-finally': 'error', + 'no-unsafe-negation': 'error', + 'no-unused-expressions': ['error', { + allowShortCircuit: true, + allowTaggedTemplates: true, + allowTernary: true + }], + 'no-unused-vars': ['error', { + args: 'none', + caughtErrors: 'none', + ignoreRestSiblings: true, + vars: 'all' + }], + 'no-use-before-define': ['error', { classes: false, functions: false, variables: true }], + 'no-useless-backreference': 'error', + 'no-useless-call': 'error', + 'no-useless-catch': 'error', + 'no-useless-computed-key': 'error', + 'no-useless-constructor': 'error', + 'no-useless-rename': 'error', + 'no-useless-return': 'error', + 'no-var': 'error', + 'no-with': 'error', + 'object-shorthand': [ + 'error', + 'always', + { + avoidQuotes: true, + ignoreConstructors: false + } + ], + 'one-var': ['error', { initialized: 'never' }], + 'prefer-arrow-callback': [ + 'error', + { + allowNamedFunctions: false, + allowUnboundThis: true + } + ], + 'prefer-const': [ + 'error', + { + destructuring: 'all', + ignoreReadBeforeAssign: true + } + ], + 'prefer-exponentiation-operator': 'error', + 'prefer-promise-reject-errors': 'error', + 'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }], + 'prefer-rest-params': 'error', + 'prefer-spread': 'error', + 'prefer-template': 'error', + 'sort-imports': [ + 'error', + { + allowSeparatedGroups: false, + ignoreCase: false, + ignoreDeclarationSort: true, + ignoreMemberSort: false, + memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'] + } + ], + + // https://cn.eslint.org/docs/rules/no-trailing-spaces + 'no-trailing-spaces': 2, // 禁用行尾空白 + 'comma-style': ['error', 'last'], + 'comma-dangle': ['error', 'never'], + 'no-multi-spaces': 1, + 'no-multiple-empty-lines': [ + 2, + { + max: 2 + } + ], + // https://cn.eslint.org/docs/rules/eol-last + 'eol-last': 2, + 'quotes': [ + 'error', + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true + } + ] + } + }, + { + files: ['**/*.vue', '**/*.?([cm])ts', '**/*.?([cm])tsx'], + languageOptions: { + parser: parserTypeScript, + parserOptions: { + ecmaVersion: 2022, + sourceType: 'module', + ecmaFeatures: { + jsx: true + } + } + }, + plugins: { + '@typescript-eslint': pluginTypeScript + }, + rules: { + ...renameRules( + pluginTypeScript.configs['eslint-recommended'].overrides[0].rules, + { '@typescript-eslint': 'ts' } + ), + ...pluginTypeScript.configs.recommended.rules, + '@typescript-eslint/indent': ['error', 2, { SwitchCase: 1 }], + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': 1, + '@typescript-eslint/member-delimiter-style': [ + 'error', + { + multiline: { + delimiter: 'none', + requireLast: false + }, + singleline: { + delimiter: 'semi', + requireLast: true + } + } + ], + '@typescript-eslint/no-empty-function': 0, + '@typescript-eslint/no-non-null-assertion': 0, + '@typescript-eslint/semi': ['error', 'never'] + } + }, + { + files: ['*.d.ts'], + rules: { + 'eslint-comments/no-unlimited-disable': 'off', + 'import/no-duplicates': 'off', + 'unused-imports/no-unused-vars': 'off' + } + }, + + { + files: ['**/*.vue'], + languageOptions: { + parser: parserVue, + parserOptions: { + parser: parserTypeScript, + ecmaVersion: 2022, + sourceType: 'module', + jsxPragma: 'React', + ecmaFeatures: { + jsx: true + }, + extraFileExtensions: ['.vue'] + } + }, + plugins: { + vue: pluginVue + }, + processor: pluginVue.processors['.vue'], + rules: { + ...pluginVue.configs.base.rules, + ...pluginVue.configs['vue3-essential'].rules, + ...pluginVue.configs['vue3-strongly-recommended'].rules, + ...pluginVue.configs['vue3-recommended'].rules, + 'vue/no-v-html': 'off', + 'vue/multi-word-component-names': 0, + 'vue/singleline-html-element-content-newline': 'off', + 'vue/require-default-prop': 'off', + 'vue/html-closing-bracket-spacing': 'error', + 'vue/no-unused-components': 1, + 'vue/no-mutating-props': 0, + 'vue/v-on-event-hyphenation': ['warn', 'always', { + autofix: true + }], + 'vue/script-setup-uses-vars': 'error', + 'vue/html-self-closing': ['error', { + html: { + void: 'never', + normal: 'never', + component: 'always' + }, + svg: 'always', + math: 'always' + }] + } + } +]); diff --git a/package.json b/package.json index b2f4eee..0f922d3 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "build": "vite build", "deploy:gh-pages": "cross-env VITE_ROUTER_MODE=hash pnpm build", "preview": "vite preview --host", - "lint": "eslint ./src --ext .js,.ts,.jsx,.tsx,.vue", - "lint:fix": "eslint --fix --cache --ext .js,.ts,.jsx,.tsx,.vue ./src", + "lint": "eslint ./src", + "lint:fix": "eslint --fix ./src", "test": "vitest", "test:coverage": "vitest run --coverage", "stylelint": "stylelint .scss, .vue ./src", @@ -71,47 +71,50 @@ "nprogress": "^0.2.0", "pinia": "^2.1.7", "uuid": "^9.0.1", - "vue": "^3.4.21", - "vue-router": "^4.3.0" + "vue": "^3.4.23", + "vue-router": "^4.3.1" }, "devDependencies": { "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", + "@eslint/js": "^9.0.0", "@types/js-cookie": "^3.0.6", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.12.5", + "@types/node": "^20.12.7", "@types/nprogress": "^0.2.3", - "@typescript-eslint/eslint-plugin": "^7.5.0", - "@typescript-eslint/parser": "^7.5.0", + "@typescript-eslint/eslint-plugin": "^7.7.0", + "@typescript-eslint/parser": "^7.7.0", "@vitejs/plugin-vue": "^5.0.4", - "@vitest/coverage-v8": "^1.4.0", - "@vue/compiler-sfc": "^3.4.21", + "@vitest/coverage-v8": "^1.5.0", + "@vue/compiler-sfc": "^3.4.23", "@vue/test-utils": "2.4.5", "babel-plugin-transform-vite-meta-env": "^1.0.3", "cross-env": "^7.0.3", "eslint": "^9.0.0", - "eslint-plugin-html": "8.0.0", + "eslint-define-config": "^2.1.0", + "eslint-plugin-html": "8.1.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-vue": "^9.24.0", + "eslint-plugin-vue": "^9.25.0", + "globals": "^15.0.0", "identity-obj-proxy": "^3.0.0", "jsdom": "^24.0.0", "postcss": "^8.4.38", "postcss-html": "^1.6.0", "postcss-scss": "^4.0.9", - "rollup": "^4.14.0", - "sass": "^1.74.1", + "rollup": "^4.14.3", + "sass": "^1.75.0", "stylelint": "^16.3.1", "stylelint-config-recommended-scss": "14.0.0", "stylelint-config-recommended-vue": "^1.5.0", "stylelint-config-standard": "^36.0.0", "stylelint-config-standard-scss": "13.1.0", "sucrase": "^3.35.0", - "typescript": "^5.4.4", - "unocss": "^0.59.0", + "typescript": "^5.4.5", + "unocss": "^0.59.3", "unplugin-auto-import": "^0.17.5", "unplugin-vue-components": "^0.26.0", - "vite": "^5.2.8", + "vite": "^5.2.9", "vite-svg-loader": "^5.1.0", - "vitest": "^1.4.0" + "vitest": "^1.5.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0dc7abb..21894f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ dependencies: version: 6.5.2 '@fortawesome/vue-fontawesome': specifier: ~3.0.6 - version: 3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.21) + version: 3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.23) '@vicons/antd': specifier: ^0.12.0 version: 0.12.0 @@ -46,10 +46,10 @@ dependencies: version: 0.12.0 '@vicons/utils': specifier: ^0.1.4 - version: 0.1.4(vue@3.4.21) + version: 0.1.4(vue@3.4.23) '@vueuse/core': specifier: ^10.9.0 - version: 10.9.0(vue@3.4.21) + version: 10.9.0(vue@3.4.23) axios: specifier: 1.6.8 version: 1.6.8 @@ -64,22 +64,22 @@ dependencies: version: 4.17.21 naive-ui: specifier: ^2.38.1 - version: 2.38.1(vue@3.4.21) + version: 2.38.1(vue@3.4.23) nprogress: specifier: ^0.2.0 version: 0.2.0 pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.4.4)(vue@3.4.21) + version: 2.1.7(typescript@5.4.5)(vue@3.4.23) uuid: specifier: ^9.0.1 version: 9.0.1 vue: - specifier: ^3.4.21 - version: 3.4.21(typescript@5.4.4) + specifier: ^3.4.23 + version: 3.4.23(typescript@5.4.5) vue-router: - specifier: ^4.3.0 - version: 4.3.0(vue@3.4.21) + specifier: ^4.3.1 + version: 4.3.1(vue@3.4.23) devDependencies: '@babel/core': @@ -88,6 +88,9 @@ devDependencies: '@babel/preset-env': specifier: ^7.24.4 version: 7.24.4(@babel/core@7.24.4) + '@eslint/js': + specifier: ^9.0.0 + version: 9.0.0 '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 @@ -95,26 +98,26 @@ devDependencies: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^20.12.7 + version: 20.12.7 '@types/nprogress': specifier: ^0.2.3 version: 0.2.3 '@typescript-eslint/eslint-plugin': - specifier: ^7.5.0 - version: 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4) + specifier: ^7.7.0 + version: 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^7.5.0 - version: 7.5.0(eslint@9.0.0)(typescript@5.4.4) + specifier: ^7.7.0 + version: 7.7.0(eslint@9.0.0)(typescript@5.4.5) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.8)(vue@3.4.21) + version: 5.0.4(vite@5.2.9)(vue@3.4.23) '@vitest/coverage-v8': - specifier: ^1.4.0 - version: 1.4.0(vitest@1.4.0) + specifier: ^1.5.0 + version: 1.5.0(vitest@1.5.0) '@vue/compiler-sfc': - specifier: ^3.4.21 - version: 3.4.21 + specifier: ^3.4.23 + version: 3.4.23 '@vue/test-utils': specifier: 2.4.5 version: 2.4.5 @@ -127,15 +130,21 @@ devDependencies: eslint: specifier: ^9.0.0 version: 9.0.0 + eslint-define-config: + specifier: ^2.1.0 + version: 2.1.0 eslint-plugin-html: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.1.0 + version: 8.1.0 eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.5.0)(eslint@9.0.0) + version: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint@9.0.0) eslint-plugin-vue: - specifier: ^9.24.0 - version: 9.24.0(eslint@9.0.0) + specifier: ^9.25.0 + version: 9.25.0(eslint@9.0.0) + globals: + specifier: ^15.0.0 + version: 15.0.0 identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -152,14 +161,14 @@ devDependencies: specifier: ^4.0.9 version: 4.0.9(postcss@8.4.38) rollup: - specifier: ^4.14.0 - version: 4.14.0 + specifier: ^4.14.3 + version: 4.14.3 sass: - specifier: ^1.74.1 - version: 1.74.1 + specifier: ^1.75.0 + version: 1.75.0 stylelint: specifier: ^16.3.1 - version: 16.3.1(typescript@5.4.4) + version: 16.3.1(typescript@5.4.5) stylelint-config-recommended-scss: specifier: 14.0.0 version: 14.0.0(postcss@8.4.38)(stylelint@16.3.1) @@ -176,26 +185,26 @@ devDependencies: specifier: ^3.35.0 version: 3.35.0 typescript: - specifier: ^5.4.4 - version: 5.4.4 + specifier: ^5.4.5 + version: 5.4.5 unocss: - specifier: ^0.59.0 - version: 0.59.0(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8) + specifier: ^0.59.3 + version: 0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9) unplugin-auto-import: specifier: ^0.17.5 - version: 0.17.5(@vueuse/core@10.9.0)(rollup@4.14.0) + version: 0.17.5(@vueuse/core@10.9.0)(rollup@4.14.3) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(rollup@4.14.0)(vue@3.4.21) + version: 0.26.0(rollup@4.14.3)(vue@3.4.23) vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@20.12.5)(sass@1.74.1) + specifier: ^5.2.9 + version: 5.2.9(@types/node@20.12.7)(sass@1.75.0) vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.21) + version: 5.1.0(vue@3.4.23) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(sass@1.74.1) + specifier: ^1.5.0 + version: 1.5.0(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0) packages: @@ -1366,7 +1375,7 @@ packages: babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4) babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4) - core-js-compat: 3.36.1 + core-js-compat: 3.37.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -1454,12 +1463,12 @@ packages: css-render: 0.15.12 dev: false - /@css-render/vue3-ssr@0.15.12(vue@3.4.21): + /@css-render/vue3-ssr@0.15.12(vue@3.4.23): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false /@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4): @@ -1786,14 +1795,14 @@ packages: '@fortawesome/fontawesome-common-types': 6.5.2 dev: false - /@fortawesome/vue-fontawesome@3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.21): + /@fortawesome/vue-fontawesome@3.0.6(@fortawesome/fontawesome-svg-core@6.5.2)(vue@3.4.23): resolution: {integrity: sha512-akrL7lTroyNpPkoHtvK2UpsMzJr6jXdHaQ0YdcwqDsB8jdwlpNHZYijpOUd9KJsARr+VB3WXY4EyObepqJ4ytQ==} peerDependencies: '@fortawesome/fontawesome-svg-core': ~1 || ~6 vue: '>= 3.0.0 < 4' dependencies: '@fortawesome/fontawesome-svg-core': 6.5.2 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false /@humanwhocodes/config-array@0.12.3: @@ -1820,8 +1829,8 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/utils@2.1.22: - resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + /@iconify/utils@2.1.23: + resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==} dependencies: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.7 @@ -1927,7 +1936,7 @@ packages: resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} dev: true - /@rollup/pluginutils@5.1.0(rollup@4.14.0): + /@rollup/pluginutils@5.1.0(rollup@4.14.3): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1939,123 +1948,131 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.14.0 + rollup: 4.14.3 dev: true - /@rollup/rollup-android-arm-eabi@4.14.0: - resolution: {integrity: sha512-jwXtxYbRt1V+CdQSy6Z+uZti7JF5irRKF8hlKfEnF/xJpcNGuuiZMBvuoYM+x9sr9iWGnzrlM0+9hvQ1kgkf1w==} + /@rollup/rollup-android-arm-eabi@4.14.3: + resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.14.0: - resolution: {integrity: sha512-fI9nduZhCccjzlsA/OuAwtFGWocxA4gqXGTLvOyiF8d+8o0fZUeSztixkYjcGq1fGZY3Tkq4yRvHPFxU+jdZ9Q==} + /@rollup/rollup-android-arm64@4.14.3: + resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.14.0: - resolution: {integrity: sha512-BcnSPRM76/cD2gQC+rQNGBN6GStBs2pl/FpweW8JYuz5J/IEa0Fr4AtrPv766DB/6b2MZ/AfSIOSGw3nEIP8SA==} + /@rollup/rollup-darwin-arm64@4.14.3: + resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.14.0: - resolution: {integrity: sha512-LDyFB9GRolGN7XI6955aFeI3wCdCUszFWumWU0deHA8VpR3nWRrjG6GtGjBrQxQKFevnUTHKCfPR4IvrW3kCgQ==} + /@rollup/rollup-darwin-x64@4.14.3: + resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.0: - resolution: {integrity: sha512-ygrGVhQP47mRh0AAD0zl6QqCbNsf0eTo+vgwkY6LunBcg0f2Jv365GXlDUECIyoXp1kKwL5WW6rsO429DBY/bA==} + /@rollup/rollup-linux-arm-gnueabihf@4.14.3: + resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.14.3: + resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.0: - resolution: {integrity: sha512-x+uJ6MAYRlHGe9wi4HQjxpaKHPM3d3JjqqCkeC5gpnnI6OWovLdXTpfa8trjxPLnWKyBsSi5kne+146GAxFt4A==} + /@rollup/rollup-linux-arm64-gnu@4.14.3: + resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.0: - resolution: {integrity: sha512-nrRw8ZTQKg6+Lttwqo6a2VxR9tOroa2m91XbdQ2sUUzHoedXlsyvY1fN4xWdqz8PKmf4orDwejxXHjh7YBGUCA==} + /@rollup/rollup-linux-arm64-musl@4.14.3: + resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.0: - resolution: {integrity: sha512-xV0d5jDb4aFu84XKr+lcUJ9y3qpIWhttO3Qev97z8DKLXR62LC3cXT/bMZXrjLF9X+P5oSmJTzAhqwUbY96PnA==} - cpu: [ppc64le] + /@rollup/rollup-linux-powerpc64le-gnu@4.14.3: + resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} + cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.0: - resolution: {integrity: sha512-SDDhBQwZX6LPRoPYjAZWyL27LbcBo7WdBFWJi5PI9RPCzU8ijzkQn7tt8NXiXRiFMJCVpkuMkBf4OxSxVMizAw==} + /@rollup/rollup-linux-riscv64-gnu@4.14.3: + resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.0: - resolution: {integrity: sha512-RxB/qez8zIDshNJDufYlTT0ZTVut5eCpAZ3bdXDU9yTxBzui3KhbGjROK2OYTTor7alM7XBhssgoO3CZ0XD3qA==} + /@rollup/rollup-linux-s390x-gnu@4.14.3: + resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.14.0: - resolution: {integrity: sha512-C6y6z2eCNCfhZxT9u+jAM2Fup89ZjiG5pIzZIDycs1IwESviLxwkQcFRGLjnDrP+PT+v5i4YFvlcfAs+LnreXg==} + /@rollup/rollup-linux-x64-gnu@4.14.3: + resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.0: - resolution: {integrity: sha512-i0QwbHYfnOMYsBEyjxcwGu5SMIi9sImDVjDg087hpzXqhBSosxkE7gyIYFHgfFl4mr7RrXksIBZ4DoLoP4FhJg==} + /@rollup/rollup-linux-x64-musl@4.14.3: + resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.0: - resolution: {integrity: sha512-Fq52EYb0riNHLBTAcL0cun+rRwyZ10S9vKzhGKKgeD+XbwunszSY0rVMco5KbOsTlwovP2rTOkiII/fQ4ih/zQ==} + /@rollup/rollup-win32-arm64-msvc@4.14.3: + resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.0: - resolution: {integrity: sha512-e/PBHxPdJ00O9p5Ui43+vixSgVf4NlLsmV6QneGERJ3lnjIua/kim6PRFe3iDueT1rQcgSkYP8ZBBXa/h4iPvw==} + /@rollup/rollup-win32-ia32-msvc@4.14.3: + resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.0: - resolution: {integrity: sha512-aGg7iToJjdklmxlUlJh/PaPNa4PmqHfyRMLunbL3eaMO0gp656+q1zOKkpJ/CVe9CryJv6tAN1HDoR8cNGzkag==} + /@rollup/rollup-win32-x64-msvc@4.14.3: + resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} cpu: [x64] os: [win32] requiresBuild: true @@ -2104,10 +2121,6 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - /@types/js-cookie@3.0.6: resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} dev: true @@ -2136,8 +2149,8 @@ packages: resolution: {integrity: sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==} dev: false - /@types/node@20.12.5: - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 dev: true @@ -2153,8 +2166,8 @@ packages: /@types/web-bluetooth@0.0.20: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} + /@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0)(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -2165,25 +2178,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/type-utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 eslint: 9.0.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} + /@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2192,27 +2205,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 eslint: 9.0.0 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@7.5.0: - resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} + /@typescript-eslint/scope-manager@7.7.0: + resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 dev: true - /@typescript-eslint/type-utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} + /@typescript-eslint/type-utils@7.7.0(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2221,23 +2234,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 eslint: 9.0.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@7.5.0: - resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} + /@typescript-eslint/types@7.7.0: + resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): - resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} + /@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.5): + resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -2245,21 +2258,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} + /@typescript-eslint/utils@7.7.0(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2267,9 +2280,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: @@ -2277,224 +2290,224 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@7.5.0: - resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} + /@typescript-eslint/visitor-keys@7.7.0: + resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/types': 7.7.0 eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.59.0(rollup@4.14.0)(vite@5.2.8): - resolution: {integrity: sha512-1M1OeYO7rthZ8z5Xokb0hE89rXk9AIvELDMRJl0TxYJ8xwK824S2LxpyK52i2g3+S2XmJaQMFoRvfLdCNK+dMw==} + /@unocss/astro@0.59.3(rollup@4.14.3)(vite@5.2.9): + resolution: {integrity: sha512-Q0eL9LLWTORWQYZYz4aoiT0SQhXqrCYJKK6+Z++d5ugsnVsRP2O/ovxf+0CueMHe6volW0O2EhgUt0yT20FdAA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.59.0 - '@unocss/reset': 0.59.0 - '@unocss/vite': 0.59.0(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) + '@unocss/core': 0.59.3 + '@unocss/reset': 0.59.3 + '@unocss/vite': 0.59.3(rollup@4.14.3)(vite@5.2.9) + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.59.0(rollup@4.14.0): - resolution: {integrity: sha512-2aWSFJ1SCxJBjRAsRog7JvVFfnB4Dps+ol0IFQw99nxaQx8YNiGKN8/bZjkajr0Leo77eAhKoxh2+LjIjrkr6Q==} + /@unocss/cli@0.59.3(rollup@4.14.3): + resolution: {integrity: sha512-BkDkNZYVJrTRWxtTUPxq3TvbaBJ5r5zy82csCv+RJbNmQLJaqBy7gt0qkLJ9H4C83HNgqOuYEupVM65Ts3g0MA==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - '@unocss/config': 0.59.0 - '@unocss/core': 0.59.0 - '@unocss/preset-uno': 0.59.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@unocss/config': 0.59.3 + '@unocss/core': 0.59.3 + '@unocss/preset-uno': 0.59.3 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 perfect-debounce: 1.0.0 transitivePeerDependencies: - rollup dev: true - /@unocss/config@0.59.0: - resolution: {integrity: sha512-uBsLXmT8Dap6YRHSdlsVLYev8L6JVK6vUFcVCe0w7B74TC+GceE13lNOG3Zhz1EVfHaOrUEcYFthDILUkjBR3Q==} + /@unocss/config@0.59.3: + resolution: {integrity: sha512-40xSskRsPrIDIspE1mVRBW03cGdgwpxCpXltj0xZ3fSutj1L6mcQnswd0AzCdnRyYo623zfuPO1jskvTYuAiMw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.59.0 - unconfig: 0.3.12 + '@unocss/core': 0.59.3 + unconfig: 0.3.13 dev: true - /@unocss/core@0.59.0: - resolution: {integrity: sha512-9tXL6TV4FRpmFy70dHryA5NHsS7bV/x771LOPnZyiw+TRK4oGVk96IsATOflcn7L3FbXQY1mV+8Uzhkhx2PY0A==} + /@unocss/core@0.59.3: + resolution: {integrity: sha512-G9+1pmQB65KnGj2tvshcMGYs1aqiaw9FWb8cxMRLvQyquuOU/JdULD9vuuchXQ+DLYPTZ4vgDmMJefBJT6JDVw==} dev: true - /@unocss/extractor-arbitrary-variants@0.59.0: - resolution: {integrity: sha512-KYprrpJXgdoJZa4iVejW9uqht4W712Ra0x1gvznPW0BupIPF7vEyNAGvPTnB2y5Wb6OjNMiPbGnqL7BfBoxYSQ==} + /@unocss/extractor-arbitrary-variants@0.59.3: + resolution: {integrity: sha512-f0G6bhgqCIIx7KjfhOVpJvJF0fpAhfai3fRYgEcxRrDrf5kpK+CqYxphqBqphBzugiY3YOrYlx7ccPIdypsXQw==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/inspector@0.59.0: - resolution: {integrity: sha512-4xmc6HuAU12ED6SuGNr8QaKOHgskKGdLhKDHCQqFgYHw8gZoiBhmLcV4jP3Ef34JeWgQYbJ1cHQcYiHFXBmppQ==} + /@unocss/inspector@0.59.3: + resolution: {integrity: sha512-f33kQnLnfQSZTecSPe/spOJDNRQYX9DMbXywgMHi8IFu1qaE8dMRloQUWvUPD9sNQ1iR7kEhRtmOT9CQx9vJag==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/rule-utils': 0.59.3 gzip-size: 6.0.0 sirv: 2.0.4 dev: true - /@unocss/postcss@0.59.0(postcss@8.4.38): - resolution: {integrity: sha512-1+kb6x+5cT5WiokBF8s3NgO1HxaF86vrPx3VAeOMSHTUNhzNvb72e6HBLRUp1Qu6kxbCLDixFpBtNZyH5ueoog==} + /@unocss/postcss@0.59.3(postcss@8.4.38): + resolution: {integrity: sha512-lyRO8jHDYdAwL/pEdU6uSDfp/pps8pwYQfIh7OZN1BRASPv/ik7HVbRW4bsiMDaBHaxGkrvWATLXQ/W+iBkslw==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 dependencies: - '@unocss/config': 0.59.0 - '@unocss/core': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/config': 0.59.3 + '@unocss/core': 0.59.3 + '@unocss/rule-utils': 0.59.3 css-tree: 2.3.1 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 postcss: 8.4.38 dev: true - /@unocss/preset-attributify@0.59.0: - resolution: {integrity: sha512-jh1hXJQIygvagDwRuWX5pz3a8/PJGgMimzU6v6yWByOfvGIrLoxUFdJCc9IsvP6K9GUUqSBIyJDPx9364yysgQ==} + /@unocss/preset-attributify@0.59.3: + resolution: {integrity: sha512-WwfMNce44CtOve5H9iUjFYR+c/PjLoFsVztAF9Y2qWzllBK91SSXAA3nHylqpQnf8I+UBdO0TrSV58VyA3kLLg==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/preset-icons@0.59.0: - resolution: {integrity: sha512-P0tH0ueZYprU1XGVAJl3nDC9uhPBJ43bnsV098uebBa8G650j7W5kslvSfV3XxG+/iujo2k2EGKxja9/uR4E0g==} + /@unocss/preset-icons@0.59.3: + resolution: {integrity: sha512-dY752nMzluvLR7SpWnNWEdppqezje4HRVMfPw1nSnPb6bnra7rippdaQNM9YXNa5xGmrtq4U2xDhgs9yHY1QGA==} dependencies: - '@iconify/utils': 2.1.22 - '@unocss/core': 0.59.0 + '@iconify/utils': 2.1.23 + '@unocss/core': 0.59.3 ofetch: 1.3.4 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.59.0: - resolution: {integrity: sha512-UQ4+JyHHbtpfW6XyC1bsnoJx4MMCJKo+Y1n+5fYo9WRkVzZ7IkcZBeHG2wkNWH8TLBmzjZNvyUYEAi5lntDW1A==} + /@unocss/preset-mini@0.59.3: + resolution: {integrity: sha512-cUUNgTh73LmpLU88Ozz1nqXzhN9/8wnJidlkvMYvcbhg0zwr/quPGesRoy0+8W6cD0qvBfJAMnE//yzwR2gjpw==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/extractor-arbitrary-variants': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/extractor-arbitrary-variants': 0.59.3 + '@unocss/rule-utils': 0.59.3 dev: true - /@unocss/preset-tagify@0.59.0: - resolution: {integrity: sha512-JsVGUmSusHR6BLacxuGOf0XOqtAzBaoas15RvTklmj0eOzh5ClhsqP9C7guENyCMqmCgg0xz/22u4F9hujP6kg==} + /@unocss/preset-tagify@0.59.3: + resolution: {integrity: sha512-15SJ1zJSuwByxIxLNPX/MSqGpGe3dsObawkl7ducYSVkEK/+a893aGSmbeNsrti4qFe028Im5cYUOdJg/1XiCA==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/preset-typography@0.59.0: - resolution: {integrity: sha512-HADPOJMeQM2O7eZuGBzKKMKTJw9wdWfJImftFAYC9+p42Kg8FNuLg9E10oZjejS8VDSxzcv9HKuyTXYvvDgAmg==} + /@unocss/preset-typography@0.59.3: + resolution: {integrity: sha512-Lh4QWBmy70+9jE811okuJquyq04b96V6s8T2jc8FDadT6LLHnAwck0Zg+o283JB7JTP4Tv956yVy9HYR3igYUQ==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/preset-mini': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/preset-mini': 0.59.3 dev: true - /@unocss/preset-uno@0.59.0: - resolution: {integrity: sha512-pNiyWZuByCq8hB14ITaJVtjFu02OYOce/I4dbKQ+SEWd1L3t6miplpKzsE+dptqH0iT33EWfQeXs6fkfjH+EZA==} + /@unocss/preset-uno@0.59.3: + resolution: {integrity: sha512-YDmHW1LDnyzb8eR7F/an7rk1Euit+YIxfAH7PkxNNdGX1+552DK8dKcJMtVdvmfGMChCbLJeyN8oYRat8m245w==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/preset-mini': 0.59.0 - '@unocss/preset-wind': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/preset-mini': 0.59.3 + '@unocss/preset-wind': 0.59.3 + '@unocss/rule-utils': 0.59.3 dev: true - /@unocss/preset-web-fonts@0.59.0: - resolution: {integrity: sha512-LH2BnYmxeVUqX3A4+bEX/EljV/82n5XHDwPk0VI3bJ9GWxnhTxkmagIXldmPFqVs8tIAYSDJbY31MGXR9WnqMA==} + /@unocss/preset-web-fonts@0.59.3: + resolution: {integrity: sha512-pq29j+FkmY9OoQItypekOFKMEfN+9Vfv310thbHJ4tu/pD0X+KUvWya9hc2AOzY+5Dg79Ws/p2B5gZIZ9hY2aA==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 ofetch: 1.3.4 dev: true - /@unocss/preset-wind@0.59.0: - resolution: {integrity: sha512-HazRIJDZ5/TZCZ3zC2KAd45UvmizPQi2uF7V3ZUqXQRGtrmZN24RsJkZNa4a3LiY2U0fEhHA7Pm6zPGx/nyeJg==} + /@unocss/preset-wind@0.59.3: + resolution: {integrity: sha512-yODaBxsZOGmEcxUcNu2g8J2ffya8B2YpZQmqN/Ock13QgwREEumn3oqCLIrkGkYN6Q/SELBS6C66RL1GFjjtqA==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/preset-mini': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/preset-mini': 0.59.3 + '@unocss/rule-utils': 0.59.3 dev: true - /@unocss/reset@0.59.0: - resolution: {integrity: sha512-9f5DYoaqzlaFz2fAzAJOXWZ41Qmgg4u9WdzMQ7SYALeEq61khScaSrf8osNTKFZuRLKPWYwX6JErzdAkfIH/6A==} + /@unocss/reset@0.59.3: + resolution: {integrity: sha512-4m2p/TcOamf17w4b8w6YIx9p1VP3BPiMQ4WUx2FvsgQz7G3/w+FJEEQ0xoc2FIJ0UBggr9UJmrs2Y7SQ9Gmukg==} dev: true - /@unocss/rule-utils@0.59.0: - resolution: {integrity: sha512-PDGAcyBFXqB7GHhKGRfajoiepL4A9SM4pyulMMT328H0uHEbwrB+niCVE/hubP2rCOGrrq7JH0nR4ftaC6m8Ow==} + /@unocss/rule-utils@0.59.3: + resolution: {integrity: sha512-8FxGnnjvhYvit0L2wqIGOMSYBHKLoivpbwClgRSWTEpoxeJxgbULZO36VJ84Qe4rXtdUF7ZPB76k6SWLycsoLA==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.59.0 - magic-string: 0.30.9 + '@unocss/core': 0.59.3 + magic-string: 0.30.10 dev: true - /@unocss/scope@0.59.0: - resolution: {integrity: sha512-6rPic8ed4MlFz9nkPL2GxfkmTEwuu8sAxODEDRB5ws2/JzEiZHFrBd7O/p/OJHvwiizmNJ1Y6i65LAxky3RNSg==} + /@unocss/scope@0.59.3: + resolution: {integrity: sha512-YHEtKLsgSNKzES8yiqef9qFJU1sXEGEUPKyw/Jt9WNIhNyDHJuJsPNhlkR6I3VTViu7jFknbK2dnLLHkp+LdNQ==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.59.0: - resolution: {integrity: sha512-Q0jllcvNE5WkT3vfKlWl6ALtg6PYm3Pd8F2va4PL9x6LvI0KzPz8wA022z+UqX0lMR84bnfdGN3751zWJecLPg==} + /@unocss/transformer-attributify-jsx-babel@0.59.3: + resolution: {integrity: sha512-LH+PPnRJ3ex7ZAI2zmALo0xPU0TEsJV0upsbeA8yx4xjmdka2iwlSKCw5XZtIxVHUvbC+75myeMLSDK51oMxTw==} dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 transitivePeerDependencies: - supports-color dev: true - /@unocss/transformer-attributify-jsx@0.59.0: - resolution: {integrity: sha512-4EoADTT/7H4Cmid11y5HZ4Bgc37qxAPcb1W0DBvXZJT1gh7N+4UFmR6s6s+N15IBUX7QKArUKh/U7ZwL9XZPMQ==} + /@unocss/transformer-attributify-jsx@0.59.3: + resolution: {integrity: sha512-XTBZV2UfOKrAKxEsy34tty5wh38//sDtA/OXztMTpkrP+eJwtVfUPez/ZKADOO+8rcQXSt9eaF4bDzn5kbBEKA==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/transformer-compile-class@0.59.0: - resolution: {integrity: sha512-9GXyPl/aYxCoHJbD6u6iVrCcyiy4kBUZlgoOqySUZfFCPhslPPyPUsksZSRebRuA4ys2/XSi6cRVhtAZfAdjBw==} + /@unocss/transformer-compile-class@0.59.3: + resolution: {integrity: sha512-kaem8PdLiKx6fU8cOUurbD8/BV1qJC3yoc5jptQ7QjqPzl+zFHABwt9wpOQXmgOQsiZc1wilSBQ5HO0139jXpg==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/transformer-directives@0.59.0: - resolution: {integrity: sha512-YHwUw5ByUlY8v3/85q8qdoOUnPKsiQokEM2u8BxOZ8HFoMYb5xjCNjY0I85unvRaKhh1tnrZWG+tq1510RSpHQ==} + /@unocss/transformer-directives@0.59.3: + resolution: {integrity: sha512-Bu2uK4+CIFurOYrFl/Gw03p075d3ATVmLrbM8sBDNfOYfiVWrrizO9J1HfN9/Yu9l3KVPXRfqxOvOWBBl3Jjbg==} dependencies: - '@unocss/core': 0.59.0 - '@unocss/rule-utils': 0.59.0 + '@unocss/core': 0.59.3 + '@unocss/rule-utils': 0.59.3 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.59.0: - resolution: {integrity: sha512-tjzWaMusoGy1uFEZuuzu04SOIooG2RkeX2wtlQpr2hM2Kl8ZG4QW+8nxClwLiLkarurBeFtTNXCn5jjL9MVg3g==} + /@unocss/transformer-variant-group@0.59.3: + resolution: {integrity: sha512-n0AIY8GFpAxi/xd0RG49xKzRajZaiAmvD0b6WPOoEsB6dLJF7m97G4yhlmvyM7S26LUdqdtbLuE+XajiRDMyoQ==} dependencies: - '@unocss/core': 0.59.0 + '@unocss/core': 0.59.3 dev: true - /@unocss/vite@0.59.0(rollup@4.14.0)(vite@5.2.8): - resolution: {integrity: sha512-AfVw7PWjFb/+chqbGUjy0r/yFIWAkvPFUY5p4wXyLlPpbQjKlC/96Q771paLexvIhAvcYjUCrAgZSEMnk2JrSQ==} + /@unocss/vite@0.59.3(rollup@4.14.3)(vite@5.2.9): + resolution: {integrity: sha512-+K4kSEt3BvJfYlc8Tg3nmF53i14+OUTIasnzwUQF4JCF+B47jd47IVbNBm2izhTA5OrmZ+1xXBjHR7cXgDjDhg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - '@unocss/config': 0.59.0 - '@unocss/core': 0.59.0 - '@unocss/inspector': 0.59.0 - '@unocss/scope': 0.59.0 - '@unocss/transformer-directives': 0.59.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@unocss/config': 0.59.3 + '@unocss/core': 0.59.3 + '@unocss/inspector': 0.59.3 + '@unocss/scope': 0.59.3 + '@unocss/transformer-directives': 0.59.3 chokidar: 3.6.0 fast-glob: 3.3.2 - magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) + magic-string: 0.30.10 + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) transitivePeerDependencies: - rollup dev: true @@ -2531,30 +2544,30 @@ packages: resolution: {integrity: sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==} dev: false - /@vicons/utils@0.1.4(vue@3.4.21): + /@vicons/utils@0.1.4(vue@3.4.23): resolution: {integrity: sha512-OHI19qVNN6i+uPQ+Y3f2s0dUxwsYnOCcKBW7XOU4yXXO1aU3ZoKpblCc3+4N0qmgoJs5rWKRAaMisipqEXJwAg==} peerDependencies: vue: ^3.0.6 dependencies: '@xicons/utils': 0.1.4 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false - /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.9)(vue@3.4.23): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) - vue: 3.4.21(typescript@5.4.4) + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) + vue: 3.4.23(typescript@5.4.5) dev: true - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} + /@vitest/coverage-v8@1.5.0(vitest@1.5.0): + resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==} peerDependencies: - vitest: 1.4.0 + vitest: 1.5.0 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -2563,50 +2576,49 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.7 - magic-string: 0.30.9 - magicast: 0.3.3 + magic-string: 0.30.10 + magicast: 0.3.4 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(sass@1.74.1) + vitest: 1.5.0(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + /@vitest/expect@1.5.0: + resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 chai: 4.4.1 dev: true - /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + /@vitest/runner@1.5.0: + resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} dependencies: - '@vitest/utils': 1.4.0 + '@vitest/utils': 1.5.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + /@vitest/snapshot@1.5.0: + resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + /@vitest/spy@1.5.0: + resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + /@vitest/utils@1.5.0: + resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -2614,88 +2626,88 @@ packages: pretty-format: 29.7.0 dev: true - /@vue/compiler-core@3.4.21: - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + /@vue/compiler-core@3.4.23: + resolution: {integrity: sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==} dependencies: '@babel/parser': 7.24.4 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.23 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - /@vue/compiler-dom@3.4.21: - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + /@vue/compiler-dom@3.4.23: + resolution: {integrity: sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==} dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.23 + '@vue/shared': 3.4.23 - /@vue/compiler-sfc@3.4.21: - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + /@vue/compiler-sfc@3.4.23: + resolution: {integrity: sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==} dependencies: '@babel/parser': 7.24.4 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.23 + '@vue/compiler-dom': 3.4.23 + '@vue/compiler-ssr': 3.4.23 + '@vue/shared': 3.4.23 estree-walker: 2.0.2 - magic-string: 0.30.9 + magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.21: - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + /@vue/compiler-ssr@3.4.23: + resolution: {integrity: sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==} dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.23 + '@vue/shared': 3.4.23 /@vue/devtools-api@6.6.1: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} dev: false - /@vue/reactivity@3.4.21: - resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + /@vue/reactivity@3.4.23: + resolution: {integrity: sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==} dependencies: - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.23 - /@vue/runtime-core@3.4.21: - resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + /@vue/runtime-core@3.4.23: + resolution: {integrity: sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==} dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/reactivity': 3.4.23 + '@vue/shared': 3.4.23 - /@vue/runtime-dom@3.4.21: - resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + /@vue/runtime-dom@3.4.23: + resolution: {integrity: sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==} dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/runtime-core': 3.4.23 + '@vue/shared': 3.4.23 csstype: 3.1.3 - /@vue/server-renderer@3.4.21(vue@3.4.21): - resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + /@vue/server-renderer@3.4.23(vue@3.4.23): + resolution: {integrity: sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.4) + '@vue/compiler-ssr': 3.4.23 + '@vue/shared': 3.4.23 + vue: 3.4.23(typescript@5.4.5) - /@vue/shared@3.4.21: - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + /@vue/shared@3.4.23: + resolution: {integrity: sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==} /@vue/test-utils@2.4.5: resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} dependencies: js-beautify: 1.15.1 - vue-component-type-helpers: 2.0.10 + vue-component-type-helpers: 2.0.13 dev: true - /@vueuse/core@10.9.0(vue@3.4.21): + /@vueuse/core@10.9.0(vue@3.4.23): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.23) + vue-demi: 0.14.7(vue@3.4.23) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2703,10 +2715,10 @@ packages: /@vueuse/metadata@10.9.0: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - /@vueuse/shared@10.9.0(vue@3.4.21): + /@vueuse/shared@10.9.0(vue@3.4.23): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.23) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2942,7 +2954,7 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) - core-js-compat: 3.36.1 + core-js-compat: 3.37.0 transitivePeerDependencies: - supports-color dev: true @@ -3007,8 +3019,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001606 - electron-to-chromium: 1.4.729 + caniuse-lite: 1.0.30001610 + electron-to-chromium: 1.4.740 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -3034,8 +3046,8 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001606: - resolution: {integrity: sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==} + /caniuse-lite@1.0.30001610: + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} dev: true /chai@4.4.1: @@ -3159,13 +3171,13 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /core-js-compat@3.36.1: - resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + /core-js-compat@3.37.0: + resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} dependencies: browserslist: 4.23.0 dev: true - /cosmiconfig@9.0.0(typescript@5.4.4): + /cosmiconfig@9.0.0(typescript@5.4.5): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -3178,7 +3190,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.4 + typescript: 5.4.5 dev: true /cross-env@7.0.3: @@ -3466,8 +3478,8 @@ packages: semver: 7.6.0 dev: true - /electron-to-chromium@1.4.729: - resolution: {integrity: sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==} + /electron-to-chromium@1.4.740: + resolution: {integrity: sha512-Yvg5i+iyv7Xm18BRdVPVm8lc7kgxM3r6iwqCH2zB7QZy1kZRNmd0Zqm0zcD9XoFREE5/5rwIuIAOT+/mzGcnZg==} dev: true /emoji-regex@8.0.0: @@ -3639,6 +3651,11 @@ packages: engines: {node: '>=12'} dev: true + /eslint-define-config@2.1.0: + resolution: {integrity: sha512-QUp6pM9pjKEVannNAbSJNeRuYwW3LshejfyBBpjeMGaJjaDUpVps4C6KVR8R7dWZnD3i0synmrE36znjTkJvdQ==} + engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>=8.6.0'} + dev: true + /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -3649,7 +3666,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.5.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -3670,7 +3687,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.5) debug: 3.2.7 eslint: 9.0.0 eslint-import-resolver-node: 0.3.9 @@ -3678,14 +3695,14 @@ packages: - supports-color dev: true - /eslint-plugin-html@8.0.0: - resolution: {integrity: sha512-NINLBAXM3mLa3k5Ezr/kNLHAJJwbot6lS7Ro+SUftDw4cA51KMmcDuCf98GP6Q6kTVPY1hIggzskxAdxfUPXSA==} + /eslint-plugin-html@8.1.0: + resolution: {integrity: sha512-5bRZQwxZew2Yo9Fa8diz2C9RmzIw9Gs4yzmmjUcpuzhdLW8aVcDtYzEHhNNdt01Z0m4AzSJNuY63RXvzStvDgA==} engines: {node: '>=16.0.0'} dependencies: htmlparser2: 9.1.0 dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0)(eslint@9.0.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0)(eslint@9.0.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -3695,7 +3712,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -3704,7 +3721,7 @@ packages: doctrine: 2.1.0 eslint: 9.0.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.5.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -3720,11 +3737,11 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.24.0(eslint@9.0.0): - resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} + /eslint-plugin-vue@9.25.0(eslint@9.0.0): + resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) eslint: 9.0.0 @@ -4132,6 +4149,11 @@ packages: engines: {node: '>=18'} dev: true + /globals@15.0.0: + resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + engines: {node: '>=18'} + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} @@ -4779,14 +4801,13 @@ packages: yallist: 4.0.0 dev: true - /magic-string@0.30.9: - resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} - engines: {node: '>=12'} + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + /magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 @@ -4867,13 +4888,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -4920,13 +4934,13 @@ packages: thenify-all: 1.6.0 dev: true - /naive-ui@2.38.1(vue@3.4.21): + /naive-ui@2.38.1(vue@3.4.23): resolution: {integrity: sha512-AnU1FQ7K/CbhguAX++V4kCFjk7h7RvWt4nvZPRjORMpq+fUIlzD+EcQ5Cv1VqDloNF8+eMv4Akc2Ogacc9S+5A==} peerDependencies: vue: ^3.0.0 dependencies: '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.23) '@types/katex': 0.16.7 '@types/lodash': 4.17.0 '@types/lodash-es': 4.17.12 @@ -4941,10 +4955,10 @@ packages: lodash-es: 4.17.21 seemly: 0.3.8 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.4.21) - vooks: 0.2.12(vue@3.4.21) - vue: 3.4.21(typescript@5.4.4) - vueuc: 0.4.58(vue@3.4.21) + vdirs: 0.1.8(vue@3.4.23) + vooks: 0.2.12(vue@3.4.23) + vue: 3.4.23(typescript@5.4.5) + vueuc: 0.4.58(vue@3.4.23) dev: false /nanoid@3.3.7: @@ -5198,7 +5212,7 @@ packages: engines: {node: '>=8.6'} dev: true - /pinia@2.1.7(typescript@5.4.4)(vue@3.4.21): + /pinia@2.1.7(typescript@5.4.5)(vue@3.4.23): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -5211,9 +5225,9 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.6.1 - typescript: 5.4.4 - vue: 3.4.21(typescript@5.4.4) - vue-demi: 0.14.7(vue@3.4.21) + typescript: 5.4.5 + vue: 3.4.23(typescript@5.4.5) + vue-demi: 0.14.7(vue@3.4.23) dev: false /pirates@4.0.6: @@ -5431,28 +5445,29 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rollup@4.14.0: - resolution: {integrity: sha512-Qe7w62TyawbDzB4yt32R0+AbIo6m1/sqO7UPzFS8Z/ksL5mrfhA0v4CavfdmFav3D+ub4QeAgsGEe84DoWe/nQ==} + /rollup@4.14.3: + resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.0 - '@rollup/rollup-android-arm64': 4.14.0 - '@rollup/rollup-darwin-arm64': 4.14.0 - '@rollup/rollup-darwin-x64': 4.14.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.0 - '@rollup/rollup-linux-arm64-gnu': 4.14.0 - '@rollup/rollup-linux-arm64-musl': 4.14.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.0 - '@rollup/rollup-linux-riscv64-gnu': 4.14.0 - '@rollup/rollup-linux-s390x-gnu': 4.14.0 - '@rollup/rollup-linux-x64-gnu': 4.14.0 - '@rollup/rollup-linux-x64-musl': 4.14.0 - '@rollup/rollup-win32-arm64-msvc': 4.14.0 - '@rollup/rollup-win32-ia32-msvc': 4.14.0 - '@rollup/rollup-win32-x64-msvc': 4.14.0 + '@rollup/rollup-android-arm-eabi': 4.14.3 + '@rollup/rollup-android-arm64': 4.14.3 + '@rollup/rollup-darwin-arm64': 4.14.3 + '@rollup/rollup-darwin-x64': 4.14.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 + '@rollup/rollup-linux-arm-musleabihf': 4.14.3 + '@rollup/rollup-linux-arm64-gnu': 4.14.3 + '@rollup/rollup-linux-arm64-musl': 4.14.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 + '@rollup/rollup-linux-riscv64-gnu': 4.14.3 + '@rollup/rollup-linux-s390x-gnu': 4.14.3 + '@rollup/rollup-linux-x64-gnu': 4.14.3 + '@rollup/rollup-linux-x64-musl': 4.14.3 + '@rollup/rollup-win32-arm64-msvc': 4.14.3 + '@rollup/rollup-win32-ia32-msvc': 4.14.3 + '@rollup/rollup-win32-x64-msvc': 4.14.3 fsevents: 2.3.3 dev: true @@ -5489,8 +5504,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass@1.74.1: - resolution: {integrity: sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==} + /sass@1.75.0: + resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -5718,7 +5733,7 @@ packages: stylelint: '>=14.0.0' dependencies: postcss-html: 1.6.0 - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) dev: true /stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.3.1): @@ -5733,7 +5748,7 @@ packages: dependencies: postcss: 8.4.38 postcss-scss: 4.0.9(postcss@8.4.38) - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) stylelint-config-recommended: 14.0.0(stylelint@16.3.1) stylelint-scss: 6.2.1(stylelint@16.3.1) dev: true @@ -5747,7 +5762,7 @@ packages: dependencies: postcss-html: 1.6.0 semver: 7.6.0 - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.3.1) stylelint-config-recommended: 14.0.0(stylelint@16.3.1) dev: true @@ -5758,7 +5773,7 @@ packages: peerDependencies: stylelint: ^16.0.0 dependencies: - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) dev: true /stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.3.1): @@ -5772,7 +5787,7 @@ packages: optional: true dependencies: postcss: 8.4.38 - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.3.1) stylelint-config-standard: 36.0.0(stylelint@16.3.1) dev: true @@ -5783,7 +5798,7 @@ packages: peerDependencies: stylelint: ^16.1.0 dependencies: - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) stylelint-config-recommended: 14.0.0(stylelint@16.3.1) dev: true @@ -5798,10 +5813,10 @@ packages: postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 - stylelint: 16.3.1(typescript@5.4.4) + stylelint: 16.3.1(typescript@5.4.5) dev: true - /stylelint@16.3.1(typescript@5.4.4): + /stylelint@16.3.1(typescript@5.4.5): resolution: {integrity: sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==} engines: {node: '>=18.12.0'} hasBin: true @@ -5813,7 +5828,7 @@ packages: '@dual-bundle/import-meta-resolve': 4.0.0 balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.4.4) + cosmiconfig: 9.0.0(typescript@5.4.5) css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 @@ -5950,12 +5965,12 @@ packages: any-promise: 1.3.0 dev: true - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + /tinybench@2.7.0: + resolution: {integrity: sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==} dev: true - /tinypool@0.8.3: - resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} dev: true @@ -6001,13 +6016,13 @@ packages: resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} dev: false - /ts-api-utils@1.3.0(typescript@5.4.4): + /ts-api-utils@1.3.0(typescript@5.4.5): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.4 + typescript: 5.4.5 dev: true /ts-interface-checker@0.1.13: @@ -6088,8 +6103,8 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -6106,13 +6121,12 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unconfig@0.3.12: - resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==} + /unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} dependencies: '@antfu/utils': 0.7.7 defu: 6.1.4 jiti: 1.21.0 - mlly: 1.6.1 dev: true /undici-types@5.26.5: @@ -6142,16 +6156,16 @@ packages: engines: {node: '>=4'} dev: true - /unimport@3.7.1(rollup@4.14.0): + /unimport@3.7.1(rollup@4.14.3): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -6167,11 +6181,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /unocss@0.59.0(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8): - resolution: {integrity: sha512-mCF31cfzonVtCFnkW/D99Xf031vedQ4ysyWCmwFr6kVGISc4a1OVqrmC8nv1Lp+8sPHIY9umtpNLX4Iwli/w5w==} + /unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9): + resolution: {integrity: sha512-4Sos0FjDX5Ck/cV1wrTase0r2V/LI/bIncguisIGq9v7/akghsGEqU8LlxZNqoCug/vpcQICmzt/zclJVUT+GQ==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.59.0 + '@unocss/webpack': 0.59.3 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -6179,34 +6193,34 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.59.0(rollup@4.14.0)(vite@5.2.8) - '@unocss/cli': 0.59.0(rollup@4.14.0) - '@unocss/core': 0.59.0 - '@unocss/extractor-arbitrary-variants': 0.59.0 - '@unocss/postcss': 0.59.0(postcss@8.4.38) - '@unocss/preset-attributify': 0.59.0 - '@unocss/preset-icons': 0.59.0 - '@unocss/preset-mini': 0.59.0 - '@unocss/preset-tagify': 0.59.0 - '@unocss/preset-typography': 0.59.0 - '@unocss/preset-uno': 0.59.0 - '@unocss/preset-web-fonts': 0.59.0 - '@unocss/preset-wind': 0.59.0 - '@unocss/reset': 0.59.0 - '@unocss/transformer-attributify-jsx': 0.59.0 - '@unocss/transformer-attributify-jsx-babel': 0.59.0 - '@unocss/transformer-compile-class': 0.59.0 - '@unocss/transformer-directives': 0.59.0 - '@unocss/transformer-variant-group': 0.59.0 - '@unocss/vite': 0.59.0(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) + '@unocss/astro': 0.59.3(rollup@4.14.3)(vite@5.2.9) + '@unocss/cli': 0.59.3(rollup@4.14.3) + '@unocss/core': 0.59.3 + '@unocss/extractor-arbitrary-variants': 0.59.3 + '@unocss/postcss': 0.59.3(postcss@8.4.38) + '@unocss/preset-attributify': 0.59.3 + '@unocss/preset-icons': 0.59.3 + '@unocss/preset-mini': 0.59.3 + '@unocss/preset-tagify': 0.59.3 + '@unocss/preset-typography': 0.59.3 + '@unocss/preset-uno': 0.59.3 + '@unocss/preset-web-fonts': 0.59.3 + '@unocss/preset-wind': 0.59.3 + '@unocss/reset': 0.59.3 + '@unocss/transformer-attributify-jsx': 0.59.3 + '@unocss/transformer-attributify-jsx-babel': 0.59.3 + '@unocss/transformer-compile-class': 0.59.3 + '@unocss/transformer-directives': 0.59.3 + '@unocss/transformer-variant-group': 0.59.3 + '@unocss/vite': 0.59.3(rollup@4.14.3)(vite@5.2.9) + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) transitivePeerDependencies: - postcss - rollup - supports-color dev: true - /unplugin-auto-import@0.17.5(@vueuse/core@10.9.0)(rollup@4.14.0): + /unplugin-auto-import@0.17.5(@vueuse/core@10.9.0)(rollup@4.14.3): resolution: {integrity: sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==} engines: {node: '>=14'} peerDependencies: @@ -6219,19 +6233,19 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - '@vueuse/core': 10.9.0(vue@3.4.21) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@vueuse/core': 10.9.0(vue@3.4.23) fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 minimatch: 9.0.4 - unimport: 3.7.1(rollup@4.14.0) + unimport: 3.7.1(rollup@4.14.3) unplugin: 1.10.1 transitivePeerDependencies: - rollup dev: true - /unplugin-vue-components@0.26.0(rollup@4.14.0)(vue@3.4.21): + /unplugin-vue-components@0.26.0(rollup@4.14.3)(vue@3.4.23): resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} engines: {node: '>=14'} peerDependencies: @@ -6245,16 +6259,16 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) chokidar: 3.6.0 debug: 4.3.4 fast-glob: 3.3.2 local-pkg: 0.4.3 - magic-string: 0.30.9 + magic-string: 0.30.10 minimatch: 9.0.4 resolve: 1.22.8 unplugin: 1.10.1 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) transitivePeerDependencies: - rollup - supports-color @@ -6303,26 +6317,17 @@ packages: hasBin: true dev: false - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /vdirs@0.1.8(vue@3.4.21): + /vdirs@0.1.8(vue@3.4.23): resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false - /vite-node@1.4.0(@types/node@20.12.5)(sass@1.74.1): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + /vite-node@1.5.0(@types/node@20.12.7)(sass@1.75.0): + resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -6330,7 +6335,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) transitivePeerDependencies: - '@types/node' - less @@ -6342,17 +6347,17 @@ packages: - terser dev: true - /vite-svg-loader@5.1.0(vue@3.4.21): + /vite-svg-loader@5.1.0(vue@3.4.23): resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} peerDependencies: vue: '>=3.2.13' dependencies: svgo: 3.2.0 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: true - /vite@5.2.8(@types/node@20.12.5)(sass@1.74.1): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + /vite@5.2.9(@types/node@20.12.7)(sass@1.75.0): + resolution: {integrity: sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -6379,24 +6384,24 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.14.0 - sass: 1.74.1 + rollup: 4.14.3 + sass: 1.75.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(sass@1.74.1): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + /vitest@1.5.0(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0): + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 + '@vitest/browser': 1.5.0 + '@vitest/ui': 1.5.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -6413,27 +6418,27 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.5 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 + '@types/node': 20.12.7 + '@vitest/expect': 1.5.0 + '@vitest/runner': 1.5.0 + '@vitest/snapshot': 1.5.0 + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 execa: 8.0.1 jsdom: 24.0.0 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.1.0 - tinybench: 2.6.0 - tinypool: 0.8.3 - vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1) - vite-node: 1.4.0(@types/node@20.12.5)(sass@1.74.1) + tinybench: 2.7.0 + tinypool: 0.8.4 + vite: 5.2.9(@types/node@20.12.7)(sass@1.75.0) + vite-node: 1.5.0(@types/node@20.12.7)(sass@1.75.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -6445,20 +6450,20 @@ packages: - terser dev: true - /vooks@0.2.12(vue@3.4.21): + /vooks@0.2.12(vue@3.4.23): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false - /vue-component-type-helpers@2.0.10: - resolution: {integrity: sha512-FC5fKJjDks3Ue/KRSYBdsiCaZa0kUPQfs8yQpb8W9mlO6BenV8G1z58xobeRMzevnmEcDa09LLwuXDwb4f6NMQ==} + /vue-component-type-helpers@2.0.13: + resolution: {integrity: sha512-xNO5B7DstNWETnoYflLkVgh8dK8h2ZDgxY1M2O0zrqGeBNq5yAZ8a10yCS9+HnixouNGYNX+ggU9MQQq86HTpg==} dev: true - /vue-demi@0.14.7(vue@3.4.21): + /vue-demi@0.14.7(vue@3.4.23): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -6470,7 +6475,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) /vue-eslint-parser@9.4.2(eslint@9.0.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} @@ -6490,43 +6495,43 @@ packages: - supports-color dev: true - /vue-router@4.3.0(vue@3.4.21): - resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + /vue-router@4.3.1(vue@3.4.23): + resolution: {integrity: sha512-D0h3oyP6vp28BOvxv2hVpiqFTjTJizCf1BuMmCibc8UW0Ll/N80SWqDd/hqPMaZfzW1j+s2s+aTRyBIP9ElzOw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.23(typescript@5.4.5) dev: false - /vue@3.4.21(typescript@5.4.4): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + /vue@3.4.23(typescript@5.4.5): + resolution: {integrity: sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.4.4 + '@vue/compiler-dom': 3.4.23 + '@vue/compiler-sfc': 3.4.23 + '@vue/runtime-dom': 3.4.23 + '@vue/server-renderer': 3.4.23(vue@3.4.23) + '@vue/shared': 3.4.23 + typescript: 5.4.5 - /vueuc@0.4.58(vue@3.4.21): + /vueuc@0.4.58(vue@3.4.23): resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} peerDependencies: vue: ^3.0.11 dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.23) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 seemly: 0.3.8 - vdirs: 0.1.8(vue@3.4.21) - vooks: 0.2.12(vue@3.4.21) - vue: 3.4.21(typescript@5.4.4) + vdirs: 0.1.8(vue@3.4.23) + vooks: 0.2.12(vue@3.4.23) + vue: 3.4.23(typescript@5.4.5) dev: false /w3c-xmlserializer@5.0.0: diff --git a/src/App.vue b/src/App.vue index dbd682a..f6001d8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -14,7 +14,7 @@