Update dependency eslint to v9 (#23813)

* Update dependency eslint to v9

* Migrate to flat config

* Fix resulting lint issues

* Organize imports, clean-up

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
This commit is contained in:
renovate[bot]
2024-10-08 18:07:20 +00:00
committed by GitHub
parent 889fa22e79
commit f208fb2f3a
8 changed files with 405 additions and 303 deletions

View File

@@ -1,21 +0,0 @@
dist/
/packages/extensions-sdk/templates/
/api/extensions/
!/docs/.vitepress/
!/docs/.typedocs/
/docs/.vitepress/cache/
/docs/.vitepress/dist/
*.yml
*.yaml
*.md
*.txt
*.json
*.scss
*.css
*.svg
*.png
*.liquid
*.html
*.toml
Dockerfile
license

View File

@@ -1,135 +0,0 @@
const basicRules = {
// No console & debugger statements in production
'no-console': process.env.NODE_ENV !== 'development' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV !== 'development' ? 'error' : 'off',
// Require empty line between certain statements
'padding-line-between-statements': [
'error',
{
blankLine: 'always',
prev: [
'block',
'block-like',
'cjs-export',
'class',
'export',
'import',
'multiline-block-like',
'multiline-const',
'multiline-expression',
'multiline-let',
'multiline-var',
],
next: '*',
},
{
blankLine: 'always',
prev: ['const', 'let'],
next: ['block', 'block-like', 'cjs-export', 'class', 'export', 'import'],
},
{
blankLine: 'always',
prev: '*',
next: ['multiline-block-like', 'multiline-const', 'multiline-expression', 'multiline-let', 'multiline-var'],
},
{ blankLine: 'any', prev: ['export', 'import'], next: ['export', 'import'] },
],
// Require empty line between class members
'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],
// Disallow nested ternary expressions
'no-nested-ternary': 'error',
// Require brace style for multi-line control statements
curly: ['error', 'multi-line'],
// Disallow expressions where the operation doesn't affect the value
'no-constant-binary-expression': 'error',
};
const tsRules = {
// Allow unused arguments and variables when they begin with an underscore
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
// Allow ts-directive comments (used to suppress TypeScript compiler errors)
'@typescript-eslint/ban-ts-comment': 'off',
// Allow usage of the any type (consider enabling this rule later on)
'@typescript-eslint/no-explicit-any': 'off',
};
const vueRules = {
// Same ordering of component tags everywhere
'vue/component-tags-order': [
'error',
{
order: ['script', 'template', 'style'],
},
],
// Require empty line between component tags
'vue/padding-line-between-blocks': 'error',
// Allow single word component names ("Example" instead of "MyExample")
'vue/multi-word-component-names': 'off',
// Don't require default value for props that are not marked as required
'vue/require-default-prop': 'off',
// Require shorthand form attribute when v-bind value is true
'vue/prefer-true-attribute-shorthand': 'error',
// Allow unused variables when they begin with an underscore
'vue/no-unused-vars': ['error', { ignorePattern: '^_' }],
};
const getExtends = (configs = []) => [
// Enables a subset of core rules that report common problems
'eslint:recommended',
...configs,
// Turns off rules from other configs that are
// unnecessary or might conflict with Prettier
// (should always be the last entry in 'extends')
'prettier',
];
/** @type {import('eslint').Linter.Config} */
module.exports = {
// Stop looking for other ESLint configurations in parent folders
root: true,
// Global variables: Browser and Node.js
env: {
browser: true,
node: true,
},
// Basic configuration
extends: getExtends(),
rules: basicRules,
parserOptions: {
ecmaVersion: 2022,
sourceType: 'module',
},
reportUnusedDisableDirectives: true,
overrides: [
// TypeScript & Vue files
{
files: ['*.ts', '*.vue'],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
},
plugins: ['@typescript-eslint'],
extends: getExtends([
// Recommended TypeScript rules for code correctness
'plugin:@typescript-eslint/recommended',
// Enables Vue plugin and recommended rules
'plugin:vue/vue3-recommended',
]),
rules: {
// Disables core rules which are already handled by TypeScript and
// enables rules that make sense due to TS's typechecking / transpilation
// (fetched directly to enable it for Vue files too)
...require('@typescript-eslint/eslint-plugin').configs['eslint-recommended'].overrides[0].rules,
...tsRules,
...vueRules,
},
},
// Test files
{
files: ['*.test.ts'],
rules: {
'vue/one-component-per-file': 'off',
},
},
],
};

View File

@@ -141,14 +141,12 @@ function directusExtensions() {
];
async function loadExtensions() {
// eslint-disable-next-line no-undef
const localExtensions = extensionsPathExists ? await resolveFsExtensions(EXTENSIONS_PATH) : new Map();
const moduleExtensions = await resolveModuleExtensions(API_PATH);
const registryExtensions = extensionsPathExists
? await resolveFsExtensions(path.join(EXTENSIONS_PATH, '.registry'))
: // eslint-disable-next-line no-undef
new Map();
: new Map();
const mockSetting = (source, folder, extension) => {
const settings = [

138
eslint.config.js Normal file
View File

@@ -0,0 +1,138 @@
// @ts-check
import eslint from '@eslint/js';
import eslintConfigPrettier from 'eslint-config-prettier';
import eslintPluginVue from 'eslint-plugin-vue';
import globals from 'globals';
import tseslint from 'typescript-eslint';
export default tseslint.config(
// Global config
{
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: {
...globals.browser,
...globals.node,
},
},
},
// Ignored files
{
ignores: ['**/dist/', 'packages/extensions-sdk/templates/', 'docs/.vitepress/cache/', 'api/extensions/'],
},
// Enable recommended rules for JS files
eslint.configs.recommended,
// Custom basic rules
{
rules: {
// No console & debugger statements in production
'no-console': process.env.NODE_ENV !== 'development' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV !== 'development' ? 'error' : 'off',
// Require empty line between certain statements
'padding-line-between-statements': [
'error',
{
blankLine: 'always',
prev: [
'block',
'block-like',
'cjs-export',
'class',
'export',
'import',
'multiline-block-like',
'multiline-const',
'multiline-expression',
'multiline-let',
'multiline-var',
],
next: '*',
},
{
blankLine: 'always',
prev: ['const', 'let'],
next: ['block', 'block-like', 'cjs-export', 'class', 'export', 'import'],
},
{
blankLine: 'always',
prev: '*',
next: ['multiline-block-like', 'multiline-const', 'multiline-expression', 'multiline-let', 'multiline-var'],
},
{ blankLine: 'any', prev: ['export', 'import'], next: ['export', 'import'] },
],
// Require empty line between class members
'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],
// Disallow nested ternary expressions
'no-nested-ternary': 'error',
// Require brace style for multi-line control statements
curly: ['error', 'multi-line'],
// Disallow expressions where the operation doesn't affect the value
'no-constant-binary-expression': 'error',
},
},
// Enable TypeScript plugin and recommended rules for TypeScript files
...tseslint.configs.recommended,
// Enable Vue plugin and recommended rules for Vue files
// @ts-expect-error untyped package
...eslintPluginVue.configs['flat/recommended'],
{
files: ['**/*.vue'],
languageOptions: { parserOptions: { parser: tseslint.parser } },
// Apply recommended TypeScript rules to Vue files as well
rules: tseslint.configs.recommended.reduce((rules, config) => ({ ...rules, ...config.rules }), {}),
},
// Custom TypeScript rules
{
files: ['**/*.{ts,vue}'],
rules: {
// Allow unused arguments and variables when they begin with an underscore
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
// Allow ts-directive comments (used to suppress TypeScript compiler errors)
'@typescript-eslint/ban-ts-comment': 'off',
// Allow usage of the any type (consider enabling this rule later on)
'@typescript-eslint/no-explicit-any': 'off',
},
},
// Custom Vue rules
{
files: ['**/*.{ts,vue}'],
rules: {
// Same ordering of component tags everywhere
'vue/component-tags-order': [
'error',
{
order: ['script', 'template', 'style'],
},
],
// Require empty line between component tags
'vue/padding-line-between-blocks': 'error',
// Allow single word component names ("Example" instead of "MyExample")
'vue/multi-word-component-names': 'off',
// Don't require default value for props that are not marked as required
'vue/require-default-prop': 'off',
// Require shorthand form attribute when v-bind value is true
'vue/prefer-true-attribute-shorthand': 'error',
// Allow unused variables when they begin with an underscore
'vue/no-unused-vars': ['error', { ignorePattern: '^_' }],
},
},
// Test files
{
files: ['**/*.test.ts'],
rules: {
'vue/one-component-per-file': 'off',
},
},
eslintConfigPrettier,
);

View File

@@ -2,6 +2,7 @@
"name": "directus-monorepo",
"private": true,
"homepage": "https://directus.io",
"type": "module",
"scripts": {
"build": "pnpm --recursive --filter '!docs' run build",
"format": "prettier --cache --check .",
@@ -12,12 +13,16 @@
"devDependencies": {
"@changesets/cli": "2.27.7",
"@directus/release-notes-generator": "workspace:*",
"@typescript-eslint/eslint-plugin": "8.7.0",
"@typescript-eslint/parser": "8.7.0",
"eslint": "8.57.1",
"@eslint/js": "9.12.0",
"@types/eslint__js": "8.42.3",
"@types/node": "18",
"eslint": "9.12.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-vue": "9.28.0",
"prettier": "3.1.0"
"globals": "15.10.0",
"prettier": "3.1.0",
"typescript": "5.6.2",
"typescript-eslint": "8.8.1"
},
"packageManager": "pnpm@9.10.0",
"engines": {

View File

@@ -111,7 +111,7 @@ async function create(directory) {
cwd: rootPath,
stdio: 'inherit',
});
} catch (err) {
} catch {
onError({ text: 'Error while initializing the project' });
}
@@ -124,7 +124,7 @@ async function create(directory) {
console.log('You can update by running: ' + chalk.cyan(`npm i -g ${pkg.name}@latest`));
console.log();
}
} catch (err) {
} catch {
onError({
symbol: 'warning',
exit: false,

391
pnpm-lock.yaml generated
View File

@@ -14,24 +14,36 @@ importers:
'@directus/release-notes-generator':
specifier: workspace:*
version: link:packages/release-notes-generator
'@typescript-eslint/eslint-plugin':
specifier: 8.7.0
version: 8.7.0(@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/parser':
specifier: 8.7.0
version: 8.7.0(eslint@8.57.1)(typescript@5.6.2)
'@eslint/js':
specifier: 9.12.0
version: 9.12.0
'@types/eslint__js':
specifier: 8.42.3
version: 8.42.3
'@types/node':
specifier: '18'
version: 18.19.50
eslint:
specifier: 8.57.1
version: 8.57.1
specifier: 9.12.0
version: 9.12.0(jiti@1.21.6)
eslint-config-prettier:
specifier: 9.1.0
version: 9.1.0(eslint@8.57.1)
version: 9.1.0(eslint@9.12.0(jiti@1.21.6))
eslint-plugin-vue:
specifier: 9.28.0
version: 9.28.0(eslint@8.57.1)
version: 9.28.0(eslint@9.12.0(jiti@1.21.6))
globals:
specifier: 15.10.0
version: 15.10.0
prettier:
specifier: 3.1.0
version: 3.1.0
typescript:
specifier: 5.6.2
version: 5.6.2
typescript-eslint:
specifier: 8.8.1
version: 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
api:
dependencies:
@@ -3399,13 +3411,29 @@ packages:
resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@2.1.4':
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
'@eslint/config-array@0.18.0':
resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@8.57.1':
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
'@eslint/core@0.6.0':
resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.12.0':
resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.2.0':
resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fortawesome/fontawesome-common-types@0.2.36':
resolution: {integrity: sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==}
@@ -3510,18 +3538,21 @@ packages:
'@histoire/vendors@0.17.17':
resolution: {integrity: sha512-QZvmffdoJlLuYftPIkOU5Q2FPAdG2JjMuQ5jF7NmEl0n1XnmbMqtRkdYTZ4eF6CO1KLZ0Zyf6gBQvoT1uWNcjA==}
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
deprecated: Use @eslint/config-array instead
'@humanfs/core@0.19.0':
resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
engines: {node: '>=18.18.0'}
'@humanfs/node@0.16.5':
resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
'@humanwhocodes/retry@0.3.1':
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
@@ -4976,9 +5007,18 @@ packages:
'@types/encodeurl@1.0.2':
resolution: {integrity: sha512-oSnLIbaOi9CK6ksuZLxVfIs95wzG0gxjch0Mu0P/ViwLj5gvqmd2iy0e6NYluiEOCeUIFdyE9oR9kLKwDa++dw==}
'@types/eslint@9.6.1':
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
'@types/eslint__js@8.42.3':
resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==}
'@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
'@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
'@types/express-serve-static-core@4.19.5':
resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==}
@@ -5018,6 +5058,9 @@ packages:
'@types/js-yaml@4.0.9':
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/json2csv@5.0.7':
resolution: {integrity: sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA==}
@@ -5195,8 +5238,8 @@ packages:
'@types/ws@8.5.12':
resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==}
'@typescript-eslint/eslint-plugin@8.7.0':
resolution: {integrity: sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==}
'@typescript-eslint/eslint-plugin@8.8.1':
resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -5206,8 +5249,8 @@ packages:
typescript:
optional: true
'@typescript-eslint/parser@8.7.0':
resolution: {integrity: sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==}
'@typescript-eslint/parser@8.8.1':
resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -5216,12 +5259,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/scope-manager@8.7.0':
resolution: {integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==}
'@typescript-eslint/scope-manager@8.8.1':
resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/type-utils@8.7.0':
resolution: {integrity: sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==}
'@typescript-eslint/type-utils@8.8.1':
resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -5229,12 +5272,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/types@8.7.0':
resolution: {integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==}
'@typescript-eslint/types@8.8.1':
resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.7.0':
resolution: {integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==}
'@typescript-eslint/typescript-estree@8.8.1':
resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -5242,14 +5285,14 @@ packages:
typescript:
optional: true
'@typescript-eslint/utils@8.7.0':
resolution: {integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==}
'@typescript-eslint/utils@8.8.1':
resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
'@typescript-eslint/visitor-keys@8.7.0':
resolution: {integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==}
'@typescript-eslint/visitor-keys@8.8.1':
resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.2.0':
@@ -6772,10 +6815,6 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
dom-serializer@1.4.1:
resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
@@ -7001,20 +7040,36 @@ packages:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint-scope@8.1.0:
resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
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.1:
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
eslint-visitor-keys@4.1.0:
resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.12.0:
resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
jiti: '*'
peerDependenciesMeta:
jiti:
optional: true
esm@3.2.25:
resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==}
engines: {node: '>=6'}
espree@10.2.0:
resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -7171,9 +7226,9 @@ packages:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
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'}
file-saver@2.0.5:
resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
@@ -7220,9 +7275,9 @@ packages:
find-yarn-workspace-root2@1.2.16:
resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
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'}
flat@6.0.1:
resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==}
@@ -7464,6 +7519,14 @@ packages:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
globals@15.10.0:
resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==}
engines: {node: '>=18'}
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
@@ -7899,10 +7962,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
@@ -11139,6 +11198,15 @@ packages:
peerDependencies:
typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x
typescript-eslint@8.8.1:
resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
typescript@5.4.2:
resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
engines: {node: '>=14.17'}
@@ -13702,19 +13770,29 @@ snapshots:
'@esbuild/win32-x64@0.23.1':
optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
'@eslint-community/eslint-utils@4.4.0(eslint@9.12.0(jiti@1.21.6))':
dependencies:
eslint: 8.57.1
eslint: 9.12.0(jiti@1.21.6)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.0': {}
'@eslint/eslintrc@2.1.4':
'@eslint/config-array@0.18.0':
dependencies:
'@eslint/object-schema': 2.1.4
debug: 4.3.6(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@eslint/core@0.6.0': {}
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
debug: 4.3.6(supports-color@5.5.0)
espree: 9.6.1
globals: 13.24.0
espree: 10.2.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
@@ -13723,7 +13801,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@8.57.1': {}
'@eslint/js@9.12.0': {}
'@eslint/object-schema@2.1.4': {}
'@eslint/plugin-kit@0.2.0':
dependencies:
levn: 0.4.1
'@fortawesome/fontawesome-common-types@0.2.36': {}
@@ -13866,17 +13950,16 @@ snapshots:
'@histoire/vendors@0.17.17': {}
'@humanwhocodes/config-array@0.13.0':
'@humanfs/core@0.19.0': {}
'@humanfs/node@0.16.5':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
debug: 4.3.6(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@humanfs/core': 0.19.0
'@humanwhocodes/retry': 0.3.1
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/object-schema@2.0.3': {}
'@humanwhocodes/retry@0.3.1': {}
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
@@ -15677,8 +15760,19 @@ snapshots:
'@types/encodeurl@1.0.2': {}
'@types/eslint@9.6.1':
dependencies:
'@types/estree': 1.0.6
'@types/json-schema': 7.0.15
'@types/eslint__js@8.42.3':
dependencies:
'@types/eslint': 9.6.1
'@types/estree@1.0.5': {}
'@types/estree@1.0.6': {}
'@types/express-serve-static-core@4.19.5':
dependencies:
'@types/node': 18.19.50
@@ -15725,6 +15819,8 @@ snapshots:
'@types/js-yaml@4.0.9': {}
'@types/json-schema@7.0.15': {}
'@types/json2csv@5.0.7':
dependencies:
'@types/node': 18.19.50
@@ -15926,15 +16022,15 @@ snapshots:
dependencies:
'@types/node': 18.19.50
'@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)':
'@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 8.7.0(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/type-utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 8.7.0
eslint: 8.57.1
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 8.8.1
eslint: 9.12.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -15944,28 +16040,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.6.2)':
'@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 8.7.0
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 8.8.1
debug: 4.3.6(supports-color@5.5.0)
eslint: 8.57.1
eslint: 9.12.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@8.7.0':
'@typescript-eslint/scope-manager@8.8.1':
dependencies:
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/visitor-keys': 8.7.0
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/type-utils@8.7.0(eslint@8.57.1)(typescript@5.6.2)':
'@typescript-eslint/type-utils@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
'@typescript-eslint/utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2)
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
debug: 4.3.6(supports-color@5.5.0)
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
@@ -15974,12 +16070,12 @@ snapshots:
- eslint
- supports-color
'@typescript-eslint/types@8.7.0': {}
'@typescript-eslint/types@8.8.1': {}
'@typescript-eslint/typescript-estree@8.7.0(typescript@5.6.2)':
'@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.2)':
dependencies:
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/visitor-keys': 8.7.0
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1
debug: 4.3.6(supports-color@5.5.0)
fast-glob: 3.3.2
is-glob: 4.0.3
@@ -15991,20 +16087,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.7.0(eslint@8.57.1)(typescript@5.6.2)':
'@typescript-eslint/utils@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
eslint: 8.57.1
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2)
eslint: 9.12.0(jiti@1.21.6)
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/visitor-keys@8.7.0':
'@typescript-eslint/visitor-keys@8.8.1':
dependencies:
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/types': 8.8.1
eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.2.0': {}
@@ -17565,10 +17661,6 @@ snapshots:
dependencies:
path-type: 4.0.0
doctrine@3.0.0:
dependencies:
esutils: 2.0.3
dom-serializer@1.4.1:
dependencies:
domelementtype: 2.3.0
@@ -17916,20 +18008,20 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
eslint-config-prettier@9.1.0(eslint@8.57.1):
eslint-config-prettier@9.1.0(eslint@9.12.0(jiti@1.21.6)):
dependencies:
eslint: 8.57.1
eslint: 9.12.0(jiti@1.21.6)
eslint-plugin-vue@9.28.0(eslint@8.57.1):
eslint-plugin-vue@9.28.0(eslint@9.12.0(jiti@1.21.6)):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
eslint: 8.57.1
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
eslint: 9.12.0(jiti@1.21.6)
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
semver: 7.6.3
vue-eslint-parser: 9.4.3(eslint@8.57.1)
vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6))
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
@@ -17939,53 +18031,65 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-scope@8.1.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
eslint@8.57.1:
eslint-visitor-keys@4.1.0: {}
eslint@9.12.0(jiti@1.21.6):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
'@eslint-community/regexpp': 4.11.0
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.1
'@humanwhocodes/config-array': 0.13.0
'@eslint/config-array': 0.18.0
'@eslint/core': 0.6.0
'@eslint/eslintrc': 3.1.0
'@eslint/js': 9.12.0
'@eslint/plugin-kit': 0.2.0
'@humanfs/node': 0.16.5
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
'@ungap/structured-clone': 1.2.0
'@humanwhocodes/retry': 0.3.1
'@types/estree': 1.0.6
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.6(supports-color@5.5.0)
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.1.0
eslint-visitor-keys: 4.1.0
espree: 10.2.0
esquery: 1.6.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.2
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
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
strip-ansi: 6.0.1
text-table: 0.2.0
optionalDependencies:
jiti: 1.21.6
transitivePeerDependencies:
- supports-color
esm@3.2.25: {}
espree@10.2.0:
dependencies:
acorn: 8.12.1
acorn-jsx: 5.3.2(acorn@8.12.1)
eslint-visitor-keys: 4.1.0
espree@9.6.1:
dependencies:
acorn: 8.12.1
@@ -18169,9 +18273,9 @@ snapshots:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
file-entry-cache@6.0.1:
file-entry-cache@8.0.0:
dependencies:
flat-cache: 3.2.0
flat-cache: 4.0.1
file-saver@2.0.5: {}
@@ -18237,11 +18341,10 @@ snapshots:
micromatch: 4.0.8
pkg-dir: 4.2.0
flat-cache@3.2.0:
flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
rimraf: 3.0.2
flat@6.0.1: {}
@@ -18505,6 +18608,10 @@ snapshots:
dependencies:
type-fest: 0.20.2
globals@14.0.0: {}
globals@15.10.0: {}
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
@@ -19007,8 +19114,6 @@ snapshots:
is-number@7.0.0: {}
is-path-inside@3.0.3: {}
is-plain-obj@1.1.0: {}
is-plain-obj@2.1.0: {}
@@ -21642,6 +21747,7 @@ snapshots:
rimraf@3.0.2:
dependencies:
glob: 7.2.3
optional: true
rimraf@5.0.10:
dependencies:
@@ -22850,6 +22956,17 @@ snapshots:
typescript: 5.6.2
yaml: 2.5.1
typescript-eslint@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2):
dependencies:
'@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- eslint
- supports-color
typescript@5.4.2: {}
typescript@5.6.2: {}
@@ -23393,10 +23510,10 @@ snapshots:
dependencies:
vue: 3.5.11(typescript@5.6.2)
vue-eslint-parser@9.4.3(eslint@8.57.1):
vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6)):
dependencies:
debug: 4.3.6(supports-color@5.5.0)
eslint: 8.57.1
eslint: 9.12.0(jiti@1.21.6)
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1

View File

@@ -30,7 +30,7 @@ export default function registerHooks({ action }, { services }) {
}
await database(logsCollection).insert({ key, value: '1' });
} catch (err) {
} catch {
await database(logsCollection).insert({ key, value: '0' });
}
}