Update to eslint 9

This commit is contained in:
qwerty287 2024-04-10 14:38:27 +02:00
parent 399bc5bf1b
commit bb49ff957a
No known key found for this signature in database
GPG key ID: 1218A32A886A5002
6 changed files with 500 additions and 290 deletions

View file

@ -1,8 +0,0 @@
# don't lint build output (make sure it's set to your correct build folder name)
dist
coverage/
package.json
tsconfig.eslint.json
tsconfig.json
src/assets/locales/
components.d.ts

View file

@ -1,161 +0,0 @@
// cSpell:ignore TSES
// @ts-check
/** @type {import('@typescript-eslint/experimental-utils').TSESLint.Linter.Config} */
/* eslint-env node */
module.exports = {
env: {
browser: true,
},
reportUnusedDisableDirectives: true,
parser: 'vue-eslint-parser',
parserOptions: {
project: ['./tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore see https://github.com/vuejs/vue-eslint-parser#parseroptionsparser
parser: '@typescript-eslint/parser',
sourceType: 'module',
extraFileExtensions: ['.vue'],
},
plugins: ['@typescript-eslint', 'import', 'simple-import-sort'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'airbnb-base',
'airbnb-typescript/base',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:import/typescript',
'plugin:promise/recommended',
'plugin:vue/vue3-recommended',
'plugin:prettier/recommended',
'plugin:vue-scoped-css/recommended',
],
rules: {
// enable scope analysis rules
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': 'error',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'error',
'no-shadow': 'off',
'@typescript-eslint/no-shadow': 'error',
'no-redeclare': 'off',
'@typescript-eslint/no-redeclare': 'error',
// make typescript eslint rules even more strict
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-non-null-assertion': 'error',
// SOURCE: https://github.com/iamturns/eslint-config-airbnb-typescript/blob/4aec5702be5b4e74e0e2f40bc78b4bc961681de1/lib/shared.js#L41
'@typescript-eslint/naming-convention': [
'error',
// Allow camelCase variables (23.2), PascalCase variables (23.8), and UPPER_CASE variables (23.10)
{
selector: 'variable',
format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
leadingUnderscore: 'allow',
},
// Allow camelCase functions (23.2), and PascalCase functions (23.8)
{
selector: 'function',
format: ['camelCase', 'PascalCase'],
},
// Airbnb recommends PascalCase for classes (23.3), and although Airbnb does not make TypeScript recommendations, we are assuming this rule would similarly apply to anything "type like", including interfaces, type aliases, and enums
{
selector: 'typeLike',
format: ['PascalCase'],
},
],
'import/no-unresolved': 'off', // disable as this is handled by tsc itself
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-cycle': 'error',
'import/no-relative-parent-imports': 'error',
'import/no-duplicates': 'error',
'import/no-extraneous-dependencies': 'error',
'import/extensions': 'off',
'import/prefer-default-export': 'off',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
'promise/prefer-await-to-then': 'error',
'promise/prefer-await-to-callbacks': 'error',
'no-underscore-dangle': 'off',
'no-else-return': ['error', { allowElseIf: false }],
'no-return-assign': ['error', 'always'],
'no-return-await': 'error',
'no-useless-return': 'error',
'no-restricted-imports': [
'error',
{
patterns: ['src', 'dist'],
},
],
'no-console': 'warn',
'no-useless-concat': 'error',
'prefer-const': 'error',
'spaced-comment': ['error', 'always'],
'object-shorthand': ['error', 'always'],
'no-useless-rename': 'error',
eqeqeq: 'error',
'vue/attribute-hyphenation': 'error',
// enable in accordance with https://github.com/prettier/eslint-config-prettier#vuehtml-self-closing
'vue/html-self-closing': [
'error',
{
html: {
void: 'any',
},
},
],
'vue/no-static-inline-styles': 'error',
'vue/v-on-function-call': 'error',
'vue/no-useless-v-bind': 'error',
'vue/no-useless-mustaches': 'error',
'vue/no-useless-concat': 'error',
'vue/no-boolean-default': 'error',
'vue/html-button-has-type': 'error',
'vue/component-name-in-template-casing': 'error',
'vue/match-component-file-name': [
'error',
{
extensions: ['vue'],
shouldMatchCase: true,
},
],
'vue/require-name-property': 'error',
'vue/v-for-delimiter-style': 'error',
'vue/no-empty-component-block': 'error',
'vue/no-duplicate-attr-inheritance': 'error',
'vue/no-unused-properties': [
'error',
{
groups: ['props', 'data', 'computed', 'methods', 'setup'],
},
],
'vue/new-line-between-multi-line-property': 'error',
'vue/padding-line-between-blocks': 'error',
'vue/multi-word-component-names': 'off',
'vue/no-reserved-component-names': 'off',
// css rules
'vue-scoped-css/no-unused-selector': 'error',
'vue-scoped-css/no-parsing-error': 'error',
'vue-scoped-css/require-scoped': 'error',
// enable in accordance with https://github.com/prettier/eslint-config-prettier#curly
curly: ['error', 'all'],
// risky because of https://github.com/prettier/eslint-plugin-prettier#arrow-body-style-and-prefer-arrow-callback-issue
'arrow-body-style': 'error',
'prefer-arrow-callback': 'error',
},
};

199
web/eslint.config.js Normal file
View file

@ -0,0 +1,199 @@
// cSpell:ignore TSES
// @ts-check
import simpleImportSort from 'eslint-plugin-simple-import-sort';
//import eslintImport from 'eslint-plugin-import';
//import eslintTypescript from '@typescript-eslint/eslint-plugin';
import vueParser from 'vue-eslint-parser';
import globals from 'globals';
import js from '@eslint/js';
import airBnbBase from 'eslint-config-airbnb-base';
//import airBnbTS from 'eslint-config-airbnb-typescript/base';
import eslintVue from 'eslint-plugin-vue';
import eslintVueScopedCSS from 'eslint-plugin-vue-scoped-css';
import eslintPrettier from 'eslint-plugin-prettier/recommended';
import eslintPromise from 'eslint-plugin-promise';
import tseslint from 'typescript-eslint';
import path from 'path';
import { fileURLToPath } from 'url';
// TODO check eslint-env
/* eslint-env node */
export default tseslint.config(
{
ignores: [
'dist/**',
'package.json',
'tsconfig.eslint.json',
'tsconfig.json',
'src/assets/locales/**',
'src/assets/dayjsLocales/**',
'components.d.ts',
],
},
js.configs.recommended,
...tseslint.configs.recommended,
//airBnbBase,
//airBnbTS,
//eslintImport, used these 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript'
...eslintVue.configs['flat/recommended'],
...eslintVueScopedCSS.configs['flat/recommended'],
eslintPrettier,
//eslintPromise.configs.recommended,
{
files: ['**/*.js', '**/*.ts', '**/*.vue'],
languageOptions: {
parser: vueParser,
parserOptions: {
project: ['./tsconfig.eslint.json'],
tsconfigRootDir: path.dirname(fileURLToPath(import.meta.url)),
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore see https://github.com/vuejs/vue-eslint-parser#parseroptionsparser
parser: tseslint.parser,
extraFileExtensions: ['.vue', '.json'],
},
sourceType: 'module',
globals: globals.browser,
},
linterOptions: {
reportUnusedDisableDirectives: 'warn',
},
plugins: {
//TODO 'import': eslintImport,
'simple-import-sort': simpleImportSort,
//TODO promise: eslintPromise,
vue: eslintVue,
'vue-scoped-css': eslintVueScopedCSS,
},
rules: {
// enable scope analysis rules
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': 'error',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'error',
'no-shadow': 'off',
'@typescript-eslint/no-shadow': 'error',
'no-redeclare': 'off',
'@typescript-eslint/no-redeclare': 'error',
// make typescript eslint rules even more strict
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-non-null-assertion': 'error',
// SOURCE: https://github.com/iamturns/eslint-config-airbnb-typescript/blob/4aec5702be5b4e74e0e2f40bc78b4bc961681de1/lib/shared.js#L41
'@typescript-eslint/naming-convention': [
'error',
// Allow camelCase variables (23.2), PascalCase variables (23.8), and UPPER_CASE variables (23.10)
{
selector: 'variable',
format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
leadingUnderscore: 'allow',
},
// Allow camelCase functions (23.2), and PascalCase functions (23.8)
{
selector: 'function',
format: ['camelCase', 'PascalCase'],
},
// Airbnb recommends PascalCase for classes (23.3), and although Airbnb does not make TypeScript recommendations, we are assuming this rule would similarly apply to anything "type like", including interfaces, type aliases, and enums
{
selector: 'typeLike',
format: ['PascalCase'],
},
],
//'import/no-unresolved': 'off', // disable as this is handled by tsc itself
//'import/first': 'error',
//'import/newline-after-import': 'error',
//'import/no-cycle': 'error',
//'import/no-relative-parent-imports': 'error',
//'import/no-duplicates': 'error',
//'import/no-extraneous-dependencies': 'error',
//'import/extensions': 'off',
//'import/prefer-default-export': 'off',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
//'promise/prefer-await-to-then': 'error',
//'promise/prefer-await-to-callbacks': 'error',
'no-underscore-dangle': 'off',
'no-else-return': ['error', { allowElseIf: false }],
'no-return-assign': ['error', 'always'],
'no-return-await': 'error',
'no-useless-return': 'error',
'no-restricted-imports': [
'error',
{
patterns: ['src', 'dist'],
},
],
'no-console': 'warn',
'no-useless-concat': 'error',
'prefer-const': 'error',
'spaced-comment': ['error', 'always'],
'object-shorthand': ['error', 'always'],
'no-useless-rename': 'error',
eqeqeq: 'error',
'vue/attribute-hyphenation': 'error',
// enable in accordance with https://github.com/prettier/eslint-config-prettier#vuehtml-self-closing
'vue/html-self-closing': [
'error',
{
html: {
void: 'any',
},
},
],
'vue/no-static-inline-styles': 'error',
'vue/v-on-function-call': 'error',
'vue/no-useless-v-bind': 'error',
'vue/no-useless-mustaches': 'error',
'vue/no-useless-concat': 'error',
'vue/no-boolean-default': 'error',
'vue/html-button-has-type': 'error',
'vue/component-name-in-template-casing': 'error',
'vue/match-component-file-name': [
'error',
{
extensions: ['vue'],
shouldMatchCase: true,
},
],
'vue/require-name-property': 'error',
'vue/v-for-delimiter-style': 'error',
'vue/no-empty-component-block': 'error',
'vue/no-duplicate-attr-inheritance': 'error',
'vue/no-unused-properties': [
'error',
{
groups: ['props', 'data', 'computed', 'methods', 'setup'],
},
],
'vue/new-line-between-multi-line-property': 'error',
'vue/padding-line-between-blocks': 'error',
'vue/multi-word-component-names': 'off',
'vue/no-reserved-component-names': 'off',
// css rules
'vue-scoped-css/no-unused-selector': 'error',
'vue-scoped-css/no-parsing-error': 'error',
'vue-scoped-css/require-scoped': 'error',
// enable in accordance with https://github.com/prettier/eslint-config-prettier#curly
curly: ['error', 'all'],
// risky because of https://github.com/prettier/eslint-plugin-prettier#arrow-body-style-and-prefer-arrow-callback-issue
'arrow-body-style': 'error',
'prefer-arrow-callback': 'error',
},
},
);

View file

@ -3,6 +3,7 @@
"author": "Woodpecker CI",
"version": "0.0.0",
"license": "Apache-2.0",
"type": "module",
"engines": {
"node": ">=14"
},
@ -10,7 +11,7 @@
"start": "vite",
"build": "vite build --base=/BASE_PATH",
"serve": "vite preview",
"lint": "eslint --max-warnings 0 --ext .js,.ts,.vue,.json .",
"lint": "eslint --max-warnings 0 .",
"format": "prettier --write .",
"format:check": "prettier -c .",
"typecheck": "vue-tsc --noEmit",
@ -34,6 +35,7 @@
"vue-router": "^4.2.5"
},
"devDependencies": {
"@eslint/js": "^9.0.0",
"@iconify/json": "^2.2.171",
"@types/lodash": "^4.14.202",
"@types/node": "^20.11.5",
@ -44,7 +46,7 @@
"@typescript-eslint/parser": "^7.0.0",
"@vitejs/plugin-vue": "^5.0.3",
"@vue/compiler-sfc": "^3.4.15",
"eslint": "^8.56.0",
"eslint": "^9.0.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^18.0.0",
"eslint-config-prettier": "^9.1.0",
@ -54,10 +56,12 @@
"eslint-plugin-simple-import-sort": "^12.0.0",
"eslint-plugin-vue": "^9.20.1",
"eslint-plugin-vue-scoped-css": "^2.7.2",
"globals": "^15.0.0",
"prettier": "^3.2.4",
"replace-in-file": "^7.1.0",
"tinycolor2": "^1.6.0",
"typescript": "5.4.3",
"typescript-eslint": "^7.6.0",
"unplugin-icons": "^0.18.2",
"unplugin-vue-components": "^0.26.0",
"vite": "^5.0.12",

View file

@ -55,6 +55,9 @@ dependencies:
version: 4.3.0(vue@3.4.21)
devDependencies:
'@eslint/js':
specifier: ^9.0.0
version: 9.0.0
'@iconify/json':
specifier: ^2.2.171
version: 2.2.196
@ -75,10 +78,10 @@ devDependencies:
version: 7.5.8
'@typescript-eslint/eslint-plugin':
specifier: ^7.0.0
version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/parser':
specifier: ^7.0.0
version: 7.4.0(eslint@8.57.0)(typescript@5.4.3)
version: 7.4.0(eslint@9.0.0)(typescript@5.4.3)
'@vitejs/plugin-vue':
specifier: ^5.0.3
version: 5.0.4(vite@5.2.7)(vue@3.4.21)
@ -86,35 +89,38 @@ devDependencies:
specifier: ^3.4.15
version: 3.4.21
eslint:
specifier: ^8.56.0
version: 8.57.0
specifier: ^9.0.0
version: 9.0.0
eslint-config-airbnb-base:
specifier: ^15.0.0
version: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0)
version: 15.0.0(eslint-plugin-import@2.29.1)(eslint@9.0.0)
eslint-config-airbnb-typescript:
specifier: ^18.0.0
version: 18.0.0(@typescript-eslint/eslint-plugin@7.4.0)(@typescript-eslint/parser@7.4.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
version: 18.0.0(@typescript-eslint/eslint-plugin@7.4.0)(@typescript-eslint/parser@7.4.0)(eslint-plugin-import@2.29.1)(eslint@9.0.0)
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
version: 9.1.0(eslint@9.0.0)
eslint-plugin-import:
specifier: ^2.29.1
version: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)
version: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@9.0.0)
eslint-plugin-prettier:
specifier: ^5.1.3
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5)
eslint-plugin-promise:
specifier: ^6.1.1
version: 6.1.1(eslint@8.57.0)
version: 6.1.1(eslint@9.0.0)
eslint-plugin-simple-import-sort:
specifier: ^12.0.0
version: 12.0.0(eslint@8.57.0)
version: 12.0.0(eslint@9.0.0)
eslint-plugin-vue:
specifier: ^9.20.1
version: 9.24.0(eslint@8.57.0)
version: 9.24.0(eslint@9.0.0)
eslint-plugin-vue-scoped-css:
specifier: ^2.7.2
version: 2.8.0(eslint@8.57.0)(vue-eslint-parser@9.4.2)
version: 2.8.0(eslint@9.0.0)(vue-eslint-parser@9.4.2)
globals:
specifier: ^15.0.0
version: 15.0.0
prettier:
specifier: ^3.2.4
version: 3.2.5
@ -127,6 +133,9 @@ devDependencies:
typescript:
specifier: 5.4.3
version: 5.4.3
typescript-eslint:
specifier: ^7.6.0
version: 7.6.0(eslint@9.0.0)(typescript@5.4.3)
unplugin-icons:
specifier: ^0.18.2
version: 0.18.5(@vue/compiler-sfc@3.4.21)
@ -147,7 +156,7 @@ devDependencies:
version: 5.1.0(vue@3.4.21)
vue-eslint-parser:
specifier: ^9.4.0
version: 9.4.2(eslint@8.57.0)
version: 9.4.2(eslint@9.0.0)
vue-tsc:
specifier: ^2.0.0
version: 2.0.7(typescript@5.4.3)
@ -582,13 +591,13 @@ packages:
dev: true
optional: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
/@eslint-community/eslint-utils@4.4.0(eslint@9.0.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.57.0
eslint: 9.0.0
eslint-visitor-keys: 3.4.3
dev: true
@ -597,14 +606,14 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
/@eslint/eslintrc@2.1.4:
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@eslint/eslintrc@3.0.2:
resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 9.6.1
globals: 13.24.0
espree: 10.0.1
globals: 14.0.0
ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
@ -614,16 +623,16 @@ packages:
- supports-color
dev: true
/@eslint/js@8.57.0:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@eslint/js@9.0.0:
resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dev: true
/@humanwhocodes/config-array@0.11.14:
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
/@humanwhocodes/config-array@0.12.3:
resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==}
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.2
'@humanwhocodes/object-schema': 2.0.3
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
@ -635,8 +644,8 @@ packages:
engines: {node: '>=12.22'}
dev: true
/@humanwhocodes/object-schema@2.0.2:
resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
/@humanwhocodes/object-schema@2.0.3:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
dev: true
/@iconify/json@2.2.196:
@ -984,7 +993,7 @@ packages:
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
dev: false
/@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3):
/@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
@ -996,13 +1005,13 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/type-utils': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4
eslint: 8.57.0
eslint: 9.0.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@ -1013,7 +1022,36 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3):
/@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.6.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.3)
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser@7.4.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
@ -1028,7 +1066,28 @@ packages:
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4
eslint: 8.57.0
eslint: 9.0.0
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.6.0
debug: 4.3.4
eslint: 9.0.0
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
@ -1042,7 +1101,15 @@ packages:
'@typescript-eslint/visitor-keys': 7.4.0
dev: true
/@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
/@typescript-eslint/scope-manager@7.6.0:
resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
dev: true
/@typescript-eslint/type-utils@7.4.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
@ -1053,9 +1120,29 @@ packages:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
debug: 4.3.4
eslint: 8.57.0
eslint: 9.0.0
ts-api-utils: 1.3.0(typescript@5.4.3)
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.3)
'@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
debug: 4.3.4
eslint: 9.0.0
ts-api-utils: 1.3.0(typescript@5.4.3)
typescript: 5.4.3
transitivePeerDependencies:
@ -1067,6 +1154,11 @@ packages:
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
/@typescript-eslint/types@7.6.0:
resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
/@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3):
resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
engines: {node: ^18.18.0 || >=20.0.0}
@ -1089,19 +1181,60 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
/@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.3):
resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.4.3)
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/utils@7.4.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@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.4.0
'@typescript-eslint/types': 7.4.0
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
eslint: 8.57.0
eslint: 9.0.0
semver: 7.6.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
dependencies:
'@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.6.0
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.3)
eslint: 9.0.0
semver: 7.6.0
transitivePeerDependencies:
- supports-color
@ -1116,8 +1249,12 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
/@typescript-eslint/visitor-keys@7.6.0:
resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
eslint-visitor-keys: 3.4.3
dev: true
/@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21):
@ -1741,13 +1878,6 @@ packages:
esutils: 2.0.3
dev: true
/doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
dependencies:
esutils: 2.0.3
dev: true
/dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
@ -1943,17 +2073,17 @@ packages:
source-map: 0.6.1
dev: false
/eslint-compat-utils@0.5.0(eslint@8.57.0):
/eslint-compat-utils@0.5.0(eslint@9.0.0):
resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==}
engines: {node: '>=12'}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
eslint: 8.57.0
eslint: 9.0.0
semver: 7.6.0
dev: true
/eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0):
/eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@9.0.0):
resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
@ -1961,35 +2091,35 @@ packages:
eslint-plugin-import: ^2.25.2
dependencies:
confusing-browser-globals: 1.0.11
eslint: 8.57.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)
eslint: 9.0.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@9.0.0)
object.assign: 4.1.5
object.entries: 1.1.8
semver: 7.6.0
dev: true
/eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.4.0)(@typescript-eslint/parser@7.4.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
/eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.4.0)(@typescript-eslint/parser@7.4.0)(eslint-plugin-import@2.29.1)(eslint@9.0.0):
resolution: {integrity: sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg==}
peerDependencies:
'@typescript-eslint/eslint-plugin': ^7.0.0
'@typescript-eslint/parser': ^7.0.0
eslint: ^8.56.0
dependencies:
'@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
eslint: 8.57.0
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0)
'@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
eslint: 9.0.0
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@9.0.0)
transitivePeerDependencies:
- eslint-plugin-import
dev: true
/eslint-config-prettier@9.1.0(eslint@8.57.0):
/eslint-config-prettier@9.1.0(eslint@9.0.0):
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
eslint: 8.57.0
eslint: 9.0.0
dev: true
/eslint-import-resolver-node@0.3.9:
@ -2002,7 +2132,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0):
resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
engines: {node: '>=4'}
peerDependencies:
@ -2023,15 +2153,15 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
debug: 3.2.7
eslint: 8.57.0
eslint: 9.0.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0):
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@9.0.0):
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
peerDependencies:
@ -2041,16 +2171,16 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.4.0(eslint@9.0.0)(typescript@5.4.3)
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
array.prototype.flatmap: 1.3.2
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.57.0
eslint: 9.0.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.4.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
@ -2066,7 +2196,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5):
/eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5):
resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@ -2080,65 +2210,65 @@ packages:
eslint-config-prettier:
optional: true
dependencies:
eslint: 8.57.0
eslint-config-prettier: 9.1.0(eslint@8.57.0)
eslint: 9.0.0
eslint-config-prettier: 9.1.0(eslint@9.0.0)
prettier: 3.2.5
prettier-linter-helpers: 1.0.0
synckit: 0.8.8
dev: true
/eslint-plugin-promise@6.1.1(eslint@8.57.0):
/eslint-plugin-promise@6.1.1(eslint@9.0.0):
resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
eslint: 8.57.0
eslint: 9.0.0
dev: true
/eslint-plugin-simple-import-sort@12.0.0(eslint@8.57.0):
/eslint-plugin-simple-import-sort@12.0.0(eslint@9.0.0):
resolution: {integrity: sha512-8o0dVEdAkYap0Cn5kNeklaKcT1nUsa3LITWEuFk3nJifOoD+5JQGoyDUW2W/iPWwBsNBJpyJS9y4je/BgxLcyQ==}
peerDependencies:
eslint: '>=5.0.0'
dependencies:
eslint: 8.57.0
eslint: 9.0.0
dev: true
/eslint-plugin-vue-scoped-css@2.8.0(eslint@8.57.0)(vue-eslint-parser@9.4.2):
/eslint-plugin-vue-scoped-css@2.8.0(eslint@9.0.0)(vue-eslint-parser@9.4.2):
resolution: {integrity: sha512-JXb3Um4+AhuDGxSX6FAGCI0p811xF7W8L7yxC8wmAEZEI/teTjlpC09noqQZHXn53RZ/TGQJ8Onaq4teYLxBbg==}
engines: {node: ^12.22 || ^14.17 || >=16}
peerDependencies:
eslint: '>=5.0.0'
vue-eslint-parser: '>=7.1.0'
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
eslint: 8.57.0
eslint-compat-utils: 0.5.0(eslint@8.57.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
eslint: 9.0.0
eslint-compat-utils: 0.5.0(eslint@9.0.0)
lodash: 4.17.21
postcss: 8.4.38
postcss-safe-parser: 6.0.0(postcss@8.4.38)
postcss-scss: 4.0.9(postcss@8.4.38)
postcss-selector-parser: 6.0.16
postcss-styl: 0.12.3
vue-eslint-parser: 9.4.2(eslint@8.57.0)
vue-eslint-parser: 9.4.2(eslint@9.0.0)
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-vue@9.24.0(eslint@8.57.0):
/eslint-plugin-vue@9.24.0(eslint@9.0.0):
resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
eslint: 8.57.0
'@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
eslint: 9.0.0
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.16
semver: 7.6.0
vue-eslint-parser: 9.4.2(eslint@8.57.0)
vue-eslint-parser: 9.4.2(eslint@9.0.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
@ -2152,45 +2282,54 @@ packages:
estraverse: 5.3.0
dev: true
/eslint-scope@8.0.1:
resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
/eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/eslint@8.57.0:
resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/eslint-visitor-keys@4.0.0:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dev: true
/eslint@9.0.0:
resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
'@eslint-community/regexpp': 4.10.0
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.0
'@humanwhocodes/config-array': 0.11.14
'@eslint/eslintrc': 3.0.2
'@eslint/js': 9.0.0
'@humanwhocodes/config-array': 0.12.3
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
'@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
eslint-scope: 8.0.1
eslint-visitor-keys: 4.0.0
espree: 10.0.1
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
globals: 13.24.0
graphemer: 1.4.0
ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
@ -2203,6 +2342,15 @@ packages:
- supports-color
dev: true
/espree@10.0.1:
resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dependencies:
acorn: 8.11.3
acorn-jsx: 5.3.2(acorn@8.11.3)
eslint-visitor-keys: 4.0.0
dev: true
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -2303,11 +2451,11 @@ packages:
dependencies:
reusify: 1.0.4
/file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
/file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
dependencies:
flat-cache: 3.2.0
flat-cache: 4.0.1
dev: true
/fill-range@7.0.1:
@ -2324,13 +2472,12 @@ packages:
path-exists: 4.0.0
dev: true
/flat-cache@3.2.0:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
/flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
dependencies:
flatted: 3.3.1
keyv: 4.5.4
rimraf: 3.0.2
dev: true
/flatted@3.3.1:
@ -2464,6 +2611,16 @@ packages:
type-fest: 0.20.2
dev: true
/globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
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'}
@ -2921,6 +3078,13 @@ packages:
brace-expansion: 2.0.1
dev: true
/minimatch@9.0.4:
resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
dev: true
/minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
@ -3298,13 +3462,6 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
/rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
dependencies:
glob: 7.2.3
dev: true
/rollup@4.13.2:
resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@ -3668,6 +3825,25 @@ packages:
possible-typed-array-names: 1.0.0
dev: true
/typescript-eslint@7.6.0(eslint@9.0.0)(typescript@5.4.3):
resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.3)
eslint: 9.0.0
typescript: 5.4.3
transitivePeerDependencies:
- supports-color
dev: true
/typescript@5.4.3:
resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
engines: {node: '>=14.17'}
@ -3869,14 +4045,14 @@ packages:
vue: 3.4.21(typescript@5.4.3)
dev: false
/vue-eslint-parser@9.4.2(eslint@8.57.0):
/vue-eslint-parser@9.4.2(eslint@9.0.0):
resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4
eslint: 8.57.0
eslint: 9.0.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1

View file

@ -1,4 +1,4 @@
{
"extends": "./tsconfig.json",
"include": [".eslintrc.js", "jest.config.ts", "vite.config.ts", "windi.config.ts", "src", "test", "components.d.ts"]
"include": ["eslint.config.js", ".eslintrc.js", "jest.config.ts", "vite.config.ts", "windi.config.ts", "src", "test", "components.d.ts"]
}