diff --git a/eslint.config.js b/eslint.config.js index 5784d7484af2df..0b103b51776cef 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,9 +2,8 @@ import { builtinModules, createRequire } from 'node:module' import eslint from '@eslint/js' import pluginN from 'eslint-plugin-n' -import * as pluginI from 'eslint-plugin-i' +import pluginImportX from 'eslint-plugin-import-x' import pluginRegExp from 'eslint-plugin-regexp' -import tsParser from '@typescript-eslint/parser' import tseslint from 'typescript-eslint' import globals from 'globals' @@ -27,11 +26,11 @@ export default tseslint.config( eslint.configs.recommended, ...tseslint.configs.recommended, ...tseslint.configs.stylistic, - /** @type {any} */ (pluginRegExp.configs['flat/recommended']), + pluginRegExp.configs['flat/recommended'], { name: 'main', languageOptions: { - parser: tsParser, + parser: tseslint.parser, parserOptions: { sourceType: 'module', ecmaVersion: 2022, @@ -43,7 +42,7 @@ export default tseslint.config( }, plugins: { n: pluginN, - i: pluginI, + 'import-x': pluginImportX, }, rules: { 'n/no-exports-assign': 'error', @@ -117,12 +116,12 @@ export default tseslint.config( '@typescript-eslint/prefer-for-of': 'off', '@typescript-eslint/prefer-function-type': 'off', - 'i/no-nodejs-modules': [ + 'import-x/no-nodejs-modules': [ 'error', { allow: builtinModules.map((mod) => `node:${mod}`) }, ], - 'i/no-duplicates': 'error', - 'i/order': 'error', + 'import-x/no-duplicates': 'error', + 'import-x/order': 'error', 'sort-imports': [ 'error', { @@ -177,7 +176,7 @@ export default tseslint.config( 'playground/tailwind/**', // blocked by https://github.com/postcss/postcss-load-config/issues/239 ], rules: { - 'i/no-commonjs': 'error', + 'import-x/no-commonjs': 'error', }, }, { diff --git a/package.json b/package.json index 12206370a6baa6..a878d4c1198f4f 100644 --- a/package.json +++ b/package.json @@ -55,12 +55,10 @@ "@types/picomatch": "^2.3.3", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^5.0.0", - "eslint": "^8.57.0", - "eslint-plugin-i": "^2.29.1", + "eslint": "^9.5.0", + "eslint-plugin-import-x": "^0.5.1", "eslint-plugin-n": "^17.9.0", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.2.0", diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 9463c88eff00cb..a22bc1c66abd29 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -19,7 +19,7 @@ "@typescript-eslint/eslint-plugin": "^7.13.1", "@typescript-eslint/parser": "^7.13.1", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", + "eslint": "^9.5.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 138cb218e58416..f73d3d66bcff04 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -17,7 +17,7 @@ "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", + "eslint": "^9.5.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 233c9520b02049..703fc3f7302f29 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -353,7 +353,6 @@ async function waitForSuccessfulPing( } await wait(ms) - // eslint-disable-next-line no-constant-condition while (true) { if (document.visibilityState === 'visible') { if (await ping()) { diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js index b1f9ea4df7b9ae..8908ac97d12303 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js @@ -1,3 +1,3 @@ export { existsSync } from 'node:fs' -// eslint-disable-next-line i/no-nodejs-modules -- testing that importing without node prefix works +// eslint-disable-next-line import-x/no-nodejs-modules -- testing that importing without node prefix works export { readdirSync } from 'fs' diff --git a/playground/cli-module/vite.config.js b/playground/cli-module/vite.config.js index 89fe27b409b646..dedbf2ef658f86 100644 --- a/playground/cli-module/vite.config.js +++ b/playground/cli-module/vite.config.js @@ -1,4 +1,4 @@ -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import { URL } from 'url' import { defineConfig } from 'vite' diff --git a/playground/css/main.js b/playground/css/main.js index 05a9c426f3419c..97fa123e37ef5d 100644 --- a/playground/css/main.js +++ b/playground/css/main.js @@ -51,7 +51,7 @@ import './layered/index.css' import './dep.css' import './glob-dep.css' -// eslint-disable-next-line i/order +// eslint-disable-next-line import-x/order import { barModuleClasses } from '@vitejs/test-css-js-dep' document .querySelector('.css-js-dep-module') diff --git a/playground/js-sourcemap/importee-pkg/index.js b/playground/js-sourcemap/importee-pkg/index.js index d101d3b2599e8d..95403a93f0d308 100644 --- a/playground/js-sourcemap/importee-pkg/index.js +++ b/playground/js-sourcemap/importee-pkg/index.js @@ -1,2 +1,2 @@ -// eslint-disable-next-line i/no-commonjs +// eslint-disable-next-line import-x/no-commonjs exports.foo = 'foo' diff --git a/playground/object-hooks/vite.config.ts b/playground/object-hooks/vite.config.ts index c0d80292463b6c..ac25d69ba85a17 100644 --- a/playground/object-hooks/vite.config.ts +++ b/playground/object-hooks/vite.config.ts @@ -1,4 +1,4 @@ -/* eslint-disable i/no-nodejs-modules */ +/* eslint-disable import-x/no-nodejs-modules */ import assert from 'assert' import { defineConfig } from 'vite' diff --git a/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js b/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js index 5868e14e44429e..5bd55071bfcc48 100644 --- a/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js +++ b/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js @@ -1,6 +1,6 @@ 'use strict' -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const events = require('events') module.exports = 'foo' in events ? 'pong' : '' diff --git a/playground/optimize-deps/dep-with-builtin-module-cjs/index.js b/playground/optimize-deps/dep-with-builtin-module-cjs/index.js index 91c5f599da39fd..17c7253a0d842e 100644 --- a/playground/optimize-deps/dep-with-builtin-module-cjs/index.js +++ b/playground/optimize-deps/dep-with-builtin-module-cjs/index.js @@ -1,7 +1,7 @@ // no node: protocol intentionally -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const fs = require('fs') -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const path = require('path') // NOTE: require destructure would error immediately because of how esbuild diff --git a/playground/optimize-deps/dep-with-builtin-module-esm/index.js b/playground/optimize-deps/dep-with-builtin-module-esm/index.js index 45defaf3f0565f..f2d5fbc2480353 100644 --- a/playground/optimize-deps/dep-with-builtin-module-esm/index.js +++ b/playground/optimize-deps/dep-with-builtin-module-esm/index.js @@ -1,7 +1,7 @@ // no node: protocol intentionally -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import { readFileSync } from 'fs' -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import path from 'path' // access from named import diff --git a/playground/resolve/browser-field/relative.js b/playground/resolve/browser-field/relative.js index 4629659ee6f843..660d6be578a728 100644 --- a/playground/resolve/browser-field/relative.js +++ b/playground/resolve/browser-field/relative.js @@ -1,4 +1,4 @@ -/* eslint-disable i/no-duplicates */ +/* eslint-disable import-x/no-duplicates */ import ra from './no-ext' import rb from './no-ext.js' // no substitution import rc from './ext' diff --git a/playground/resolve/exports-with-module-condition/index.js b/playground/resolve/exports-with-module-condition/index.js index 53b7bb50be4e8b..d38a0e272c457d 100644 --- a/playground/resolve/exports-with-module-condition/index.js +++ b/playground/resolve/exports-with-module-condition/index.js @@ -1,2 +1,2 @@ -/* eslint-disable i/no-commonjs */ +/* eslint-disable import-x/no-commonjs */ module.exports.msg = '[fail] exports with module condition (index.js)' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e53a23ec16f4a5..a13f7fa3d9f191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,12 +70,6 @@ importers: '@types/ws': specifier: ^8.5.10 version: 8.5.10 - '@typescript-eslint/eslint-plugin': - specifier: ^7.13.1 - version: 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^7.13.1 - version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -83,17 +77,17 @@ importers: specifier: ^5.0.0 version: 5.0.0(conventional-commits-filter@5.0.0) eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-plugin-i: - specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0) + specifier: ^9.5.0 + version: 9.5.0 + eslint-plugin-import-x: + specifier: ^0.5.1 + version: 0.5.1(eslint@9.5.0)(typescript@5.2.2) eslint-plugin-n: specifier: ^17.9.0 - version: 17.9.0(eslint@8.57.0) + version: 17.9.0(eslint@9.5.0) eslint-plugin-regexp: specifier: ^2.6.0 - version: 2.6.0(eslint@8.57.0) + version: 2.6.0(eslint@9.5.0) execa: specifier: ^9.2.0 version: 9.2.0 @@ -141,7 +135,7 @@ importers: version: 5.2.2 typescript-eslint: specifier: ^7.13.1 - version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) + version: 7.13.1(eslint@9.5.0)(typescript@5.2.2) vite: specifier: workspace:* version: link:packages/vite @@ -2750,18 +2744,22 @@ packages: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} 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.16.0': + resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@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/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.5.0': resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} 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} + '@fastify/busboy@2.1.0': resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -2775,16 +2773,13 @@ packages: '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@5.0.0': resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} @@ -3744,6 +3739,7 @@ packages: are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -4367,38 +4363,17 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.8.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - eslint-plugin-es-x@7.5.0: resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' - eslint-plugin-i@2.29.1: - resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} - engines: {node: '>=12'} + eslint-plugin-import-x@0.5.1: + resolution: {integrity: sha512-2JK8bbFOLes+gG6tgdnM8safCxMAj4u2wjX8X1BRFPfnY7Ct2hFYESoIcVwABX/DDcdpQFLGtKmzbNEWJZD9iQ==} + engines: {node: '>=16'} peerDependencies: - eslint: ^7.2.0 || ^8 + eslint: ^8.56.0 || ^9.0.0-0 eslint-plugin-n@17.9.0: resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} @@ -4412,26 +4387,30 @@ packages: peerDependencies: eslint: '>=8.44.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + 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.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} + + eslint@9.5.0: + resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true esniff@2.0.1: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -4515,9 +4494,9 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - 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'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -4543,12 +4522,12 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.2.5: - resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} floating-vue@5.2.2: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} @@ -4616,6 +4595,7 @@ packages: gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} @@ -4691,18 +4671,20 @@ packages: glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.6.0: resolution: {integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==} @@ -4840,6 +4822,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4983,6 +4966,9 @@ packages: engines: {node: '>=4'} hasBin: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@3.0.0: resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5007,6 +4993,9 @@ packages: jstransformer@1.0.0: resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kill-port@1.6.1: resolution: {integrity: sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==} hasBin: true @@ -5556,6 +5545,7 @@ packages: npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -6386,7 +6376,7 @@ packages: engines: {node: '>=0.6'} token-stream@1.0.0: - resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} @@ -6460,10 +6450,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@3.13.1: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} @@ -7959,22 +7945,30 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': dependencies: - eslint: 8.57.0 + eslint: 9.5.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.1': {} '@eslint-community/regexpp@4.9.1': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.16.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.5 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.2.4 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -7982,10 +7976,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} - '@eslint/js@9.5.0': {} + '@eslint/object-schema@2.1.4': {} + '@fastify/busboy@2.1.0': {} '@floating-ui/core@1.6.0': @@ -7998,17 +7992,9 @@ snapshots: '@floating-ui/utils@0.2.1': {} - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.5 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@hutson/parse-repository-url@5.0.0': {} @@ -8444,15 +8430,15 @@ snapshots: dependencies: '@types/node': 20.14.4 - '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 7.13.1 - '@typescript-eslint/type-utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 7.13.1 - eslint: 8.57.0 + eslint: 9.5.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -8462,14 +8448,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 7.13.1 debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.5.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -8480,12 +8466,12 @@ snapshots: '@typescript-eslint/types': 7.13.1 '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/type-utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/type-utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.5.0 ts-api-utils: 1.3.0(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -8509,13 +8495,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - eslint: 8.57.0 + eslint: 9.5.0 transitivePeerDependencies: - supports-color - typescript @@ -9652,9 +9638,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.1.2(eslint@8.57.0): + eslint-compat-utils@0.1.2(eslint@9.5.0): dependencies: - eslint: 8.57.0 + eslint: 9.5.0 eslint-import-resolver-node@0.3.9: dependencies: @@ -9664,102 +9650,89 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-es-x@7.5.0(eslint@8.57.0): + eslint-plugin-es-x@7.5.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@eslint-community/regexpp': 4.10.1 - eslint: 8.57.0 - eslint-compat-utils: 0.1.2(eslint@8.57.0) + eslint: 9.5.0 + eslint-compat-utils: 0.1.2(eslint@9.5.0) - eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0): + eslint-plugin-import-x@0.5.1(eslint@9.5.0)(typescript@5.2.2): dependencies: + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) debug: 4.3.5 doctrine: 3.0.0 - eslint: 8.57.0 + eslint: 9.5.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.5 is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 9.0.4 semver: 7.6.0 + tslib: 2.6.3 transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - supports-color + - typescript - eslint-plugin-n@17.9.0(eslint@8.57.0): + eslint-plugin-n@17.9.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) enhanced-resolve: 5.17.0 - eslint: 8.57.0 - eslint-plugin-es-x: 7.5.0(eslint@8.57.0) + eslint: 9.5.0 + eslint-plugin-es-x: 7.5.0(eslint@9.5.0) get-tsconfig: 4.7.5 globals: 15.6.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 - eslint-plugin-regexp@2.6.0(eslint@8.57.0): + eslint-plugin-regexp@2.6.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@eslint-community/regexpp': 4.9.1 comment-parser: 1.4.0 - eslint: 8.57.0 + eslint: 9.5.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.5.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.16.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.5.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@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.5 - 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.1.0 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.2.4 + 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 @@ -9778,11 +9751,11 @@ snapshots: event-emitter: 0.3.5 type: 2.7.2 - espree@9.6.1: + espree@10.1.0: dependencies: acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-jsx: 5.3.2(acorn@8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4)) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 esquery@1.5.0: dependencies: @@ -9913,9 +9886,9 @@ snapshots: dependencies: is-unicode-supported: 2.0.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.0.4 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: @@ -9956,12 +9929,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.0.4: + flat-cache@4.0.1: dependencies: - flatted: 3.2.5 - rimraf: 3.0.2 + flatted: 3.3.1 + keyv: 4.5.4 - flatted@3.2.5: {} + flatted@3.3.1: {} floating-vue@5.2.2(vue@3.4.29(typescript@5.2.2)): dependencies: @@ -10096,7 +10069,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 5.0.0 path-scurry: 1.10.1 @@ -10136,9 +10109,7 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.6.0: {} @@ -10381,6 +10352,8 @@ snapshots: jsesc@2.5.2: {} + json-buffer@3.0.1: {} + json-parse-even-better-errors@3.0.0: {} json-schema-traverse@0.4.1: {} @@ -10402,6 +10375,10 @@ snapshots: is-promise: 2.2.2 promise: 7.3.1 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + kill-port@1.6.1: dependencies: get-them-args: 1.3.2 @@ -11478,7 +11455,7 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 regenerate-unicode-properties@10.1.0: dependencies: @@ -11494,7 +11471,7 @@ snapshots: regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 refa: 0.12.1 regexpu-core@5.3.2: @@ -11630,7 +11607,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -12023,8 +12000,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@3.13.1: {} type-fest@4.20.0: {} @@ -12038,12 +12013,12 @@ snapshots: type@2.7.2: {} - typescript-eslint@7.13.1(eslint@8.57.0)(typescript@5.2.2): + typescript-eslint@7.13.1(eslint@9.5.0)(typescript@5.2.2): dependencies: - '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + eslint: 9.5.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: