diff --git a/.changeset/funny-adults-fold.md b/.changeset/funny-adults-fold.md new file mode 100644 index 0000000000..0123308bd3 --- /dev/null +++ b/.changeset/funny-adults-fold.md @@ -0,0 +1,5 @@ +--- +'@sap-cloud-sdk/eslint-config': patch +--- + +[Improvement] Open the peer dependency range of the `eslint` module to include version 8 and 9. Version 9 can now be used without the potentially unsafe npm flag `--legacy-peer-deps`. diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 8c0818f272..0000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,71 +0,0 @@ -module.exports = { - env: { node: true, jest: true }, - extends: ['@sap-cloud-sdk'], - parser: '@typescript-eslint/parser', - parserOptions: { - project: { - extends: 'tsconfig.json', - include: ['**/*.ts'], - exclude: [ - '**/*.d.ts', - '**/dist/**/*', - '**/node_modules/**/*', - 'test-packages/test-services*/**/*', - 'test-packages/test-services-e2e/**/*', - 'test-packages/memory-tests/sdk-v1/test-service/*', - 'test-packages/memory-tests/sdk-canary/test-service/*', - 'build-packages/check-pr/lib/**', - 'build-packages/get-changelog/lib/**', - 'packages/rest-generator/test/test-services/**/*', - 'test-resources/cli/**/*', - '**/test-output/**', - '**/README.md' - ] - }, - sourceType: 'module' - }, - ignorePatterns: [ - 'dist', - 'node_modules', - 'README.md', - 'test-packages/test-services-odata-v2', - 'test-packages/test-services-odata-v4', - 'test-packages/test-services-odata-common', - 'test-packages/test-services-openapi', - 'test-packages/test-services-e2e', - 'test-packages/e2e-tests/test/generator-test-output', - 'test-packages/memory-tests/sdk-v1/test-service', - 'test-packages/memory-tests/sdk-canary/test-service', - 'packages/rest-generator/test/test-services', - 'scripts/', - 'test-resources/cli/', - 'test-resources/generator/test-output' - ], - overrides: [ - { - files: ['**/test/**/*'], - rules: { - 'import/no-internal-modules': 'off', - 'no-unused-expressions': 'off', - 'jsdoc/require-jsdoc': 'off' - } - }, - { - files: ['**/index.ts'], - rules: { - 'jsdoc/require-description-complete-sentence': 'off' - } - } - ], - rules: { - radix: 'off', - 'no-restricted-syntax': [ - 'error', - { - selector: 'TSEnumDeclaration', - message: - 'Enums are weird in TypeScript. Prefer union types or const objects instead.' - } - ] - } -}; diff --git a/.github/actions/changesets-fixed-version-bump/index.js b/.github/actions/changesets-fixed-version-bump/index.js index 68ce833ae6..4cd283824d 100644 --- a/.github/actions/changesets-fixed-version-bump/index.js +++ b/.github/actions/changesets-fixed-version-bump/index.js @@ -16,6 +16,7 @@ exports.formatJson = formatJson; const node_console_1 = __nccwpck_require__(37540); const get_release_plan_1 = __importDefault(__nccwpck_require__(57651)); const semver_1 = __nccwpck_require__(90084); +// eslint-disable-next-line import/no-internal-modules const get_package_version_1 = __nccwpck_require__(38980); const bumpTypeOrder = ['major', 'minor', 'patch', 'none']; async function getNextVersion() { @@ -24,7 +25,7 @@ async function getNextVersion() { const bumpType = await getBumpType(); (0, node_console_1.info)(`Bump type: ${bumpType}`); if (bumpType === 'none' || !bumpType) { - throw new Error(`No changesets to release`); + throw new Error('No changesets to release'); } const version = (0, semver_1.inc)(currentVersion, bumpType); if (!version) { diff --git a/.github/actions/check-public-api/index.js b/.github/actions/check-public-api/index.js index ea9c7b8a23..28089aa4e6 100644 --- a/.github/actions/check-public-api/index.js +++ b/.github/actions/check-public-api/index.js @@ -72050,7 +72050,6 @@ __exportStar(__nccwpck_require__(83314), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.packageJsonBase = packageJsonBase; -/* eslint-disable valid-jsdoc */ /** * @internal */ diff --git a/.github/actions/get-changelog/index.js b/.github/actions/get-changelog/index.js index d2b74e1372..fe2eb530d4 100644 --- a/.github/actions/get-changelog/index.js +++ b/.github/actions/get-changelog/index.js @@ -44,6 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; Object.defineProperty(exports, "__esModule", ({ value: true })); var core_1 = __nccwpck_require__(7184); +// eslint-disable-next-line import/no-internal-modules var get_changelog_1 = __nccwpck_require__(731); (function () { return __awaiter(void 0, void 0, void 0, function () { var _a, _b, error_1; diff --git a/build-packages/changesets-fixed-version-bump/package.json b/build-packages/changesets-fixed-version-bump/package.json index 219865d330..0257821863 100644 --- a/build-packages/changesets-fixed-version-bump/package.json +++ b/build-packages/changesets-fixed-version-bump/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@vercel/ncc": "^0.38.4", "depcheck": "^1.4.7", - "eslint": "^8.57.1", + "eslint": "^9.39.2", "prettier": "^3.7.4", "typescript": "~5.9.3" } diff --git a/build-packages/changesets-fixed-version-bump/util.ts b/build-packages/changesets-fixed-version-bump/util.ts index 0e909306ac..1ddc47495b 100644 --- a/build-packages/changesets-fixed-version-bump/util.ts +++ b/build-packages/changesets-fixed-version-bump/util.ts @@ -3,6 +3,7 @@ import { info } from 'node:console'; import getReleasePlan from '@changesets/get-release-plan'; import { inc } from 'semver'; +// eslint-disable-next-line import/no-internal-modules import { getPackageVersion } from '../../scripts/get-package-version'; const bumpTypeOrder = ['major', 'minor', 'patch', 'none'] as const; @@ -18,7 +19,7 @@ export async function getNextVersion(): Promise<{ info(`Bump type: ${bumpType}`); if (bumpType === 'none' || !bumpType) { - throw new Error(`No changesets to release`); + throw new Error('No changesets to release'); } const version = inc(currentVersion, bumpType); diff --git a/build-packages/check-license/package.json b/build-packages/check-license/package.json index c86f458084..c4d2d17fd9 100644 --- a/build-packages/check-license/package.json +++ b/build-packages/check-license/package.json @@ -18,7 +18,7 @@ "devDependencies": { "@vercel/ncc": "^0.38.4", "depcheck": "^1.4.7", - "eslint": "^8.57.0", + "eslint": "^9.39.2", "prettier": "^3.7.4", "typescript": "~5.9.3" } diff --git a/build-packages/check-pr/package.json b/build-packages/check-pr/package.json index 64fe041c6c..5be55d4923 100644 --- a/build-packages/check-pr/package.json +++ b/build-packages/check-pr/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@vercel/ncc": "^0.38.4", "depcheck": "^1.4.7", - "eslint": "^8.57.1", + "eslint": "^9.39.2", "mock-fs": "^5.5.0", "prettier": "^3.7.4", "typescript": "~5.9.3" diff --git a/build-packages/check-public-api/check-public-api.spec.ts b/build-packages/check-public-api/check-public-api.spec.ts index fd496f4983..b3f113eb44 100644 --- a/build-packages/check-public-api/check-public-api.spec.ts +++ b/build-packages/check-public-api/check-public-api.spec.ts @@ -1,6 +1,7 @@ -import mock from 'mock-fs'; import path from 'path'; +import mock from 'mock-fs'; import * as core from '@actions/core'; +// eslint-disable-next-line no-restricted-imports import { checkBarrelRecursive, checkIndexFileExists, @@ -10,6 +11,7 @@ import { parseExportedObjectsInFile, regexExportedIndex, typeDescriptorPaths + // eslint-disable-next-line import/no-useless-path-segments } from './index'; describe('check-public-api', () => { diff --git a/build-packages/check-public-api/package.json b/build-packages/check-public-api/package.json index 98f13ae100..502d4003ed 100644 --- a/build-packages/check-public-api/package.json +++ b/build-packages/check-public-api/package.json @@ -26,8 +26,8 @@ "devDependencies": { "@vercel/ncc": "^0.38.4", "depcheck": "^1.4.7", - "eslint": "^8.57.0", + "eslint": "^9.39.2", "prettier": "^3.7.4", "typescript": "~5.9.3" } -} \ No newline at end of file +} diff --git a/build-packages/get-changelog/index.ts b/build-packages/get-changelog/index.ts index a12c88f88d..93e8681b4f 100644 --- a/build-packages/get-changelog/index.ts +++ b/build-packages/get-changelog/index.ts @@ -1,4 +1,5 @@ import { setOutput, setFailed } from '@actions/core'; +// eslint-disable-next-line import/no-internal-modules import { getChangelog } from '../../scripts/get-changelog'; (async () => { diff --git a/build-packages/get-changelog/package.json b/build-packages/get-changelog/package.json index 5c848e4b71..4458489f03 100644 --- a/build-packages/get-changelog/package.json +++ b/build-packages/get-changelog/package.json @@ -18,7 +18,7 @@ "devDependencies": { "@vercel/ncc": "^0.38.4", "depcheck": "^1.4.7", - "eslint": "^8.57.1", + "eslint": "^9.39.2", "prettier": "^3.7.4", "typescript": "~5.9.3" } diff --git a/build-packages/merge-and-write-changelogs/package.json b/build-packages/merge-and-write-changelogs/package.json index 6d863a01b7..a14c96c0ba 100644 --- a/build-packages/merge-and-write-changelogs/package.json +++ b/build-packages/merge-and-write-changelogs/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@vercel/ncc": "^0.38.3", "depcheck": "^1.4.7", - "eslint": "^8.57.1", + "eslint": "^9.39.2", "prettier": "^3.5.2", "typescript": "~5.7.3" } diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000..9ceb2a84dd --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,93 @@ +const { defineConfig, globalIgnores } = require('eslint/config'); + +const globals = require('globals'); +const tsParser = require('@typescript-eslint/parser'); +const js = require('@eslint/js'); + +const { FlatCompat } = require('@eslint/eslintrc'); + +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +module.exports = defineConfig([ + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest + }, + parser: tsParser, + sourceType: 'module', + parserOptions: { + project: { + extends: 'tsconfig.json', + include: ['**/*.ts'], + + exclude: [ + '**/*.d.ts', + '**/dist/**/*', + '**/node_modules/**/*', + 'test-packages/test-services*/**/*', + 'test-packages/test-services-e2e/**/*', + 'test-packages/memory-tests/sdk-v1/test-service/*', + 'test-packages/memory-tests/sdk-canary/test-service/*', + 'build-packages/check-pr/lib/**', + 'build-packages/get-changelog/lib/**', + 'packages/rest-generator/test/test-services/**/*', + 'test-resources/cli/**/*', + '**/test-output/**', + '**/README.md' + ] + } + } + }, + extends: compat.extends('@sap-cloud-sdk'), + rules: { + radix: 'off', + 'no-restricted-syntax': [ + 'error', + { + selector: 'TSEnumDeclaration', + message: + 'Enums are weird in TypeScript. Prefer union types or const objects instead.' + } + ] + } + }, + globalIgnores([ + '**/dist', + '**/node_modules', + '**/README.md', + 'test-packages/test-services-odata-v2', + 'test-packages/test-services-odata-v4', + 'test-packages/test-services-odata-common', + 'test-packages/test-services-openapi', + 'test-packages/test-services-e2e', + 'test-packages/e2e-tests/test/generator-test-output', + 'test-packages/memory-tests/sdk-v1/test-service', + 'test-packages/memory-tests/sdk-canary/test-service', + 'packages/rest-generator/test/test-services', + '**/scripts/', + 'test-resources/cli/', + 'test-resources/generator/test-output', + '**/*.js', + '**/*.json' + ]), + { + files: ['**/test/**/*', '**/*.spec.ts'], + rules: { + 'import/no-internal-modules': 'off', + 'no-unused-expressions': 'off', + 'jsdoc/require-jsdoc': 'off' + } + }, + { + files: ['**/index.ts'], + rules: { + 'jsdoc/require-description-complete-sentence': 'off' + } + } +]); diff --git a/package.json b/package.json index 27725f6a60..c43eca3103 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,10 @@ "type-tests": "yarn workspace @sap-cloud-sdk/type-tests" }, "devDependencies": { - "@types/jest": "^30.0.0", "@changesets/cli": "^2.29.8", + "@eslint/eslintrc": "^3.3.3", + "@eslint/js": "^9.39.2", + "@types/jest": "^30.0.0", "@types/jsonwebtoken": "^9.0.10", "@types/license-checker": "^25.0.6", "@types/mock-fs": "^4.13.4", @@ -98,9 +100,10 @@ "axios": "^1.13.2", "cross-env": "10.1.0", "depcheck": "^1.4.7", - "eslint": "^8.57.1", + "eslint": "^9.39.2", "execa": "^5.0.0", "glob": "^13.0.0", + "globals": "^17.0.0", "jest": "^30.2.0", "jest-junit": "^16.0.0", "license-checker": "^25.0.1", diff --git a/packages/connectivity/src/scp-cf/destination/destination.ts b/packages/connectivity/src/scp-cf/destination/destination.ts index 2fc503633b..fac7c7b049 100644 --- a/packages/connectivity/src/scp-cf/destination/destination.ts +++ b/packages/connectivity/src/scp-cf/destination/destination.ts @@ -399,7 +399,7 @@ export interface DestinationConfiguration { */ Type?: 'HTTP' | 'LDAP' | 'MAIL' | 'RFC'; } -/* eslint-disable-next-line valid-jsdoc */ + /** * @internal */ @@ -409,7 +409,6 @@ export function isDestinationConfiguration( return destination.URL !== undefined; } -/* eslint-disable-next-line valid-jsdoc */ /** * @internal */ diff --git a/packages/connectivity/src/scp-cf/protocol.ts b/packages/connectivity/src/scp-cf/protocol.ts index 9eace50685..b27012ac5e 100644 --- a/packages/connectivity/src/scp-cf/protocol.ts +++ b/packages/connectivity/src/scp-cf/protocol.ts @@ -1,5 +1,3 @@ -/* eslint-disable import/export */ - const protocols = { http: 'http', https: 'https', diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index ae8c1c4758..92e3de8a0c 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -11,6 +11,16 @@ It also uses the `eslint-config-prettier` to avoid any formatting conflicts when ## How to use +Import the flat configuration in your `eslint.config.js`: + +``` +import sapCloudSdkConfig from '@sap-cloud-sdk/eslint-config/flat-config'; +``` + +Then add it to your own configuration in `defineConfig()`: `defineConfig(sapCloudSdkConfig, /* your config */)`. + +### Legacy ESLint configuration files + To add the configuration please adjust your ESlint configuration (usually called `.eslintrc` or `.eslintrc.js`): ``` diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index b9af83fea5..2f6a00c045 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -42,6 +42,6 @@ "typescript-eslint": "^8.51.0" }, "peerDependencies": { - "eslint": "^8.0.0" + "eslint": ">=8.0.0" } } diff --git a/packages/generator-common/src/file-writer/package-json.ts b/packages/generator-common/src/file-writer/package-json.ts index 6604f23bc2..2df7a6dcbc 100644 --- a/packages/generator-common/src/file-writer/package-json.ts +++ b/packages/generator-common/src/file-writer/package-json.ts @@ -25,7 +25,6 @@ export interface PackageJsonOptions { moduleType?: ModuleType; } -/* eslint-disable valid-jsdoc */ /** * @internal */ diff --git a/packages/odata-v4/src/filter-function.ts b/packages/odata-v4/src/filter-function.ts index 96eabced68..53fbacd047 100644 --- a/packages/odata-v4/src/filter-function.ts +++ b/packages/odata-v4/src/filter-function.ts @@ -13,7 +13,6 @@ import type { FilterFunctionReturnType as FilterFunctionReturnTypeBase } from '@sap-cloud-sdk/odata-common/internal'; import type { Entity } from './entity'; -// eslint-disable valid-jsdoc export function filterFunction( functionName: string, diff --git a/test-packages/integration-tests/test/v2/__snapshots__/function-imports.spec.ts.snap b/test-packages/integration-tests/test/v2/__snapshots__/function-imports.spec.ts.snap index 9be4a8dfc3..b3f237ef89 100644 --- a/test-packages/integration-tests/test/v2/__snapshots__/function-imports.spec.ts.snap +++ b/test-packages/integration-tests/test/v2/__snapshots__/function-imports.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing -exports[`Function imports should reject on error response, using \`functionImports\` import 1`] = ` +exports['Function imports should reject on error response, using `functionImports` import 1'] = ` "get request to https://example.com/sap/opu/odata/sap/API_TEST_SRV failed! Some error occured {"code":"ABC","message":{"lang":"en","value":"Some error occured"},"innererror":{"application":{"component_id":"XYZ","service_namespace":"/SAP/","service_id":"API_TEST_SRV","service_version":"0001"},"transactionid":"0123456789ABCDEFGHIJKLMNOPQRSTUV","timestamp":"20130410220202.0726600","Error_Resolution":{"SAP_Transaction":"You can do something!","SAP_Note":"See SAP Note XXXX for error analysis."},"errordetails":[{"code":"ABC","message":"Some error occured","longtext_url":"URL","propertyref":"","severity":"error","target":""}]}} Cause: Request failed with status code 400" diff --git a/test-packages/test-services-odata-common/yarn.lock b/test-packages/test-services-odata-common/yarn.lock deleted file mode 100644 index 628482452e..0000000000 --- a/test-packages/test-services-odata-common/yarn.lock +++ /dev/null @@ -1,13 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -bignumber.js@^9.0.1: - version "9.0.2" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== - -moment@^2.29.4: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== diff --git a/yarn.lock b/yarn.lock index e6a12a8c09..081ad230e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -674,43 +674,86 @@ resolved "https://registry.npmjs.org/@es-joy/resolve.exports/-/resolve.exports-1.2.0.tgz#fe541a68aa080255f798c8561714ac8fad72cdd5" integrity sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g== -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.7.0": +"@eslint-community/eslint-utils@^4.7.0": version "4.7.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/eslint-utils@^4.8.0": + version "4.9.1" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.10.0": version "4.12.1" resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== +"@eslint-community/regexpp@^4.12.1": + version "4.12.2" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== + +"@eslint/config-array@^0.21.1": + version "0.21.1" + resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713" + integrity sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA== + dependencies: + "@eslint/object-schema" "^2.1.7" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/config-helpers@^0.4.2": + version "0.4.2" + resolved "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" + integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw== + dependencies: + "@eslint/core" "^0.17.0" + +"@eslint/core@^0.17.0": + version "0.17.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" + integrity sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.1", "@eslint/eslintrc@^3.3.3": + version "3.3.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz#26393a0806501b5e2b6a43aa588a4d8df67880ac" + integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" + espree "^10.0.1" + globals "^14.0.0" ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^4.1.0" + js-yaml "^4.1.1" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.1": - version "8.57.1" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" - integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== - -"@eslint/js@^9.39.2": +"@eslint/js@9.39.2", "@eslint/js@^9.39.2": version "9.39.2" resolved "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599" integrity sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA== +"@eslint/object-schema@^2.1.7": + version "2.1.7" + resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" + integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== + +"@eslint/plugin-kit@^0.4.1": + version "0.4.1" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" + integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== + dependencies: + "@eslint/core" "^0.17.0" + levn "^0.4.1" + "@exodus/schemasafe@^1.0.0-rc.2": version "1.3.0" resolved "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz#731656abe21e8e769a7f70a4d833e6312fe59b7f" @@ -737,24 +780,28 @@ "@shikijs/types" "^3.17.0" "@shikijs/vscode-textmate" "^10.0.2" -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.7" + resolved "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" + integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ== dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.4.0" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.3": - version "2.0.3" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== +"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== "@inquirer/external-editor@^1.0.2": version "1.0.3" @@ -1206,7 +1253,7 @@ resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.3": version "1.2.8" resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -1725,7 +1772,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.8": +"@types/estree@*", "@types/estree@^1.0.6", "@types/estree@^1.0.8": version "1.0.8" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== @@ -2022,7 +2069,7 @@ "@typescript-eslint/types" "8.51.0" eslint-visitor-keys "^4.2.1" -"@ungap/structured-clone@^1.2.0", "@ungap/structured-clone@^1.3.0": +"@ungap/structured-clone@^1.3.0": version "1.3.0" resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== @@ -2201,7 +2248,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.11.0, acorn@^8.15.0, acorn@^8.4.1, acorn@^8.9.0: +acorn@^8.11.0, acorn@^8.15.0, acorn@^8.4.1: version "8.15.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== @@ -3238,7 +3285,7 @@ cross-env@10.1.0: "@epic-web/invariant" "^1.0.0" cross-spawn "^7.0.6" -cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5, cross-spawn@^7.0.6: +cross-spawn@^7.0.3, cross-spawn@^7.0.5, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -3623,13 +3670,6 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" @@ -4030,15 +4070,15 @@ eslint-rule-docs@^1.1.5: resolved "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.235.tgz#be6ef1fc3525f17b3c859ae2997fedadc89bfb9b" integrity sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A== -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== +eslint-scope@^8.4.0: + version "8.4.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" + integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== @@ -4048,51 +4088,47 @@ eslint-visitor-keys@^4.2.0, eslint-visitor-keys@^4.2.1: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== -eslint@^8.57.0, eslint@^8.57.1: - version "8.57.1" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" - integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.1" - "@humanwhocodes/config-array" "^0.13.0" +eslint@^9.39.2: + version "9.39.2" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz#cb60e6d16ab234c0f8369a3fe7cc87967faf4b6c" + integrity sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw== + dependencies: + "@eslint-community/eslint-utils" "^4.8.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.21.1" + "@eslint/config-helpers" "^0.4.2" + "@eslint/core" "^0.17.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.39.2" + "@eslint/plugin-kit" "^0.4.1" + "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" + cross-spawn "^7.0.6" debug "^4.3.2" - 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" - esquery "^1.4.2" + eslint-scope "^8.4.0" + eslint-visitor-keys "^4.2.1" + espree "^10.4.0" + esquery "^1.5.0" esutils "^2.0.2" 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.19.0" - graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - 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.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" -espree@^10.3.0, espree@^10.4.0: +espree@^10.0.1, espree@^10.3.0, espree@^10.4.0: version "10.4.0" resolved "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== @@ -4101,21 +4137,19 @@ espree@^10.3.0, espree@^10.4.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^4.2.1" -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2, esquery@^1.6.0: +esquery@^1.5.0: + version "1.7.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" + integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== + dependencies: + estraverse "^5.1.0" + +esquery@^1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -4396,12 +4430,12 @@ fecha@^4.2.0: resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" file-uri-to-path@1.0.0: version "1.0.0" @@ -4471,14 +4505,13 @@ findup-sync@^5.0.0: micromatch "^4.0.4" resolve-dir "^1.0.1" -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" flatted@^3.2.9: version "3.3.3" @@ -4797,12 +4830,15 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globals@^17.0.0: + version "17.0.0" + resolved "https://registry.npmjs.org/globals/-/globals-17.0.0.tgz#a4196d9cfeb4d627ba165b4647b1f5853bf90a30" + integrity sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw== globalthis@^1.0.4: version "1.0.4" @@ -4841,11 +4877,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - handlebars@^4.7.8: version "4.7.8" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" @@ -5344,11 +5375,6 @@ is-obj@^2.0.0: resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -6156,7 +6182,7 @@ jwt-decode@^4: resolved "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== -keyv@^4.5.3: +keyv@^4.5.4: version "4.5.4" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -6535,7 +6561,7 @@ minimatch@^10.0.1, minimatch@^10.1.1: dependencies: "@isaacs/brace-expansion" "^5.0.0" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -8900,11 +8926,6 @@ text-hex@1.0.x: resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - tinyglobby@^0.2.14: version "0.2.14" resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" @@ -9148,11 +9169,6 @@ type-fest@^0.18.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - type-fest@^0.21.3: version "0.21.3" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"