diff --git a/.changeset/@theguild_eslint-config-431-dependencies.md b/.changeset/@theguild_eslint-config-431-dependencies.md new file mode 100644 index 00000000..19799094 --- /dev/null +++ b/.changeset/@theguild_eslint-config-431-dependencies.md @@ -0,0 +1,6 @@ +--- +"@theguild/eslint-config": patch +--- +dependencies updates: + - Removed dependency [`@rushstack/eslint-patch@^1.6.1` ↗︎](https://www.npmjs.com/package/@rushstack/eslint-patch/v/1.6.1) (from `dependencies`) + - Updated dependency [`eslint@^9` ↗︎](https://www.npmjs.com/package/eslint/v/9.0.0) (from `^8`, in `peerDependencies`) diff --git a/.changeset/few-pianos-decide.md b/.changeset/few-pianos-decide.md new file mode 100644 index 00000000..1fef903b --- /dev/null +++ b/.changeset/few-pianos-decide.md @@ -0,0 +1,5 @@ +--- +"@theguild/eslint-config": minor +--- + +refactor to use flat config diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index ef892c8c..45f34a63 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,7 +1,7 @@ { "name": "@theguild/eslint-config", "version": "0.11.8", - "type": "commonjs", + "type": "module", "description": "The Guild's shared ESLint config", "repository": { "url": "the-guild-org/shared-config", @@ -20,11 +20,10 @@ "eslint-config" ], "peerDependencies": { - "eslint": "^8", + "eslint": "^9", "typescript": "^5" }, "dependencies": { - "@rushstack/eslint-patch": "^1.6.1", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/eslint-config/src/base.js b/packages/eslint-config/src/base.js index 9f72f5b3..37c902cc 100644 --- a/packages/eslint-config/src/base.js +++ b/packages/eslint-config/src/base.js @@ -1,7 +1,7 @@ -const { RESTRICTED_SYNTAX, RESTRICTED_GLOBALS, RESTRICTED_MODULES } = require('./constants.js'); +import { RESTRICTED_GLOBALS, RESTRICTED_MODULES, RESTRICTED_SYNTAX } from './constants.js'; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { parser: '@typescript-eslint/parser', extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], plugins: ['sonarjs', 'unicorn', 'promise', 'import', 'n'], diff --git a/packages/eslint-config/src/constants.js b/packages/eslint-config/src/constants.js index a438cf8d..75712322 100644 --- a/packages/eslint-config/src/constants.js +++ b/packages/eslint-config/src/constants.js @@ -1,4 +1,4 @@ -const RESTRICTED_SYNTAX = [ +export const RESTRICTED_SYNTAX = [ { // ❌ readFile(…, { encoding: … }) selector: `CallExpression[callee.name=/readFileSync|readFile|writeFileSync|writeFile/] > .arguments:last-child[type=ObjectExpression][properties.length=1] Property[key.name=encoding]`, @@ -46,7 +46,7 @@ const RESTRICTED_SYNTAX = [ // }, ]; -const REACT_RESTRICTED_SYNTAX = [ +export const REACT_RESTRICTED_SYNTAX = [ ...RESTRICTED_SYNTAX, { // ❌ useMemo(…, []) @@ -57,9 +57,9 @@ const REACT_RESTRICTED_SYNTAX = [ }, ]; -const RESTRICTED_GLOBALS = ['stop', { name: 'isNaN', message: 'Use Number.isNaN instead' }]; +export const RESTRICTED_GLOBALS = ['stop', { name: 'isNaN', message: 'Use Number.isNaN instead' }]; -const RESTRICTED_MODULES = [ +export const RESTRICTED_MODULES = [ { name: 'axios', message: 'Use `fetch/node-fetch` instead.' }, { name: 'moment', message: 'Use `dayjs/date-fns` instead.' }, { name: 'classnames', message: 'Use `clsx` instead because he is faster.' }, @@ -70,12 +70,6 @@ const RESTRICTED_MODULES = [ { name: 'lodash/identity.js', message: 'Use `(value) => value` instead.' }, ]; -module.exports = { - CODE_BLOCK: '**/*.md{,x}/*', - CODE_FILE: '*.{,c,m}{j,t}s{,x}', - TS_FILE: '*.{,c,m}ts{,x}', - RESTRICTED_GLOBALS, - RESTRICTED_MODULES, - RESTRICTED_SYNTAX, - REACT_RESTRICTED_SYNTAX, -}; +export const CODE_BLOCK = '**/*.md{,x}/*'; +export const CODE_FILE = '*.{,c,m}{j,t}s{,x}'; +export const TS_FILE = '*.{,c,m}ts{,x}'; diff --git a/packages/eslint-config/src/cspell.config.js b/packages/eslint-config/src/cspell.config.js index e38a7cd4..58b62c83 100644 --- a/packages/eslint-config/src/cspell.config.js +++ b/packages/eslint-config/src/cspell.config.js @@ -1,4 +1,4 @@ -const ignoreWords = [ +export const ignoreWords = [ // libraries 'clsx', 'cssnano', @@ -43,7 +43,3 @@ const ignoreWords = [ 'ctsx', 'mtsx', ]; - -module.exports = { - ignoreWords, -}; diff --git a/packages/eslint-config/src/index.js b/packages/eslint-config/src/index.js index 39ec43c4..c702d084 100644 --- a/packages/eslint-config/src/index.js +++ b/packages/eslint-config/src/index.js @@ -1,9 +1,7 @@ -const { CODE_FILE, TS_FILE, CODE_BLOCK } = require('./constants.js'); - -require('@rushstack/eslint-patch/modern-module-resolution'); +import { CODE_BLOCK, CODE_FILE, TS_FILE } from './constants.js'; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { reportUnusedDisableDirectives: true, ignorePatterns: [ '!.*', // Don't ignore dot-files because by default ESLint ignore dot-files (except for .eslintrc.*) and dot-folders diff --git a/packages/eslint-config/src/json.js b/packages/eslint-config/src/json.js index 60701351..6a6cbf4a 100644 --- a/packages/eslint-config/src/json.js +++ b/packages/eslint-config/src/json.js @@ -1,9 +1,9 @@ -const { CODE_BLOCK } = require('./constants.js'); +import { CODE_BLOCK } from './constants.js'; const JSONC_FILES = ['tsconfig.json', 'tsconfig.eslint.json', 'turbo.json', '.vscode/launch.json']; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { overrides: [ { files: '*.json', diff --git a/packages/eslint-config/src/mdx.js b/packages/eslint-config/src/mdx.js index 4ad19e47..866e29cf 100644 --- a/packages/eslint-config/src/mdx.js +++ b/packages/eslint-config/src/mdx.js @@ -1,7 +1,7 @@ -const { CODE_BLOCK } = require('./constants.js'); +import { CODE_BLOCK } from './constants.js'; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { overrides: [ { files: '*.md{,x}', diff --git a/packages/eslint-config/src/react-base.js b/packages/eslint-config/src/react-base.js index 10676cca..4e66e6e9 100644 --- a/packages/eslint-config/src/react-base.js +++ b/packages/eslint-config/src/react-base.js @@ -1,4 +1,4 @@ -const { REACT_RESTRICTED_SYNTAX } = require('./constants.js'); +import { REACT_RESTRICTED_SYNTAX } from './constants.js'; const RESTRICTED_IMPORTS = [ { @@ -15,7 +15,7 @@ const RESTRICTED_IMPORTS = [ ]; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { settings: { react: { version: 'detect', diff --git a/packages/eslint-config/src/react.js b/packages/eslint-config/src/react.js index c69dc4c1..75dd2724 100644 --- a/packages/eslint-config/src/react.js +++ b/packages/eslint-config/src/react.js @@ -1,7 +1,7 @@ -const { CODE_FILE } = require('./constants.js'); +import { CODE_FILE } from './constants.js'; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { ignorePatterns: ['next-env.d.ts'], overrides: [ { diff --git a/packages/eslint-config/src/yml.js b/packages/eslint-config/src/yml.js index 44e6e278..2f92c165 100644 --- a/packages/eslint-config/src/yml.js +++ b/packages/eslint-config/src/yml.js @@ -1,7 +1,7 @@ -const { CODE_BLOCK } = require('./constants.js'); +import { CODE_BLOCK } from './constants.js'; /** @type {import('eslint').Linter.Config} */ -module.exports = { +export default { ignorePatterns: ['pnpm-lock.yaml'], overrides: [ { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ccd1f092..97b9be37 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,57 +55,54 @@ importers: packages/eslint-config: dependencies: - '@rushstack/eslint-patch': - specifier: ^1.6.1 - version: 1.10.2 '@typescript-eslint/eslint-plugin': specifier: ^7.0.0 - version: 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.3.3) + version: 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^7.0.0 - version: 7.7.1(eslint@8.57.0)(typescript@5.3.3) + version: 7.7.1(eslint@9.1.1)(typescript@5.3.3) eslint: - specifier: ^8 - version: 8.57.0 + specifier: ^9 + version: 9.1.1 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.1.1) eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + version: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1) eslint-plugin-jsonc: specifier: ^2.11.1 - version: 2.15.1(eslint@8.57.0) + version: 2.15.1(eslint@9.1.1) eslint-plugin-jsx-a11y: specifier: ^6.8.0 - version: 6.8.0(eslint@8.57.0) + version: 6.8.0(eslint@9.1.1) eslint-plugin-mdx: specifier: ^3.0.0 - version: 3.1.5(eslint@8.57.0) + version: 3.1.5(eslint@9.1.1) eslint-plugin-n: specifier: ^17.0.0 - version: 17.3.1(eslint@8.57.0) + version: 17.3.1(eslint@9.1.1) eslint-plugin-promise: specifier: ^6.1.1 - version: 6.1.1(eslint@8.57.0) + version: 6.1.1(eslint@9.1.1) eslint-plugin-react: specifier: ^7.33.2 - version: 7.34.1(eslint@8.57.0) + version: 7.34.1(eslint@9.1.1) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.57.0) + version: 4.6.0(eslint@9.1.1) eslint-plugin-sonarjs: specifier: ^0.25.0 - version: 0.25.1(eslint@8.57.0) + version: 0.25.1(eslint@9.1.1) eslint-plugin-unicorn: specifier: ^52.0.0 - version: 52.0.0(eslint@8.57.0) + version: 52.0.0(eslint@9.1.1) eslint-plugin-yml: specifier: ^1.11.0 - version: 1.14.0(eslint@8.57.0) + version: 1.14.0(eslint@9.1.1) typescript: specifier: ^5 version: 5.3.3 @@ -1227,6 +1224,17 @@ packages: dependencies: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): + 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: 9.1.1 + eslint-visitor-keys: 3.4.3 + dev: false /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} @@ -1248,9 +1256,32 @@ packages: transitivePeerDependencies: - supports-color + /@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: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: false + /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@eslint/js@9.1.1: + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: false /@fastify/busboy@2.1.1: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} @@ -1266,6 +1297,18 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color + dev: true + + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: false /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1273,6 +1316,16 @@ packages: /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: false + + /@humanwhocodes/retry@0.2.3: + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} + dev: false /@ianvs/prettier-plugin-sort-imports@4.2.1(prettier@3.2.5): resolution: {integrity: sha512-NKN1LVFWUDGDGr3vt+6Ey3qPeN/163uR1pOPAlkWpgvAqgxQ6kSdUf1F0it8aHUtKRUzEGcK38Wxd07O61d7+Q==} @@ -1635,10 +1688,6 @@ packages: dev: true optional: true - /@rushstack/eslint-patch@1.10.2: - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} - dev: false - /@shopify/eslint-plugin@44.0.0(@babel/core@7.24.4)(@types/eslint@8.56.10)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5): resolution: {integrity: sha512-p0BozXrvE7Z8EmnRJKg9QhS+8xbFPRY5u0mUFE2x8iOsSA1Yv1pGh+spR8QTz+zQCxv8DtJ0Hval9XSPFGxw4Q==} peerDependencies: @@ -1834,7 +1883,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.3.3): resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1846,13 +1895,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.7.1(eslint@9.1.1)(typescript@5.3.3) '@typescript-eslint/scope-manager': 7.7.1 - '@typescript-eslint/type-utils': 7.7.1(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 7.7.1(eslint@9.1.1)(typescript@5.3.3) + '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 7.7.1 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.1.1 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1884,7 +1933,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.3.3): resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1899,7 +1948,7 @@ packages: '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 7.7.1 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.1.1 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1949,7 +1998,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@7.7.1(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.3.3): resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1960,9 +2009,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.3.3) - '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.7.1(eslint@9.1.1)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.1.1 ts-api-utils: 1.3.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -2088,19 +2137,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.3.3): resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} 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.1.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.7.1 '@typescript-eslint/types': 7.7.1 '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.3.3) - eslint: 8.57.0 + eslint: 9.1.1 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -3247,6 +3296,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -3561,13 +3611,13 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-compat-utils@0.5.0(eslint@8.57.0): + /eslint-compat-utils@0.5.0(eslint@9.1.1): resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.57.0 + eslint: 9.1.1 semver: 7.6.0 dev: false @@ -3580,13 +3630,13 @@ packages: eslint: 8.57.0 dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@9.1.1): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 9.1.1 dev: false /eslint-import-resolver-node@0.3.9: @@ -3598,7 +3648,7 @@ packages: transitivePeerDependencies: - supports-color - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3607,9 +3657,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.1 - eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint: 9.1.1 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -3621,7 +3671,7 @@ packages: - supports-color dev: false - /eslint-mdx@3.1.5(eslint@8.57.0): + /eslint-mdx@3.1.5(eslint@9.1.1): resolution: {integrity: sha512-ynztX0k7CQ3iDL7fDEIeg3g0O/d6QPv7IBI9fdYLhXp5fAp0fi8X22xF/D3+Pk0f90R27uwqa1clHpay6t0l8Q==} engines: {node: '>=18.0.0'} peerDependencies: @@ -3629,7 +3679,7 @@ packages: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - eslint: 8.57.0 + eslint: 9.1.1 espree: 9.6.1 estree-util-visit: 2.0.0 remark-mdx: 3.0.1 @@ -3675,7 +3725,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -3696,25 +3746,25 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.7.1(eslint@9.1.1)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.57.0 + eslint: 9.1.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1) transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-es-x@7.6.0(eslint@8.57.0): + /eslint-plugin-es-x@7.6.0(eslint@9.1.1): resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) '@eslint-community/regexpp': 4.10.0 - eslint: 8.57.0 - eslint-compat-utils: 0.5.0(eslint@8.57.0) + eslint: 9.1.1 + eslint-compat-utils: 0.5.0(eslint@9.1.1) dev: false /eslint-plugin-es@3.0.1(eslint@8.57.0): @@ -3774,7 +3824,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -3784,16 +3834,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.7.1(eslint@9.1.1)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.4 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.1.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1) hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -3839,15 +3889,15 @@ packages: - typescript dev: true - /eslint-plugin-jsonc@2.15.1(eslint@8.57.0): + /eslint-plugin-jsonc@2.15.1(eslint@9.1.1): resolution: {integrity: sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.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.1.1) + eslint: 9.1.1 + eslint-compat-utils: 0.5.0(eslint@9.1.1) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -3878,28 +3928,54 @@ packages: minimatch: 3.1.2 object.entries: 1.1.7 object.fromentries: 2.0.7 + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@9.1.1): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.24.0 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.17 + eslint: 9.1.1 + hasown: 2.0.1 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + dev: false - /eslint-plugin-markdown@3.0.1(eslint@8.57.0): + /eslint-plugin-markdown@3.0.1(eslint@9.1.1): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} 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.1.1 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-mdx@3.1.5(eslint@8.57.0): + /eslint-plugin-mdx@3.1.5(eslint@9.1.1): resolution: {integrity: sha512-lUE7tP7IrIRHU3gTtASDe5u4YM2SvQveYVJfuo82yn3MLh/B/v05FNySURCK4aIxIYF1QYo3IRemQG/lyQzpAg==} engines: {node: '>=18.0.0'} peerDependencies: eslint: '>=8.0.0' dependencies: - eslint: 8.57.0 - eslint-mdx: 3.1.5(eslint@8.57.0) - eslint-plugin-markdown: 3.0.1(eslint@8.57.0) + eslint: 9.1.1 + eslint-mdx: 3.1.5(eslint@9.1.1) + eslint-plugin-markdown: 3.0.1(eslint@9.1.1) remark-mdx: 3.0.1 remark-parse: 11.0.0 remark-stringify: 11.0.0 @@ -3910,16 +3986,16 @@ packages: - supports-color dev: false - /eslint-plugin-n@17.3.1(eslint@8.57.0): + /eslint-plugin-n@17.3.1(eslint@9.1.1): resolution: {integrity: sha512-25+HTtKe1F8U/M4ERmdzbz/xkm/gaY0OYC8Fcv1z/WvpLJ8Xfh9LzJ13JV5uj4QyCUD8kOPJrNjn/3y+tc57Vw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) enhanced-resolve: 5.16.0 - eslint: 8.57.0 - eslint-plugin-es-x: 7.6.0(eslint@8.57.0) + eslint: 9.1.1 + eslint-plugin-es-x: 7.6.0(eslint@9.1.1) get-tsconfig: 4.7.3 globals: 15.0.0 ignore: 5.3.1 @@ -3971,6 +4047,16 @@ packages: eslint: ^7.0.0 || ^8.0.0 dependencies: eslint: 8.57.0 + dev: true + + /eslint-plugin-promise@6.1.1(eslint@9.1.1): + 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: 9.1.1 + dev: false /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} @@ -3979,6 +4065,16 @@ packages: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: eslint: 8.57.0 + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@9.1.1): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 9.1.1 + dev: false /eslint-plugin-react@7.34.1(eslint@8.57.0): resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} @@ -4005,14 +4101,42 @@ packages: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.10 + dev: true - /eslint-plugin-sonarjs@0.25.1(eslint@8.57.0): + /eslint-plugin-react@7.34.1(eslint@9.1.1): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.findlast: 1.2.4 + array.prototype.flatmap: 1.3.2 + array.prototype.toreversed: 1.1.2 + array.prototype.tosorted: 1.1.3 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.18 + eslint: 9.1.1 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: false + + /eslint-plugin-sonarjs@0.25.1(eslint@9.1.1): resolution: {integrity: sha512-5IOKvj/GMBNqjxBdItfotfRHo7w48496GOu1hxdeXuD0mB1JBlDCViiLHETDTfA8pDAVSBimBEQoetRXYceQEw==} engines: {node: '>=16'} peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.57.0 + eslint: 9.1.1 dev: false /eslint-plugin-sort-class-members@1.20.0(eslint@8.57.0): @@ -4024,19 +4148,19 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + /eslint-plugin-unicorn@52.0.0(eslint@9.1.1): resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.36.0 - eslint: 8.57.0 + eslint: 9.1.1 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -4051,15 +4175,15 @@ packages: - supports-color dev: false - /eslint-plugin-yml@1.14.0(eslint@8.57.0): + /eslint-plugin-yml@1.14.0(eslint@9.1.1): resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.57.0 - eslint-compat-utils: 0.5.0(eslint@8.57.0) + eslint: 9.1.1 + eslint-compat-utils: 0.5.0(eslint@9.1.1) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -4114,6 +4238,15 @@ packages: dependencies: esrecurse: 4.3.0 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: false /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} @@ -4136,6 +4269,11 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 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: false + /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4181,6 +4319,59 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true + + /eslint@9.1.1: + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.1.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.2.3 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + 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: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + 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.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /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: false /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -4306,6 +4497,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 + dev: true /file-entry-cache@7.0.2: resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} @@ -4314,6 +4506,13 @@ packages: flat-cache: 3.2.0 dev: true + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + dependencies: + flat-cache: 4.0.1 + dev: false + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -4356,6 +4555,15 @@ packages: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 + dev: true + + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + dev: false /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -4396,6 +4604,7 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -4517,6 +4726,7 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true /global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} @@ -4535,6 +4745,11 @@ packages: dependencies: type-fest: 0.20.2 + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + dev: false + /globals@15.0.0: resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} engines: {node: '>=18'} @@ -4682,6 +4897,7 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -6091,6 +6307,7 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} @@ -6839,6 +7056,7 @@ packages: hasBin: true dependencies: glob: 7.2.3 + dev: true /rollup@4.14.1: resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==}