From 49418a0352e77a88e00c0f4cdb98f87b8d3ab5b1 Mon Sep 17 00:00:00 2001 From: JounQin Date: Sun, 31 Mar 2024 16:35:28 +0800 Subject: [PATCH] feat!: upgrade @typescript-eslint/utils to v7 (#66) * feat!: drop eslint <8.56 support * feat!: remove eslint-compat-utils, remove compatibility codes --- .changeset/blue-pianos-drum.md | 5 + .changeset/chilled-roses-smile.md | 5 + .eslintrc.js | 9 +- .github/workflows/ci.yml | 7 +- package.json | 38 +- ...h => @typescript-eslint+utils+7.4.0.patch} | 26 +- src/rules/consistent-type-specifier-style.ts | 3 +- src/rules/dynamic-import-chunkname.ts | 3 +- src/rules/extensions.ts | 11 +- src/rules/first.ts | 3 +- src/rules/group-exports.ts | 2 +- src/rules/named.ts | 10 +- src/rules/newline-after-import.ts | 14 +- src/rules/no-absolute-path.ts | 5 +- src/rules/no-anonymous-default-export.ts | 2 +- src/rules/no-commonjs.ts | 7 +- src/rules/no-cycle.ts | 4 +- src/rules/no-default-export.ts | 8 +- src/rules/no-duplicates.ts | 3 +- src/rules/no-empty-named-blocks.ts | 3 +- src/rules/no-extraneous-dependencies.ts | 5 +- src/rules/no-import-module-exports.ts | 15 +- src/rules/no-namespace.ts | 3 +- src/rules/no-relative-packages.ts | 3 +- src/rules/no-relative-parent-imports.ts | 4 +- src/rules/no-restricted-paths.ts | 9 +- src/rules/no-self-import.ts | 5 +- src/rules/no-unassigned-import.ts | 3 +- src/rules/no-unused-modules.ts | 82 +- src/rules/no-useless-path-segments.ts | 4 +- src/rules/order.ts | 15 +- src/types.ts | 10 +- src/utils/export-map.ts | 57 +- src/utils/get-ancestors.ts | 11 +- src/utils/get-scope.ts | 13 +- src/utils/module-visitor.ts | 10 +- src/utils/package-path.ts | 12 +- src/utils/parse.ts | 4 +- src/utils/resolve.ts | 4 +- test/rules/default.spec.ts | 7 +- test/rules/export.spec.ts | 13 +- test/rules/named.spec.ts | 43 +- test/rules/namespace.spec.ts | 47 +- .../rules/no-anonymous-default-export.spec.ts | 7 +- test/rules/no-default-export.spec.ts | 7 +- test/rules/no-mutable-exports.spec.ts | 12 +- test/rules/no-named-as-default-member.spec.ts | 13 +- test/rules/no-named-as-default.spec.ts | 16 +- test/rules/no-named-default.spec.ts | 7 +- test/rules/no-named-export.spec.ts | 8 +- test/rules/no-unresolved.spec.ts | 66 +- test/rules/no-unused-modules.spec.ts | 52 +- test/rules/prefer-default-export.spec.ts | 18 +- test/utils.ts | 6 +- test/utils/export-map.spec.ts | 15 +- test/utils/parse.spec.ts | 67 +- test/utils/resolve.spec.ts | 228 +-- yarn.lock | 1570 +++++++++-------- 58 files changed, 1261 insertions(+), 1378 deletions(-) create mode 100644 .changeset/blue-pianos-drum.md create mode 100644 .changeset/chilled-roses-smile.md rename patches/{@typescript-eslint+utils+5.62.0.patch => @typescript-eslint+utils+7.4.0.patch} (55%) diff --git a/.changeset/blue-pianos-drum.md b/.changeset/blue-pianos-drum.md new file mode 100644 index 000000000..1f8ec83d9 --- /dev/null +++ b/.changeset/blue-pianos-drum.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-import-x": minor +--- + +chore(dep)!: drop eslint <8.56 support diff --git a/.changeset/chilled-roses-smile.md b/.changeset/chilled-roses-smile.md new file mode 100644 index 000000000..709db44fa --- /dev/null +++ b/.changeset/chilled-roses-smile.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-import-x": minor +--- + +feat!: upgrade @typescript-eslint/utils to v7 diff --git a/.eslintrc.js b/.eslintrc.js index eb4d6d706..27ce99ac8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,3 @@ -const eslintPkg = require('eslint/package.json') -const semver = require('semver') - /** * @type {import('eslint').Linter.Config} */ @@ -12,11 +9,9 @@ module.exports = { 'plugin:eslint-plugin/recommended', 'plugin:import-x/recommended', 'plugin:n/recommended', - semver.satisfies(eslintPkg.version, '>=8') - ? 'plugin:unicorn/recommended' - : undefined, + 'plugin:unicorn/recommended', 'plugin:prettier/recommended', - ].filter(Boolean), + ], env: { node: true, es6: true, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 895579bf0..0ff918346 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,9 +18,8 @@ jobs: - 18 - 20 eslint: - - 7.2 - - 7 - - 8 + - '8.56' + - '8' runs-on: ${{ matrix.os }} steps: - name: Checkout Repo @@ -60,7 +59,7 @@ jobs: EFF_NO_LINK_RULES: true PARSER_NO_WATCH: true SKIP_YARN_COREPACK_CHECK: 1 - if: ${{ matrix.node == 20 && matrix.eslint == 8 }} + if: ${{ matrix.node == 20 }} - name: Codecov uses: codecov/codecov-action@v3 diff --git a/package.json b/package.json index 7ecd77f45..5c7edd3d2 100644 --- a/package.json +++ b/package.json @@ -45,13 +45,12 @@ "watch": "yarn test --watch" }, "peerDependencies": { - "eslint": "^7.2.0 || ^8 || ^9.0.0-0" + "eslint": "^8.56.0 || ^9.0.0-0" }, "dependencies": { - "@typescript-eslint/utils": "^5.62.0", + "@typescript-eslint/utils": "^7.4.0", "debug": "^4.3.4", "doctrine": "^3.0.0", - "eslint-compat-utils": "^0.5.0", "eslint-import-resolver-node": "^0.3.9", "get-tsconfig": "^4.7.3", "is-glob": "^4.0.3", @@ -62,33 +61,32 @@ "@1stg/prettier-config": "^4.0.1", "@1stg/tsconfig": "^2.3.3", "@angular-eslint/template-parser": "^17.3.0", - "@babel/core": "^7.24.0", - "@babel/eslint-parser": "^7.23.10", - "@babel/plugin-proposal-decorators": "^7.24.0", - "@babel/plugin-proposal-export-default-from": "^7.23.3", - "@babel/preset-env": "^7.24.0", - "@babel/preset-flow": "^7.24.0", - "@babel/preset-react": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", + "@babel/core": "^7.24.3", + "@babel/eslint-parser": "^7.24.1", + "@babel/plugin-proposal-decorators": "^7.24.1", + "@babel/plugin-proposal-export-default-from": "^7.24.1", + "@babel/preset-env": "^7.24.3", + "@babel/preset-flow": "^7.24.1", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", "@babel/register": "^7.23.7", "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@eslint/import-test-order-redirect-scoped": "link:./test/fixtures/order-redirect-scoped", "@swc-node/jest": "^1.8.0", - "@swc/core": "^1.4.8", + "@swc/core": "^1.4.11", "@swc/helpers": "^0.5.7", "@test-scope/some-module": "link:./test/fixtures/symlinked-module", "@total-typescript/ts-reset": "^0.5.1", "@types/debug": "^4.1.12", "@types/doctrine": "^0.0.9", - "@types/eslint": "^8.56.5", + "@types/eslint": "^8.56.6", "@types/is-glob": "^4.0.4", "@types/jest": "^29.5.12", "@types/json-schema": "^7.0.15", - "@types/node": "^20.11.28", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "@typescript-eslint/typescript-estree": "^5.62.0", + "@types/node": "^20.11.30", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", "@unts/patch-package": "^8.0.0", "cross-env": "^7.0.3", "enhanced-resolve": "^5.16.0", @@ -99,7 +97,7 @@ "eslint-import-resolver-typescript": "^3.6.1", "eslint-import-resolver-webpack": "^0.13.8", "eslint-import-test-order-redirect": "link:./test/fixtures/order-redirect", - "eslint-plugin-eslint-plugin": "^5.4.0", + "eslint-plugin-eslint-plugin": "^5.4.1", "eslint-plugin-import-x": "link:.", "eslint-plugin-jest": "^27.9.0", "eslint-plugin-json": "^3.1.0", @@ -113,7 +111,7 @@ "rimraf": "^5.0.5", "svelte": "^4.2.12", "ts-node": "^10.9.2", - "type-fest": "^4.12.0", - "typescript": "~5.1.0" + "type-fest": "^4.14.0", + "typescript": "^5.4.3" } } diff --git a/patches/@typescript-eslint+utils+5.62.0.patch b/patches/@typescript-eslint+utils+7.4.0.patch similarity index 55% rename from patches/@typescript-eslint+utils+5.62.0.patch rename to patches/@typescript-eslint+utils+7.4.0.patch index cdd994086..6a6a3bb42 100644 --- a/patches/@typescript-eslint+utils+5.62.0.patch +++ b/patches/@typescript-eslint+utils+7.4.0.patch @@ -1,11 +1,11 @@ diff --git a/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts b/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts -index 9a3a1fd..c6ed412 100644 +index 5ae7288..3d14a45 100644 --- a/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +++ b/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts -@@ -6,6 +6,10 @@ import type { Scope } from './Scope'; - import type { SourceCode } from './SourceCode'; - export type RuleRecommendation = 'error' | 'strict' | 'warn' | false; - interface RuleMetaDataDocs { +@@ -11,6 +11,10 @@ export interface RuleRecommendationAcrossConfigs; + } + export interface RuleMetaDataDocs { + /** + * The category the rule falls under + */ @@ -13,23 +13,23 @@ index 9a3a1fd..c6ed412 100644 /** * Concise description of the rule */ -@@ -15,7 +19,7 @@ interface RuleMetaDataDocs { +@@ -20,7 +24,7 @@ export interface RuleMetaDataDocs { * Used by the build tools to generate the recommended and strict configs. - * Set to false to not include it as a recommendation + * Exclude to not include it as a recommendation. */ -- recommended: 'error' | 'strict' | 'warn' | false; -+ recommended?: 'error' | 'strict' | 'warn' | boolean; +- recommended?: RuleRecommendation | RuleRecommendationAcrossConfigs; ++ recommended?: RuleRecommendation | RuleRecommendationAcrossConfigs | boolean; /** * The URL of the rule's docs */ diff --git a/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts b/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts -index c8afefe..d629d04 100644 +index 38d1f12..bf897a3 100644 --- a/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts +++ b/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts -@@ -115,7 +115,7 @@ interface RunTests[]; +@@ -113,7 +113,7 @@ interface RunTests[]; } - interface RuleTesterConfig extends Linter.Config { + interface RuleTesterConfig extends ClassicConfig.Config { - readonly parser: string; + readonly parser?: string; readonly parserOptions?: Readonly; diff --git a/src/rules/consistent-type-specifier-style.ts b/src/rules/consistent-type-specifier-style.ts index 3efc04728..2b540e683 100644 --- a/src/rules/consistent-type-specifier-style.ts +++ b/src/rules/consistent-type-specifier-style.ts @@ -1,5 +1,4 @@ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import { createRule } from '../utils' @@ -74,7 +73,7 @@ export = createRule<[Options?], MessageId>({ }, defaultOptions: [], create(context) { - const sourceCode = getSourceCode(context) + const { sourceCode } = context if (context.options[0] === 'prefer-inline') { return { diff --git a/src/rules/dynamic-import-chunkname.ts b/src/rules/dynamic-import-chunkname.ts index 415ce2d27..d394ee784 100644 --- a/src/rules/dynamic-import-chunkname.ts +++ b/src/rules/dynamic-import-chunkname.ts @@ -1,7 +1,6 @@ import vm from 'node:vm' import type { TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import { createRule } from '../utils' @@ -75,7 +74,7 @@ export = createRule<[Options?], MessageId>({ const chunkSubstrRegex = new RegExp(chunkSubstrFormat) function run(node: TSESTree.Node, arg: TSESTree.Node) { - const sourceCode = getSourceCode(context) + const { sourceCode } = context const leadingComments = sourceCode.getCommentsBefore(arg) if ((!leadingComments || leadingComments.length === 0) && !allowEmpty) { diff --git a/src/rules/extensions.ts b/src/rules/extensions.ts index ca0364cf8..a1450d067 100644 --- a/src/rules/extensions.ts +++ b/src/rules/extensions.ts @@ -11,19 +11,22 @@ import { } from '../utils' const enumValues = { - enum: ['always', 'ignorePackages', 'never'] as const, + type: 'string' as const, + enum: ['always', 'ignorePackages', 'never'], } const patternProperties = { - type: 'object', + type: 'object' as const, patternProperties: { '.*': enumValues }, } const properties = { - type: 'object', + type: 'object' as const, properties: { pattern: patternProperties, - ignorePackages: { type: 'boolean' }, + ignorePackages: { + type: 'boolean' as const, + }, }, } diff --git a/src/rules/first.ts b/src/rules/first.ts index 37c36d03e..05e2f75a7 100644 --- a/src/rules/first.ts +++ b/src/rules/first.ts @@ -1,5 +1,4 @@ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import type { RuleContext } from '../types' import { createRule } from '../utils' @@ -53,7 +52,7 @@ export = createRule<['absolute-first'?], MessageId>({ } const absoluteFirst = context.options[0] === 'absolute-first' - const sourceCode = getSourceCode(context) + const { sourceCode } = context const originSourceCode = sourceCode.getText() let nonImportCount = 0 diff --git a/src/rules/group-exports.ts b/src/rules/group-exports.ts index 9d953a88f..377712f6b 100644 --- a/src/rules/group-exports.ts +++ b/src/rules/group-exports.ts @@ -44,7 +44,7 @@ export = createRule<[], 'ExportNamedDeclaration' | 'AssignmentExpression'>({ description: 'Prefer named exports to be grouped together in a single export declaration.', }, - schema: {}, + schema: [], messages: { ExportNamedDeclaration: 'Multiple named export declarations; consolidate all named exports into a single export declaration', diff --git a/src/rules/named.ts b/src/rules/named.ts index bddfa8437..75e87caa2 100644 --- a/src/rules/named.ts +++ b/src/rules/named.ts @@ -1,7 +1,6 @@ import path from 'node:path' import type { TSESTree } from '@typescript-eslint/utils' -import { getFilename, getPhysicalFilename } from 'eslint-compat-utils' import { ExportMap, createRule } from '../utils' import type { ModuleOptions } from '../utils' @@ -97,10 +96,7 @@ export = createRule<[ModuleOptions?], MessageId>({ if (deepLookup.path.length > 1) { const deepPath = deepLookup.path .map(i => - path.relative( - path.dirname(getPhysicalFilename(context)), - i.path, - ), + path.relative(path.dirname(context.physicalFilename), i.path), ) .join(' -> ') @@ -196,9 +192,7 @@ export = createRule<[ModuleOptions?], MessageId>({ if (!deepLookup.found) { if (deepLookup.path.length > 1) { const deepPath = deepLookup.path - .map(i => - path.relative(path.dirname(getFilename(context)), i.path), - ) + .map(i => path.relative(path.dirname(context.filename), i.path)) .join(' -> ') context.report({ diff --git a/src/rules/newline-after-import.ts b/src/rules/newline-after-import.ts index 47fb1ba32..6e8bc7ed9 100644 --- a/src/rules/newline-after-import.ts +++ b/src/rules/newline-after-import.ts @@ -4,7 +4,6 @@ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' import debug from 'debug' -import { getPhysicalFilename } from 'eslint-compat-utils' import { isStaticRequire, createRule, getScope } from '../utils' @@ -245,7 +244,11 @@ export = createRule<[Options?], MessageId>({ } // skip "export import"s - if (node.type === 'TSImportEqualsDeclaration' && node.isExport) { + if ( + node.type === 'TSImportEqualsDeclaration' && + // @ts-expect-error - legacy parser type + node.isExport + ) { return } @@ -254,7 +257,9 @@ export = createRule<[Options?], MessageId>({ } else if ( nextNode && nextNode.type !== 'ImportDeclaration' && - (nextNode.type !== 'TSImportEqualsDeclaration' || nextNode.isExport) + (nextNode.type !== 'TSImportEqualsDeclaration' || + // @ts-expect-error - legacy parser type + nextNode.isExport) ) { checkForNewLine(node, nextNode, 'import') } @@ -269,7 +274,8 @@ export = createRule<[Options?], MessageId>({ } }, 'Program:exit'(node) { - log('exit processing for', getPhysicalFilename(context)) + log('exit processing for', context.physicalFilename) + const scopeBody = getScopeBody(getScope(context, node)) log('got scope:', scopeBody) diff --git a/src/rules/no-absolute-path.ts b/src/rules/no-absolute-path.ts index fbf2306f8..28f63ec9e 100644 --- a/src/rules/no-absolute-path.ts +++ b/src/rules/no-absolute-path.ts @@ -1,7 +1,5 @@ import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' - import { isAbsolute, createRule, @@ -37,10 +35,9 @@ export = createRule<[ModuleOptions?], MessageId>({ node: source, messageId: 'absolute', fix(fixer) { - const resolvedContext = getPhysicalFilename(context) // node.js and web imports work with posix style paths ("/") let relativePath = path.posix.relative( - path.dirname(resolvedContext), + path.dirname(context.physicalFilename), source.value, ) if (!relativePath.startsWith('.')) { diff --git a/src/rules/no-anonymous-default-export.ts b/src/rules/no-anonymous-default-export.ts index 2d1e10c65..7551e8518 100644 --- a/src/rules/no-anonymous-default-export.ts +++ b/src/rules/no-anonymous-default-export.ts @@ -105,7 +105,7 @@ const schemaProperties = Object.fromEntries( def.option, { description: def.description, - type: 'boolean', + type: 'boolean' as const, }, ]), ) diff --git a/src/rules/no-commonjs.ts b/src/rules/no-commonjs.ts index 9e9edbd7d..689a88da4 100644 --- a/src/rules/no-commonjs.ts +++ b/src/rules/no-commonjs.ts @@ -76,7 +76,12 @@ export = createRule<[Options?], MessageId>({ anyOf: [ { type: 'array', - items: [{ enum: ['allow-primitive-modules'] }], + items: [ + { + type: 'string', + enum: ['allow-primitive-modules'], + }, + ], additionalItems: false, }, { diff --git a/src/rules/no-cycle.ts b/src/rules/no-cycle.ts index edbf03fcd..58a0a20e1 100644 --- a/src/rules/no-cycle.ts +++ b/src/rules/no-cycle.ts @@ -2,8 +2,6 @@ * Ensures that no imported module imports the linted module. */ -import { getPhysicalFilename } from 'eslint-compat-utils' - import type { DeclarationMetadata, ModuleOptions } from '../utils' import { ExportMap, @@ -72,7 +70,7 @@ export = createRule<[Options?], MessageId>({ }, defaultOptions: [], create(context) { - const filename = getPhysicalFilename(context) + const filename = context.physicalFilename if (filename === '') { return {} diff --git a/src/rules/no-default-export.ts b/src/rules/no-default-export.ts index c7aa4140f..8cb95b8ca 100644 --- a/src/rules/no-default-export.ts +++ b/src/rules/no-default-export.ts @@ -1,5 +1,3 @@ -import { getSourceCode } from 'eslint-compat-utils' - import { createRule } from '../utils' export = createRule({ @@ -24,9 +22,11 @@ export = createRule({ return {} } + const { sourceCode } = context + return { ExportDefaultDeclaration(node) { - const { loc } = getSourceCode(context).getFirstTokens(node)[1] || {} + const { loc } = sourceCode.getFirstTokens(node)[1] || {} context.report({ node, messageId: 'preferNamed', @@ -41,7 +41,7 @@ export = createRule({ ('value' in specifier.exported && specifier.exported.value)) === 'default', )) { - const { loc } = getSourceCode(context).getFirstTokens(node)[1] || {} + const { loc } = sourceCode.getFirstTokens(node)[1] || {} // @ts-expect-error - experimental parser type if (specifier.type === 'ExportDefaultSpecifier') { context.report({ diff --git a/src/rules/no-duplicates.ts b/src/rules/no-duplicates.ts index 9f54df99a..8e115c07a 100644 --- a/src/rules/no-duplicates.ts +++ b/src/rules/no-duplicates.ts @@ -1,5 +1,4 @@ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import semver from 'semver' import type { PackageJson } from 'type-fest' @@ -29,7 +28,7 @@ function checkImports( for (const [module, nodes] of imported.entries()) { if (nodes.length > 1) { const [first, ...rest] = nodes - const sourceCode = getSourceCode(context) + const { sourceCode } = context const fix = getFix(first, rest, sourceCode, context) context.report({ diff --git a/src/rules/no-empty-named-blocks.ts b/src/rules/no-empty-named-blocks.ts index 5322188d5..767eaf095 100644 --- a/src/rules/no-empty-named-blocks.ts +++ b/src/rules/no-empty-named-blocks.ts @@ -1,5 +1,4 @@ import type { TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import { createRule } from '../utils' @@ -104,7 +103,7 @@ export = createRule({ fix(fixer) { // Remove the empty block and the 'from' token, leaving the import only for its side // effects, e.g. `import 'mod'` - const sourceCode = getSourceCode(context) + const { sourceCode } = context const fromToken = pTokens.find(t => t.value === 'from')! const importToken = pTokens.find( t => t.value === 'import', diff --git a/src/rules/no-extraneous-dependencies.ts b/src/rules/no-extraneous-dependencies.ts index 7165f440d..9d9c167cb 100644 --- a/src/rules/no-extraneous-dependencies.ts +++ b/src/rules/no-extraneous-dependencies.ts @@ -2,7 +2,6 @@ import fs from 'node:fs' import path from 'node:path' import type { TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename } from 'eslint-compat-utils' import { minimatch } from 'minimatch' import type { PackageJson } from 'type-fest' @@ -93,7 +92,7 @@ function getDependencies(context: RuleContext, packageDir?: string | string[]) { } else { // use closest package.json const packageJsonPath = pkgUp({ - cwd: getPhysicalFilename(context), + cwd: context.physicalFilename, })! const packageContent_ = getPackageDepFields(packageJsonPath, false) @@ -382,7 +381,7 @@ export = createRule<[Options?], MessageId>({ create(context) { const options = context.options[0] || {} - const filename = getPhysicalFilename(context) + const filename = context.physicalFilename const deps = getDependencies(context, options.packageDir) || extractDepFields({}) diff --git a/src/rules/no-import-module-exports.ts b/src/rules/no-import-module-exports.ts index 13aebab79..29c54002f 100644 --- a/src/rules/no-import-module-exports.ts +++ b/src/rules/no-import-module-exports.ts @@ -1,7 +1,6 @@ import path from 'node:path' import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename, getSourceCode } from 'eslint-compat-utils' import { minimatch } from 'minimatch' import type { RuleContext } from '../types' @@ -9,7 +8,7 @@ import { createRule, pkgUp } from '../utils' function getEntryPoint(context: RuleContext) { const pkgPath = pkgUp({ - cwd: getPhysicalFilename(context), + cwd: context.physicalFilename, })! try { return require.resolve(path.dirname(pkgPath)) @@ -21,7 +20,7 @@ function getEntryPoint(context: RuleContext) { } function findScope(context: RuleContext, identifier: string) { - const { scopeManager } = getSourceCode(context) + const { scopeManager } = context.sourceCode return ( scopeManager?.scopes // eslint-disable-next-line unicorn/prefer-spread @@ -91,8 +90,8 @@ export = createRule<[Options?], MessageId>({ return } - const fileName = getPhysicalFilename(context) - const isEntryPoint = entryPoint === fileName + const filename = context.physicalFilename + const isEntryPoint = entryPoint === filename const isIdentifier = node.object.type === 'Identifier' if (!('name' in node.object)) { @@ -109,9 +108,9 @@ export = createRule<[Options?], MessageId>({ const isImportBinding = variableDefinition?.type === 'ImportBinding' const hasCJSExportReference = hasKeywords && (!objectScope || objectScope.type === 'module') - const isException = - !!options.exceptions && - options.exceptions.some(glob => minimatch(fileName, glob)) + const isException = !!options.exceptions?.some(glob => + minimatch(filename, glob), + ) if ( isIdentifier && diff --git a/src/rules/no-namespace.ts b/src/rules/no-namespace.ts index 095cc6746..a8dc2ece2 100644 --- a/src/rules/no-namespace.ts +++ b/src/rules/no-namespace.ts @@ -3,7 +3,6 @@ */ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import { minimatch } from 'minimatch' import { createRule, getScope } from '../utils' @@ -77,7 +76,7 @@ export = createRule<[Options?], MessageId>({ messageId: `noNamespace`, fix: canFix ? fixer => { - const scopeManager = getSourceCode(context).scopeManager! + const scopeManager = context.sourceCode.scopeManager! const fixes: TSESLint.RuleFix[] = [] // Pass 1: Collect variable names that are already in scope for each reference we want diff --git a/src/rules/no-relative-packages.ts b/src/rules/no-relative-packages.ts index 9e23e6f26..b85b37d2e 100644 --- a/src/rules/no-relative-packages.ts +++ b/src/rules/no-relative-packages.ts @@ -1,7 +1,6 @@ import path from 'node:path' import type { TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename } from 'eslint-compat-utils' import type { RuleContext } from '../types' import type { ModuleOptions } from '../utils' @@ -40,7 +39,7 @@ function checkImportForRelativePackage( } const resolvedImport = resolve(importPath, context) - const resolvedContext = getPhysicalFilename(context) + const resolvedContext = context.physicalFilename if (!resolvedImport || !resolvedContext) { return diff --git a/src/rules/no-relative-parent-imports.ts b/src/rules/no-relative-parent-imports.ts index 8b066fca7..42392f8bd 100644 --- a/src/rules/no-relative-parent-imports.ts +++ b/src/rules/no-relative-parent-imports.ts @@ -1,7 +1,5 @@ import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' - import type { ModuleOptions } from '../utils' import { importType, @@ -29,7 +27,7 @@ export = createRule<[ModuleOptions?], MessageId>({ }, defaultOptions: [], create(context) { - const filename = getPhysicalFilename(context) + const filename = context.physicalFilename if (filename === '') { return {} diff --git a/src/rules/no-restricted-paths.ts b/src/rules/no-restricted-paths.ts index 833619e7a..d37cca3c6 100644 --- a/src/rules/no-restricted-paths.ts +++ b/src/rules/no-restricted-paths.ts @@ -1,7 +1,6 @@ import path from 'node:path' import type { TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename } from 'eslint-compat-utils' import isGlob from 'is-glob' import { Minimatch } from 'minimatch' @@ -72,7 +71,7 @@ export = createRule<[Options?], MessageId>({ type: 'array', items: { type: 'string' }, uniqueItems: true, - minLength: 1, + minItems: 1, }, ], }, @@ -83,7 +82,7 @@ export = createRule<[Options?], MessageId>({ type: 'array', items: { type: 'string' }, uniqueItems: true, - minLength: 1, + minItems: 1, }, ], }, @@ -117,12 +116,12 @@ export = createRule<[Options?], MessageId>({ const options = context.options[0] || {} const restrictedPaths = options.zones || [] const basePath = options.basePath || process.cwd() - const currentFilename = getPhysicalFilename(context) + const filename = context.physicalFilename const matchingZones = restrictedPaths.filter(zone => [zone.target] .flat() .map(target => path.resolve(basePath, target)) - .some(targetPath => isMatchingTargetPath(currentFilename, targetPath)), + .some(targetPath => isMatchingTargetPath(filename, targetPath)), ) function isValidExceptionPath( diff --git a/src/rules/no-self-import.ts b/src/rules/no-self-import.ts index 63ddca5f4..d2e96e7c4 100644 --- a/src/rules/no-self-import.ts +++ b/src/rules/no-self-import.ts @@ -3,7 +3,6 @@ */ import type { TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename } from 'eslint-compat-utils' import type { RuleContext } from '../types' import { createRule, moduleVisitor, resolve } from '../utils' @@ -15,10 +14,10 @@ function isImportingSelf( node: TSESTree.Node, requireName: string, ) { - const filePath = getPhysicalFilename(context) + const filename = context.physicalFilename // If the input is from stdin, this test can't fail - if (filePath !== '' && filePath === resolve(requireName, context)) { + if (filename !== '' && filename === resolve(requireName, context)) { context.report({ node, messageId: 'self', diff --git a/src/rules/no-unassigned-import.ts b/src/rules/no-unassigned-import.ts index 9f86415b7..71157ac98 100644 --- a/src/rules/no-unassigned-import.ts +++ b/src/rules/no-unassigned-import.ts @@ -1,6 +1,5 @@ import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' import { minimatch } from 'minimatch' import { isStaticRequire, createRule } from '../utils' @@ -65,7 +64,7 @@ export = createRule<[Options?], MessageId>({ create(context) { const options = context.options[0] || {} - const filename = getPhysicalFilename(context) + const filename = context.physicalFilename const isAllow = (source: string) => testIsAllow(options.allow, filename, source) diff --git a/src/rules/no-unused-modules.ts b/src/rules/no-unused-modules.ts index 86a7b217b..20fa269b1 100644 --- a/src/rules/no-unused-modules.ts +++ b/src/rules/no-unused-modules.ts @@ -6,7 +6,7 @@ import path from 'node:path' import { TSESTree } from '@typescript-eslint/utils' -import { getPhysicalFilename } from 'eslint-compat-utils' +import { FileEnumerator } from 'eslint/use-at-your-own-risk' import type { FileExtension, RuleContext } from '../types' import { @@ -21,15 +21,6 @@ import { } from '../utils' function listFilesToProcess(src: string[], extensions: FileExtension[]) { - // eslint-disable-next-line @typescript-eslint/consistent-type-imports - let FileEnumerator: typeof import('eslint/use-at-your-own-risk').FileEnumerator - - try { - ;({ FileEnumerator } = require('eslint/use-at-your-own-risk')) - } catch { - ;({ FileEnumerator } = require('eslint/lib/cli-engine/file-enumerator')) - } - const enumerator = new FileEnumerator({ extensions, }) @@ -421,6 +412,7 @@ export = createRule({ }, schema: [ { + type: 'object', properties: { src: { description: 'files/paths to be analyzed (only for unused exports)', @@ -452,17 +444,26 @@ export = createRule({ }, anyOf: [ { + type: 'object', properties: { - unusedExports: { enum: [true] }, + unusedExports: { + type: 'boolean', + enum: [true], + }, src: { + type: 'array', minItems: 1, }, }, required: ['unusedExports'], }, { + type: 'object', properties: { - missingExports: { enum: [true] }, + missingExports: { + type: 'boolean', + enum: [true], + }, }, required: ['missingExports'], }, @@ -487,18 +488,18 @@ export = createRule({ doPreparation(src, ignoreExports, context) } - const file = getPhysicalFilename(context) + const filename = context.physicalFilename const checkExportPresence = (node: TSESTree.Program) => { if (!missingExports) { return } - if (ignoredFiles.has(file)) { + if (ignoredFiles.has(filename)) { return } - const exportCount = exportList.get(file)! + const exportCount = exportList.get(filename)! const exportAll = exportCount.get(AST_NODE_TYPES.ExportAllDeclaration)! const namespaceImports = exportCount.get( AST_NODE_TYPES.ImportNamespaceSpecifier, @@ -523,32 +524,32 @@ export = createRule({ return } - if (ignoredFiles.has(file)) { + if (ignoredFiles.has(filename)) { return } - if (fileIsInPkg(file)) { + if (fileIsInPkg(filename)) { return } - if (filesOutsideSrc.has(file)) { + if (filesOutsideSrc.has(filename)) { return } // make sure file to be linted is included in source files - if (!srcFiles.has(file)) { + if (!srcFiles.has(filename)) { srcFiles = resolveFiles(getSrc(src), ignoreExports, context) - if (!srcFiles.has(file)) { - filesOutsideSrc.add(file) + if (!srcFiles.has(filename)) { + filesOutsideSrc.add(filename) return } } - const exports = exportList.get(file) + const exports = exportList.get(filename) if (!exports) { console.error( - `file \`${file}\` has no exports. Please update to the latest, and if it still happens, report this on https://github.com/import-js/eslint-plugin-import/issues/2866!`, + `file \`${filename}\` has no exports. Please update to the latest, and if it still happens, report this on https://github.com/import-js/eslint-plugin-import/issues/2866!`, ) return } @@ -614,14 +615,15 @@ export = createRule({ * update lists of existing exports during runtime */ const updateExportUsage = (node: TSESTree.Program) => { - if (ignoredFiles.has(file)) { + if (ignoredFiles.has(filename)) { return } // new module has been created during runtime // include it in further processing const exports = - exportList.get(file) ?? new Map }>() + exportList.get(filename) ?? + new Map }>() const newExports = new Map }>() const newExportIdentifiers = new Set() @@ -666,7 +668,7 @@ export = createRule({ newExports.set(AST_NODE_TYPES.ExportAllDeclaration, exportAll) newExports.set(AST_NODE_TYPES.ImportNamespaceSpecifier, namespaceImports) - exportList.set(file, newExports) + exportList.set(filename, newExports) } /** @@ -680,7 +682,7 @@ export = createRule({ } const oldImportPaths = - importList.get(file) ?? new Map>() + importList.get(filename) ?? new Map>() const oldNamespaceImports = new Set() const newNamespaceImports = new Set() @@ -724,7 +726,7 @@ export = createRule({ newNamespaceImports.add(p) } - visit(node, visitorKeyMap.get(file), { + visit(node, visitorKeyMap.get(filename), { ImportExpression(child) { processDynamicImport((child as TSESTree.ImportExpression).source) }, @@ -817,12 +819,12 @@ export = createRule({ if (currentExport === undefined) { const whereUsed = new Set() - whereUsed.add(file) + whereUsed.add(filename) exports.set(AST_NODE_TYPES.ExportAllDeclaration, { whereUsed, }) } else { - currentExport.whereUsed.add(file) + currentExport.whereUsed.add(filename) } } } @@ -838,7 +840,7 @@ export = createRule({ AST_NODE_TYPES.ExportAllDeclaration, ) if (currentExport !== undefined) { - currentExport.whereUsed.delete(file) + currentExport.whereUsed.delete(filename) } } } @@ -864,12 +866,12 @@ export = createRule({ if (currentExport === undefined) { const whereUsed = new Set() - whereUsed.add(file) + whereUsed.add(filename) exports.set(AST_NODE_TYPES.ImportDefaultSpecifier, { whereUsed, }) } else { - currentExport.whereUsed.add(file) + currentExport.whereUsed.add(filename) } } } @@ -885,7 +887,7 @@ export = createRule({ AST_NODE_TYPES.ImportDefaultSpecifier, ) if (currentExport !== undefined) { - currentExport.whereUsed.delete(file) + currentExport.whereUsed.delete(filename) } } } @@ -911,12 +913,12 @@ export = createRule({ if (currentExport === undefined) { const whereUsed = new Set() - whereUsed.add(file) + whereUsed.add(filename) exports.set(AST_NODE_TYPES.ImportNamespaceSpecifier, { whereUsed, }) } else { - currentExport.whereUsed.add(file) + currentExport.whereUsed.add(filename) } } } @@ -932,7 +934,7 @@ export = createRule({ AST_NODE_TYPES.ImportNamespaceSpecifier, ) if (currentExport !== undefined) { - currentExport.whereUsed.delete(file) + currentExport.whereUsed.delete(filename) } } } @@ -958,10 +960,10 @@ export = createRule({ if (currentExport === undefined) { const whereUsed = new Set() - whereUsed.add(file) + whereUsed.add(filename) exports.set(key, { whereUsed }) } else { - currentExport.whereUsed.add(file) + currentExport.whereUsed.add(filename) } } } @@ -975,7 +977,7 @@ export = createRule({ if (exports !== undefined) { const currentExport = exports.get(key) if (currentExport !== undefined) { - currentExport.whereUsed.delete(file) + currentExport.whereUsed.delete(filename) } } } diff --git a/src/rules/no-useless-path-segments.ts b/src/rules/no-useless-path-segments.ts index 521a28453..a6a226f37 100644 --- a/src/rules/no-useless-path-segments.ts +++ b/src/rules/no-useless-path-segments.ts @@ -4,8 +4,6 @@ import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' - import type { ModuleOptions } from '../utils' import { createRule, moduleVisitor, resolve, getFileExtensions } from '../utils' @@ -69,7 +67,7 @@ export = createRule<[Options?], MessageId>({ }, defaultOptions: [], create(context) { - const currentDir = path.dirname(getPhysicalFilename(context)) + const currentDir = path.dirname(context.physicalFilename) const options = context.options[0] || {} diff --git a/src/rules/order.ts b/src/rules/order.ts index a8891263b..96bec9dd8 100644 --- a/src/rules/order.ts +++ b/src/rules/order.ts @@ -1,5 +1,4 @@ import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import { minimatch } from 'minimatch' import type { MinimatchOptions } from 'minimatch' @@ -306,7 +305,7 @@ function fixOutOfOrder( secondNode: ImportEntryWithRank, order: 'before' | 'after', ) { - const sourceCode = getSourceCode(context) + const { sourceCode } = context const firstRoot = findRootNode(firstNode.node) const firstRootStart = findStartOfLineWithComments(sourceCode, firstRoot) @@ -704,7 +703,7 @@ function fixNewLineAfterImport( ) { const prevRoot = findRootNode(previousImport.node) const tokensToEndOfLine = takeTokensAfterWhile( - getSourceCode(context), + context.sourceCode, prevRoot, commentOnSameLineAs(prevRoot), ) @@ -722,7 +721,7 @@ function removeNewLineAfterImport( currentImport: ImportEntry, previousImport: ImportEntry, ) { - const sourceCode = getSourceCode(context) + const { sourceCode } = context const prevRoot = findRootNode(previousImport.node) const currRoot = findRootNode(currentImport.node) const rangeToRemove = [ @@ -875,7 +874,7 @@ export = createRule<[Options?], MessageId>({ }, group: { type: 'string', - enum: types, + enum: [...types], }, position: { type: 'string', @@ -887,6 +886,7 @@ export = createRule<[Options?], MessageId>({ }, }, 'newlines-between': { + type: 'string', enum: ['ignore', 'always', 'always-and-inside-groups', 'never'], }, alphabetize: { @@ -897,10 +897,12 @@ export = createRule<[Options?], MessageId>({ default: false, }, order: { + type: 'string', enum: ['ignore', 'asc', 'desc'], default: 'ignore', }, orderImportKind: { + type: 'string', enum: ['ignore', 'asc', 'desc'], default: 'ignore', }, @@ -1004,6 +1006,7 @@ export = createRule<[Options?], MessageId>({ let displayName: string let value: string let type: 'import:object' | 'import' + // @ts-expect-error - legacy parser type // skip "export import"s if (node.isExport) { return @@ -1018,7 +1021,7 @@ export = createRule<[Options?], MessageId>({ type = 'import' } else { value = '' - displayName = getSourceCode(context).getText(node.moduleReference) + displayName = context.sourceCode.getText(node.moduleReference) type = 'import:object' } registerNode( diff --git a/src/types.ts b/src/types.ts index 98cae272c..71a7d8362 100644 --- a/src/types.ts +++ b/src/types.ts @@ -68,13 +68,11 @@ export type PluginConfig = { export type RuleContext< TMessageIds extends string = string, TOptions extends readonly unknown[] = readonly unknown[], -> = { - languageOptions?: { - parser?: TSESLint.Linter.ParserModule - parserOptions?: TSESLint.ParserOptions - } +> = Readonly<{ + languageOptions?: TSESLint.FlatConfig.LanguageOptions settings: PluginSettings -} & Omit, 'settings'> +}> & + Omit, 'settings'> export type ChildContext = { cacheKey: string diff --git a/src/utils/export-map.ts b/src/utils/export-map.ts index 01f78855e..32cec83cf 100644 --- a/src/utils/export-map.ts +++ b/src/utils/export-map.ts @@ -535,6 +535,7 @@ export class ExportMap { n.expression.id && n.expression.id.name))) || null + const declTypes = new Set([ 'VariableDeclaration', 'ClassDeclaration', @@ -545,38 +546,68 @@ export class ExportMap { 'TSAbstractClassDeclaration', 'TSModuleDeclaration', ]) + + const getRoot = ( + node: TSESTree.TSQualifiedName, + ): TSESTree.Identifier => { + if (node.left.type === 'TSQualifiedName') { + return getRoot(node.left) + } + return node.left as TSESTree.Identifier + } + const exportedDecls = ast.body.filter(node => { return ( declTypes.has(node.type) && (('id' in node && node.id && - 'name' in node.id && - node.id.name === exportedName) || + ('name' in node.id + ? node.id.name === exportedName + : 'left' in node.id && + getRoot(node.id).name === exportedName)) || ('declarations' in node && node.declarations.find( d => 'name' in d.id && d.id.name === exportedName, ))) ) }) + if (exportedDecls.length === 0) { // Export is not referencing any local declaration, must be re-exporting m.namespace.set('default', captureDoc(source, docStyleParsers, n)) continue } + if ( isEsModuleInteropTrue && // esModuleInterop is on in tsconfig !m.namespace.has('default') // and default isn't added already ) { m.namespace.set('default', {}) // add default export } + for (const decl of exportedDecls) { if (decl.type === 'TSModuleDeclaration') { - if (decl.body && decl.body.type === 'TSModuleDeclaration') { + const type = decl.body?.type + + // @ts-expect-error - legacy parser type + if (type === 'TSModuleDeclaration') { m.namespace.set( + // @ts-expect-error - legacy parser type (decl.body.id as TSESTree.Identifier).name, captureDoc(source, docStyleParsers, decl.body), ) - } else if (decl.body && decl.body.body) { + continue + } else if (type === 'TSModuleBlock' && decl.kind === 'namespace') { + const metadata = captureDoc(source, docStyleParsers, decl.body) + if ('name' in decl.id) { + m.namespace.set(decl.id.name, metadata) + } else { + // TODO: handle left TSQualifiedName: `declare module foo.bar.baz` + m.namespace.set(decl.id.right.name, metadata) + } + } + + if (decl.body?.body) { for (const moduleBlockNode of decl.body.body) { // Export-assignment exports all members in the namespace, // explicitly exported or not. @@ -879,7 +910,7 @@ export class ExportMap { function captureDoc( source: SourceCode, docStyleParsers: DocStyleParsers, - ...nodes: TSESTree.Node[] + ...nodes: Array ) { const metadata: { doc?: Annotation @@ -887,6 +918,10 @@ function captureDoc( // 'some' short-circuits on first 'true' nodes.some(n => { + if (!n) { + return false + } + try { let leadingComments: TSESTree.Comment[] | undefined @@ -1076,15 +1111,9 @@ function childContext( parserPath, path, filename: - 'getPhysicalFilename' in context && - typeof context.getPhysicalFilename === 'function' - ? context.getPhysicalFilename() - : 'physicalFilename' in context && context.physicalFilename != null - ? (context.physicalFilename as string) - : 'getFilename' in context && - typeof context.getFilename === 'function' - ? context.getFilename() - : ('filename' in context && context.filename) || undefined, + 'physicalFilename' in context + ? context.physicalFilename + : context.filename, } } diff --git a/src/utils/get-ancestors.ts b/src/utils/get-ancestors.ts index 285a0d2d3..78a90fdce 100644 --- a/src/utils/get-ancestors.ts +++ b/src/utils/get-ancestors.ts @@ -1,13 +1,6 @@ import type { TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' import type { RuleContext } from '../types' -export const getAncestors = ( - context: RuleContext, - node: TSESTree.Node | TSESTree.Token, -) => { - const sourceCode = getSourceCode(context) - // @ts-expect-error - eslint v9 - return sourceCode.getAncestors(node) as TSESTree.Node[] -} +export const getAncestors = (context: RuleContext, node: TSESTree.Node) => + context.sourceCode.getAncestors(node) diff --git a/src/utils/get-scope.ts b/src/utils/get-scope.ts index 7a646d8a3..f508020bc 100644 --- a/src/utils/get-scope.ts +++ b/src/utils/get-scope.ts @@ -1,13 +1,6 @@ -import type { TSESLint, TSESTree } from '@typescript-eslint/utils' -import { getSourceCode } from 'eslint-compat-utils' +import type { TSESTree } from '@typescript-eslint/utils' import type { RuleContext } from '../types' -export const getScope = ( - context: RuleContext, - node: TSESTree.Node | TSESTree.Token, -) => { - const sourceCode = getSourceCode(context) - // @ts-expect-error - eslint v9 - return sourceCode.getScope(node) as TSESLint.Scope.Scope -} +export const getScope = (context: RuleContext, node: TSESTree.Node) => + context.sourceCode.getScope(node) diff --git a/src/utils/module-visitor.ts b/src/utils/module-visitor.ts index c1280518d..460cdbfff 100644 --- a/src/utils/module-visitor.ts +++ b/src/utils/module-visitor.ts @@ -1,6 +1,4 @@ -import type { TSESTree } from '@typescript-eslint/typescript-estree' -import type { TSESLint } from '@typescript-eslint/utils' -import type { JSONSchema4 } from 'json-schema' +import type { JSONSchema, TSESLint, TSESTree } from '@typescript-eslint/utils' type Visitor = ( source: TSESTree.StringLiteral, @@ -192,8 +190,10 @@ export function moduleVisitor(visitor: Visitor, options?: ModuleOptions) { /** * make an options schema for the module visitor, optionally adding extra fields. */ -export function makeOptionsSchema(additionalProperties?: JSONSchema4) { - const base: JSONSchema4 = { +export function makeOptionsSchema( + additionalProperties?: Record, +) { + const base: JSONSchema.JSONSchema4 = { type: 'object', properties: { commonjs: { type: 'boolean' }, diff --git a/src/utils/package-path.ts b/src/utils/package-path.ts index 960514df3..b700a9a8c 100644 --- a/src/utils/package-path.ts +++ b/src/utils/package-path.ts @@ -1,22 +1,20 @@ import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' - import type { RuleContext } from '../types' import { pkgUp } from './pkg-up' import { readPkgUp } from './read-pkg-up' export function getContextPackagePath(context: RuleContext) { - return getFilePackagePath(getPhysicalFilename(context)) + return getFilePackagePath(context.physicalFilename) } -export function getFilePackagePath(filePath: string) { - return path.dirname(pkgUp({ cwd: filePath })!) +export function getFilePackagePath(filename: string) { + return path.dirname(pkgUp({ cwd: filename })!) } -export function getFilePackageName(filePath: string): string | null { - const { pkg, path: pkgPath } = readPkgUp({ cwd: filePath }) +export function getFilePackageName(filename: string): string | null { + const { pkg, path: pkgPath } = readPkgUp({ cwd: filename }) if (pkg) { // recursion in case of intermediate esm package.json without name found return pkg.name || getFilePackageName(path.resolve(pkgPath, '../..')) diff --git a/src/utils/parse.ts b/src/utils/parse.ts index 40d977976..a57ea9285 100644 --- a/src/utils/parse.ts +++ b/src/utils/parse.ts @@ -96,7 +96,7 @@ export function parse( // require the parser relative to the main module (i.e., ESLint) const parser = typeof parserOrPath === 'string' - ? moduleRequire(parserOrPath) + ? moduleRequire(parserOrPath) : parserOrPath // replicate bom strip and hashbang transform of ESLint @@ -156,7 +156,7 @@ function getParser(path: string, context: ChildContext | RuleContext) { ('parseForESLint' in parser && typeof parser.parseForESLint === 'function')) ) { - return parser + return parser as TSESLint.Parser.ParserModule } return null diff --git a/src/utils/resolve.ts b/src/utils/resolve.ts index e6783dc45..096486b90 100644 --- a/src/utils/resolve.ts +++ b/src/utils/resolve.ts @@ -2,8 +2,6 @@ import fs from 'node:fs' import { createRequire } from 'node:module' import path from 'node:path' -import { getPhysicalFilename } from 'eslint-compat-utils' - import type { Arrayable, ImportResolver, @@ -289,7 +287,7 @@ const erroredContexts = new Set() */ export function resolve(p: string, context: RuleContext) { try { - return relative(p, getPhysicalFilename(context), context.settings) + return relative(p, context.physicalFilename, context.settings) } catch (error_) { const error = error_ as Error if (!erroredContexts.has(context)) { diff --git a/test/rules/default.spec.ts b/test/rules/default.spec.ts index 38c54a72b..61071c19d 100644 --- a/test/rules/default.spec.ts +++ b/test/rules/default.spec.ts @@ -2,7 +2,7 @@ import path from 'node:path' import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, SYNTAX_CASES, parsers } from '../utils' +import { test, SYNTAX_CASES, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/default' import { CASE_SENSITIVE_FS } from 'eslint-plugin-import-x/utils' @@ -97,13 +97,12 @@ ruleTester.run('default', rule, { parser: parsers.BABEL, }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'export { "default" as bar } from "./bar"', parserOptions: { ecmaVersion: 2022, }, - })), + }), ...SYNTAX_CASES, ], diff --git a/test/rules/export.spec.ts b/test/rules/export.spec.ts index 71ee85232..af3bc0f20 100644 --- a/test/rules/export.spec.ts +++ b/test/rules/export.spec.ts @@ -1,12 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { - test, - testFilePath, - SYNTAX_CASES, - parsers, - testVersion, -} from '../utils' +import { test, testFilePath, SYNTAX_CASES, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/export' @@ -148,8 +142,7 @@ ruleTester.run('export', rule, { errors: [`No named exports found in module './default-export'.`], }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'let foo; export { foo as "foo" }; export * from "./export-all"', errors: [ "Multiple exports of name 'foo'.", @@ -158,7 +151,7 @@ ruleTester.run('export', rule, { parserOptions: { ecmaVersion: 2022, }, - })), + }), ], }) diff --git a/test/rules/named.spec.ts b/test/rules/named.spec.ts index ca0ebbd6e..dd999844b 100644 --- a/test/rules/named.spec.ts +++ b/test/rules/named.spec.ts @@ -3,13 +3,7 @@ import path from 'node:path' import type { TSESTree } from '@typescript-eslint/utils' import { TSESLint } from '@typescript-eslint/utils' -import { - test, - SYNTAX_CASES, - testFilePath, - testVersion, - parsers, -} from '../utils' +import { test, SYNTAX_CASES, testFilePath, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/named' import { CASE_SENSITIVE_FS } from 'eslint-plugin-import-x/utils' @@ -202,36 +196,34 @@ ruleTester.run('named', rule, { ...SYNTAX_CASES, - ...testVersion('>= 6', () => ({ + test({ code: `import { ExtfieldModel, Extfield2Model } from './models';`, filename: testFilePath('./export-star/downstream.js'), parserOptions: { sourceType: 'module', ecmaVersion: 2020, }, - })), + }), - ...testVersion('>=7.8.0', () => ({ + test({ code: 'const { something } = require("./dynamic-import-in-commonjs")', parserOptions: { ecmaVersion: 2021 }, options: [{ commonjs: true }], - })), + }), - ...testVersion('>=7.8.0', () => ({ + test({ code: 'import { something } from "./dynamic-import-in-commonjs"', parserOptions: { ecmaVersion: 2021 }, - })), + }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import { "foo" as foo } from "./bar"', parserOptions: { ecmaVersion: 2022 }, - })), - - ...testVersion('>= 8.7', () => ({ + }), + test({ code: 'import { "foo" as foo } from "./empty-module"', parserOptions: { ecmaVersion: 2022 }, - })), + }), ], invalid: [ @@ -373,25 +365,24 @@ ruleTester.run('named', rule, { errors: [`default not found in './re-export'`], }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import { "somethingElse" as somethingElse } from "./test-module"', errors: [error('somethingElse', './test-module', 'Literal')], parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: 'import { "baz" as baz, "bop" as bop } from "./bar"', errors: [ error('baz', './bar', 'Literal'), error('bop', './bar', 'Literal'), ], parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: 'import { "default" as barDefault } from "./re-export"', errors: [`default not found in './re-export'`], parserOptions: { ecmaVersion: 2022 }, - })), + }), ], }) diff --git a/test/rules/namespace.spec.ts b/test/rules/namespace.spec.ts index 4af4e8df8..365ded3c9 100644 --- a/test/rules/namespace.spec.ts +++ b/test/rules/namespace.spec.ts @@ -1,12 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { - test, - SYNTAX_CASES, - testVersion, - testFilePath, - parsers, -} from '../utils' +import { test, SYNTAX_CASES, testFilePath, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/namespace' @@ -228,7 +222,7 @@ const valid = [ `, }), - ...testVersion('>= 6', () => ({ + test({ code: ` import * as middle from './middle'; @@ -238,32 +232,32 @@ const valid = [ parserOptions: { ecmaVersion: 2020, }, - })), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + }), + + test({ code: "import * as names from './default-export-string';", parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: "import * as names from './default-export-string'; console.log(names.default)", parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: "import * as names from './default-export-namespace-string';", parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: "import * as names from './default-export-namespace-string'; console.log(names.default)", parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: `import { "b" as b } from "./deep/a"; console.log(b.c.d.e)`, parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: `import { "b" as b } from "./deep/a"; var {c:{d:{e}}} = b`, parserOptions: { ecmaVersion: 2022 }, - })), + }), ] const invalid = [ @@ -384,17 +378,16 @@ const invalid = [ }, }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: `import { "b" as b } from "./deep/a"; console.log(b.e)`, errors: ["'e' not found in imported namespace 'b'."], parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: `import { "b" as b } from "./deep/a"; console.log(b.c.e)`, errors: ["'e' not found in deeply imported namespace 'b.c'."], parserOptions: { ecmaVersion: 2022 }, - })), + }), ] /////////////////////// diff --git a/test/rules/no-anonymous-default-export.spec.ts b/test/rules/no-anonymous-default-export.spec.ts index 22f4d1107..de85a1c74 100644 --- a/test/rules/no-anonymous-default-export.spec.ts +++ b/test/rules/no-anonymous-default-export.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, SYNTAX_CASES } from '../utils' +import { test, SYNTAX_CASES } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-anonymous-default-export' @@ -51,11 +51,10 @@ ruleTester.run('no-anonymous-default-export', rule, { test({ code: "export * from 'foo'" }), test({ code: 'const foo = 123\nexport { foo }' }), test({ code: 'const foo = 123\nexport { foo as default }' }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'const foo = 123\nexport { foo as "default" }', parserOptions: { ecmaVersion: 2022 }, - })), + }), // Allow call expressions by default for backwards compatibility test({ code: 'export default foo(bar)' }), diff --git a/test/rules/no-default-export.spec.ts b/test/rules/no-default-export.spec.ts index 19dadacd6..b125a67ee 100644 --- a/test/rules/no-default-export.spec.ts +++ b/test/rules/no-default-export.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { parsers, test, testVersion } from '../utils' +import { parsers, test } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-default-export' @@ -164,8 +164,7 @@ ruleTester.run('no-default-export', rule, { }, ], }), - // es2022: Arbitrary module namespae identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'let foo; export { foo as "default" }', errors: [ { @@ -175,6 +174,6 @@ ruleTester.run('no-default-export', rule, { }, ], parserOptions: { ecmaVersion: 2022 }, - })), + }), ], }) diff --git a/test/rules/no-mutable-exports.spec.ts b/test/rules/no-mutable-exports.spec.ts index a199c4245..5d36eb5a5 100644 --- a/test/rules/no-mutable-exports.spec.ts +++ b/test/rules/no-mutable-exports.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { parsers, test, testVersion } from '../utils' +import { parsers, test } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-mutable-exports' @@ -34,11 +34,10 @@ ruleTester.run('no-mutable-exports', rule, { parser: parsers.BABEL, code: 'type Foo = {}\nexport type {Foo}', }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'const count = 1\nexport { count as "counter" }', parserOptions: { ecmaVersion: 2022 }, - })), + }), ], invalid: [ test({ @@ -73,12 +72,11 @@ ruleTester.run('no-mutable-exports', rule, { code: 'var count = 1\nexport default count', errors: ["Exporting mutable 'var' binding, use 'const' instead."], }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'let count = 1\nexport { count as "counter" }', errors: ["Exporting mutable 'let' binding, use 'const' instead."], parserOptions: { ecmaVersion: 2022 }, - })), + }), // todo: undeclared globals // test({ diff --git a/test/rules/no-named-as-default-member.spec.ts b/test/rules/no-named-as-default-member.spec.ts index bc480154b..6b57f4075 100644 --- a/test/rules/no-named-as-default-member.spec.ts +++ b/test/rules/no-named-as-default-member.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, SYNTAX_CASES } from '../utils' +import { test, SYNTAX_CASES } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-named-as-default-member' @@ -17,12 +17,10 @@ ruleTester.run('no-named-as-default-member', rule, { test({ code: 'import foo from "./default-export-default-property"; const a = foo.default', }), - - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import bar, { foo } from "./export-default-string-and-named"', parserOptions: { ecmaVersion: 2022 }, - })), + }), ...SYNTAX_CASES, ], @@ -68,8 +66,7 @@ ruleTester.run('no-named-as-default-member', rule, { }, ], }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import bar from "./export-default-string-and-named"; const foo = bar.foo;', errors: [ { @@ -79,6 +76,6 @@ ruleTester.run('no-named-as-default-member', rule, { }, ], parserOptions: { ecmaVersion: 2022 }, - })), + }), ], }) diff --git a/test/rules/no-named-as-default.spec.ts b/test/rules/no-named-as-default.spec.ts index 245bd773c..0fcea1618 100644 --- a/test/rules/no-named-as-default.spec.ts +++ b/test/rules/no-named-as-default.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, SYNTAX_CASES, parsers } from '../utils' +import { test, SYNTAX_CASES, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-named-as-default' @@ -20,11 +20,10 @@ ruleTester.run('no-named-as-default', rule, { // #566: don't false-positive on `default` itself test({ code: 'export default from "./bar";', parser: parsers.BABEL }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import bar, { foo } from "./export-default-string-and-named"', parserOptions: { ecmaVersion: 2022 }, - })), + }), ...SYNTAX_CASES, ], @@ -88,8 +87,7 @@ ruleTester.run('no-named-as-default', rule, { ], }), - // es2022: Arbitrary module namespae identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import foo from "./export-default-string-and-named"', errors: [ { @@ -99,8 +97,8 @@ ruleTester.run('no-named-as-default', rule, { }, ], parserOptions: { ecmaVersion: 2022 }, - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ code: 'import foo, { foo as bar } from "./export-default-string-and-named"', errors: [ { @@ -110,6 +108,6 @@ ruleTester.run('no-named-as-default', rule, { }, ], parserOptions: { ecmaVersion: 2022 }, - })), + }), ], }) diff --git a/test/rules/no-named-default.spec.ts b/test/rules/no-named-default.spec.ts index daf1da25a..4c1a049a4 100644 --- a/test/rules/no-named-default.spec.ts +++ b/test/rules/no-named-default.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, SYNTAX_CASES, parsers } from '../utils' +import { test, SYNTAX_CASES, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-named-default' @@ -52,8 +52,7 @@ ruleTester.run('no-named-default', rule, { ], }), - // es2022: Arbitrary module namespace identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'import { "default" as bar } from "./bar";', errors: [ { @@ -64,6 +63,6 @@ ruleTester.run('no-named-default', rule, { parserOptions: { ecmaVersion: 2022, }, - })), + }), ], }) diff --git a/test/rules/no-named-export.spec.ts b/test/rules/no-named-export.spec.ts index 3c769758e..f99a81498 100644 --- a/test/rules/no-named-export.spec.ts +++ b/test/rules/no-named-export.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { parsers, test, testVersion } from '../utils' +import { parsers, test } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-named-export' @@ -29,12 +29,10 @@ ruleTester.run('no-named-export', rule, { test({ code: `import {default as foo} from './foo';`, }), - - // es2022: Arbitrary module namespae identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'let foo; export { foo as "default" }', parserOptions: { ecmaVersion: 2022 }, - })), + }), ], invalid: [ test({ diff --git a/test/rules/no-unresolved.spec.ts b/test/rules/no-unresolved.spec.ts index a2fd4c3e6..7623d6569 100644 --- a/test/rules/no-unresolved.spec.ts +++ b/test/rules/no-unresolved.spec.ts @@ -2,13 +2,7 @@ import path from 'node:path' import { TSESLint } from '@typescript-eslint/utils' -import { - test, - SYNTAX_CASES, - testVersion, - parsers, - testFilePath, -} from '../utils' +import { test, SYNTAX_CASES, parsers, testFilePath } from '../utils' import type { ValidTestCase } from '../utils' import rule from 'eslint-plugin-import-x/rules/no-unresolved' @@ -44,12 +38,10 @@ function runResolverTests(resolver: 'node' | 'webpack') { }), // check with eslint parser - ...testVersion('>= 7', () => - rest({ - code: "import('fs');", - parserOptions: { ecmaVersion: 2021 }, - }), - ), + rest({ + code: "import('fs');", + parserOptions: { ecmaVersion: 2021 }, + }), rest({ code: 'import * as foo from "a"' }), @@ -197,18 +189,16 @@ function runResolverTests(resolver: 'node' | 'webpack') { }), // check with eslint parser - ...testVersion('>= 7', () => - rest({ - code: "import('in-alternate-root').then(function({DEEP}) {});", - errors: [ - { - message: "Unable to resolve path to module 'in-alternate-root'.", - type: 'Literal', - }, - ], - parserOptions: { ecmaVersion: 2021 }, - }), - ), + rest({ + code: "import('in-alternate-root').then(function({DEEP}) {});", + errors: [ + { + message: "Unable to resolve path to module 'in-alternate-root'.", + type: 'Literal', + }, + ], + parserOptions: { ecmaVersion: 2021 }, + }), // export symmetry proposal rest({ @@ -519,17 +509,21 @@ ruleTester.run('no-unresolved syntax verification', rule, { // https://github.com/import-js/eslint-plugin-import-x/issues/2024 ruleTester.run('import() with built-in parser', rule, { - valid: testVersion('>=7', () => ({ - code: "import('fs');", - parserOptions: { ecmaVersion: 2021 }, - })), - invalid: testVersion('>=7', () => ({ - code: 'import("./does-not-exist-l0w9ssmcqy9").then(() => {})', - parserOptions: { ecmaVersion: 2021 }, - errors: [ - "Unable to resolve path to module './does-not-exist-l0w9ssmcqy9'.", - ], - })), + valid: [ + test({ + code: "import('fs');", + parserOptions: { ecmaVersion: 2021 }, + }), + ], + invalid: [ + test({ + code: 'import("./does-not-exist-l0w9ssmcqy9").then(() => {})', + parserOptions: { ecmaVersion: 2021 }, + errors: [ + "Unable to resolve path to module './does-not-exist-l0w9ssmcqy9'.", + ], + }), + ], }) describe('TypeScript', () => { diff --git a/test/rules/no-unused-modules.spec.ts b/test/rules/no-unused-modules.spec.ts index 79c58e293..6435dfdcc 100644 --- a/test/rules/no-unused-modules.spec.ts +++ b/test/rules/no-unused-modules.spec.ts @@ -1,8 +1,10 @@ import fs from 'node:fs' import { TSESLint } from '@typescript-eslint/utils' +// @ts-expect-error - no typings yet +import { FlatRuleTester } from 'eslint/use-at-your-own-risk' -import { test, testVersion, testFilePath, parsers } from '../utils' +import { test, testFilePath, parsers } from '../utils' import jsxConfig from 'eslint-plugin-import-x/config/react' import typescriptConfig from 'eslint-plugin-import-x/config/typescript' @@ -1424,34 +1426,36 @@ describe('support (nested) destructuring assignment', () => { describe('support ES2022 Arbitrary module namespace identifier names', () => { ruleTester.run('no-unused-module', rule, { valid: [ - ...testVersion('>= 8.7', () => ({ + test({ options: unusedExportsOptions, code: `import { "foo" as foo } from "./arbitrary-module-namespace-identifier-name-a"`, parserOptions: { ecmaVersion: 2022 }, filename: testFilePath( './no-unused-modules/arbitrary-module-namespace-identifier-name-b.js', ), - })), - ...testVersion('>= 8.7', () => ({ + }), + test({ options: unusedExportsOptions, code: 'const foo = 333;\nexport { foo as "foo" }', parserOptions: { ecmaVersion: 2022 }, filename: testFilePath( './no-unused-modules/arbitrary-module-namespace-identifier-name-a.js', ), - })), + }), + ], + invalid: [ + test({ + options: unusedExportsOptions, + code: 'const foo = 333\nexport { foo as "foo" }', + parserOptions: { ecmaVersion: 2022 }, + filename: testFilePath( + './no-unused-modules/arbitrary-module-namespace-identifier-name-c.js', + ), + errors: [ + error(`exported declaration 'foo' not used within other modules`), + ], + }), ], - invalid: testVersion('>= 8.7', () => ({ - options: unusedExportsOptions, - code: 'const foo = 333\nexport { foo as "foo" }', - parserOptions: { ecmaVersion: 2022 }, - filename: testFilePath( - './no-unused-modules/arbitrary-module-namespace-identifier-name-c.js', - ), - errors: [ - error(`exported declaration 'foo' not used within other modules`), - ], - })), }) }) @@ -1524,20 +1528,8 @@ describe('parser ignores prefixes like BOM and hashbang', () => { }) }) -let FlatRuleTester: typeof TSESLint.RuleTester | undefined - -try { - ;({ FlatRuleTester } = require('eslint/use-at-your-own-risk')) -} catch { - // -} - -;(FlatRuleTester ? describe : describe.skip)('supports flat eslint', () => { - if (typeof FlatRuleTester !== 'function') { - return - } - - const flatRuleTester = new FlatRuleTester() +describe('supports flat eslint', () => { + const flatRuleTester = new FlatRuleTester() as TSESLint.RuleTester flatRuleTester.run('no-unused-modules', rule, { valid: [ { diff --git a/test/rules/prefer-default-export.spec.ts b/test/rules/prefer-default-export.spec.ts index b72bfd101..6bc0aaa16 100644 --- a/test/rules/prefer-default-export.spec.ts +++ b/test/rules/prefer-default-export.spec.ts @@ -1,6 +1,6 @@ import { TSESLint } from '@typescript-eslint/utils' -import { test, testVersion, getNonDefaultParsers, parsers } from '../utils' +import { test, getNonDefaultParsers, parsers } from '../utils' import rule from 'eslint-plugin-import-x/rules/prefer-default-export' @@ -96,11 +96,10 @@ ruleTester.run('prefer-default-export', rule, { `, parser: parsers.BABEL, }), - // es2022: Arbitrary module namespae identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'let foo; export { foo as "default" };', parserOptions: { ecmaVersion: 2022 }, - })), + }), ], invalid: [ test({ @@ -258,16 +257,11 @@ ruleTester.run('prefer-default-export', rule, { }, ], }), - // es2022: Arbitrary module namespae identifier names - ...testVersion('>= 8.7', () => ({ + test({ code: 'export const a = 4; let foo; export { foo as "default" };', - options: [ - { - target: 'any', - }, - ], + options: [{ target: 'any' }], parserOptions: { ecmaVersion: 2022 }, - })), + }), ], // { target: 'any' } invalid cases when any exporting file must contain default export but does not invalid: [ diff --git a/test/utils.ts b/test/utils.ts index 4054a1368..ecab116bf 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -38,7 +38,7 @@ export function getNonDefaultParsers() { return [parsers.TS, parsers.BABEL] as const } -const TEST_FILENAME = testFilePath() +export const TEST_FILENAME = testFilePath() export function eslintVersionSatisfies(specifier: string) { return semver.satisfies(eslintPkg.version, specifier) @@ -92,9 +92,7 @@ export function test( export function testContext(settings?: PluginSettings) { return { - getFilename() { - return TEST_FILENAME - }, + physicalFilename: TEST_FILENAME, settings: settings || {}, } as RuleContext } diff --git a/test/utils/export-map.spec.ts b/test/utils/export-map.spec.ts index 3dab1798e..96c26c201 100644 --- a/test/utils/export-map.spec.ts +++ b/test/utils/export-map.spec.ts @@ -1,11 +1,9 @@ import fs from 'node:fs' import { setTimeout } from 'node:timers/promises' -import eslintPkg from 'eslint/package.json' import getTsconfig from 'get-tsconfig' -import semver from 'semver' -import { testFilePath } from '../utils' +import { TEST_FILENAME, testFilePath } from '../utils' import type { ChildContext, RuleContext } from 'eslint-plugin-import-x/types' import { @@ -15,16 +13,7 @@ import { describe('ExportMap', () => { const fakeContext = { - ...(semver.satisfies(eslintPkg.version, '>= 7.28') - ? { - getFilename() { - throw new Error( - 'Should call getPhysicalFilename() instead of getFilename()', - ) - }, - getPhysicalFilename: testFilePath, - } - : { getFilename: testFilePath }), + physicalFilename: TEST_FILENAME, settings: {}, parserPath: '@babel/eslint-parser', } as RuleContext diff --git a/test/utils/parse.spec.ts b/test/utils/parse.spec.ts index 810af6834..d142aec8e 100644 --- a/test/utils/parse.spec.ts +++ b/test/utils/parse.spec.ts @@ -216,18 +216,23 @@ describe('parse(content, { settings, ecmaFeatures })', () => { it('requires only one of the parse methods', () => { expect( - parse.bind(null, filepath, content, { - settings: {}, - parserPath: null, - languageOptions: { - parser: { - parseForESLint: () => ({ - // @ts-expect-error - testing - ast: {}, - }), + parse.bind( + null, + filepath, + content, + // @ts-expect-error - testing + { + settings: {}, + parserPath: null, + languageOptions: { + parser: { + parseForESLint: () => ({ + ast: {}, + }), + }, }, }, - }), + ), ).not.toThrow() }) @@ -256,15 +261,20 @@ describe('parse(content, { settings, ecmaFeatures })', () => { it('uses parseForESLint from languageOptions.parser', () => { const parseSpy = jest.fn(() => ({ ast: {} })) expect( - parse.bind(null, filepath, content, { - settings: {}, - languageOptions: { - parser: { - // @ts-expect-error - testing - parseForESLint: parseSpy, + parse.bind( + null, + filepath, + content, + // @ts-expect-error - testing + { + settings: {}, + languageOptions: { + parser: { + parseForESLint: parseSpy, + }, }, }, - }), + ), ).not.toThrow() // passed parser to be called once expect(parseSpy).toHaveBeenCalledTimes(1) @@ -274,18 +284,23 @@ describe('parse(content, { settings, ecmaFeatures })', () => { const parseSpy = jest.fn() parseStubParser.parse = parseSpy expect( - parse.bind(null, filepath, content, { - settings: { 'import-x/parsers': { [parseStubParserPath]: ['.js'] } }, - parserPath: null, - languageOptions: { - parser: { - // @ts-expect-error - testing - parse() { - // + parse.bind( + null, + filepath, + content, + // @ts-expect-error - testing + { + settings: { 'import-x/parsers': { [parseStubParserPath]: ['.js'] } }, + parserPath: null, + languageOptions: { + parser: { + parse() { + // + }, }, }, }, - }), + ), ).not.toThrow() // custom parser to be called once expect(parseSpy).toHaveBeenCalledTimes(1) diff --git a/test/utils/resolve.spec.ts b/test/utils/resolve.spec.ts index ddd0cb986..3b920bc1f 100644 --- a/test/utils/resolve.spec.ts +++ b/test/utils/resolve.spec.ts @@ -14,12 +14,6 @@ import { resolve, } from 'eslint-plugin-import-x/utils' -function unexpectedCallToGetFilename(): string { - throw new Error( - 'Expected to call to getPhysicalFilename() instead of getFilename()', - ) -} - describe('resolve', () => { it('throws on bad parameters', () => { expect( @@ -37,26 +31,19 @@ describe('resolve', () => { 'import-x/resolver': './foo-bar-resolver-v1', }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) expect( resolve('../fixtures/exception', { ...context, - getFilename: () => testFilePath('exception.js'), + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect( resolve('../fixtures/not-found', { ...context, - getFilename() { - return testFilePath('not-found.js') - }, + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() }) @@ -66,30 +53,19 @@ describe('resolve', () => { 'import-x/resolver': './foo-bar-resolver-no-version', }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) expect( resolve('../fixtures/exception', { ...context, - getFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect( resolve('../fixtures/not-found', { ...context, - getFilename() { - return testFilePath('not-found.js') - }, + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() }) @@ -103,22 +79,13 @@ describe('resolve', () => { testContextReports.push(reportInfo) } - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) testContextReports.length = 0 expect( resolve('../fixtures/exception', { ...context, - getFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) @@ -131,9 +98,7 @@ describe('resolve', () => { expect( resolve('../fixtures/not-found', { ...context, - getFilename() { - return testFilePath('not-found.js') - }, + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() expect(testContextReports.length).toBe(0) @@ -144,14 +109,7 @@ describe('resolve', () => { 'import-x/resolver': ['./foo-bar-resolver-v2', './foo-bar-resolver-v1'], }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) }) it('respects import-x/resolver as object', () => { @@ -159,14 +117,7 @@ describe('resolve', () => { 'import-x/resolver': { './foo-bar-resolver-v2': {} }, }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) }) it('respects import-x/resolver as array of objects', () => { @@ -177,25 +128,13 @@ describe('resolve', () => { ], }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: () => testFilePath('foo.js'), - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) }) it('finds resolvers from the source files rather than eslint-plugin-import-x/utils', () => { const context = testContext({ 'import-x/resolver': { foo: {} } }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe(testFilePath('./bar.jsx')) }) it('reports invalid import-x/resolver config', () => { @@ -211,14 +150,7 @@ describe('resolve', () => { } testContextReports.length = 0 - expect( - resolve('../fixtures/foo', { - ...context, - getFilename() { - return testFilePath('foo.js') - }, - }), - ).toBeUndefined() + expect(resolve('../fixtures/foo', context)).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) expect( 'message' in testContextReports[0] && testContextReports[0].message, @@ -236,12 +168,7 @@ describe('resolve', () => { testContextReports.push(reportInfo) } - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: testFilePath, - }), - ).toBeUndefined() + expect(resolve('../fixtures/foo', context)).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) expect( 'message' in testContextReports[0] && testContextReports[0].message, @@ -275,9 +202,7 @@ describe('resolve', () => { expect( resolve('../fixtures/exception', { ...context, - getFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) @@ -296,33 +221,21 @@ describe('resolve', () => { 'import-x/resolver': './foo-bar-resolver-v1', }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) expect( resolve('../fixtures/exception', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect( resolve('../fixtures/not-found', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('not-found.js') - }, + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() }) @@ -332,33 +245,21 @@ describe('resolve', () => { 'import-x/resolver': './foo-bar-resolver-no-version', }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('foo.js') - }, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) expect( resolve('../fixtures/exception', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect( resolve('../fixtures/not-found', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('not-found.js') - }, + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() }) @@ -372,22 +273,15 @@ describe('resolve', () => { testContextReports.push(reportInfo) } - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) testContextReports.length = 0 expect( resolve('../fixtures/exception', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename() { - return testFilePath('exception.js') - }, + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) @@ -400,8 +294,7 @@ describe('resolve', () => { expect( resolve('../fixtures/not-found', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: () => testFilePath('not-found.js'), + physicalFilename: testFilePath('not-found.js'), }), ).toBeUndefined() expect(testContextReports.length).toBe(0) @@ -415,13 +308,9 @@ describe('resolve', () => { ], }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) }) it('respects import-x/resolver as object', () => { @@ -429,13 +318,9 @@ describe('resolve', () => { 'import-x/resolver': { './foo-bar-resolver-v2': {} }, }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) }) it('respects import-x/resolver as array of objects', () => { @@ -446,13 +331,9 @@ describe('resolve', () => { ], }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) }) it('finds resolvers from the source files rather than eslint-plugin-import-x/utils', () => { @@ -460,13 +341,9 @@ describe('resolve', () => { 'import-x/resolver': { foo: {} }, }) - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBe(testFilePath('./bar.jsx')) + expect(resolve('../fixtures/foo', context)).toBe( + testFilePath('./bar.jsx'), + ) }) it('reports invalid import-x/resolver config', () => { @@ -480,13 +357,7 @@ describe('resolve', () => { } testContextReports.length = 0 - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBeUndefined() + expect(resolve('../fixtures/foo', context)).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) expect( 'message' in testContextReports[0] && testContextReports[0].message, @@ -503,13 +374,7 @@ describe('resolve', () => { context.report = reportInfo => { testContextReports.push(reportInfo) } - expect( - resolve('../fixtures/foo', { - ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: testFilePath, - }), - ).toBeUndefined() + expect(resolve('../fixtures/foo', context)).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) expect( 'message' in testContextReports[0] && testContextReports[0].message, @@ -541,8 +406,7 @@ describe('resolve', () => { expect( resolve('../fixtures/exception', { ...context, - getFilename: unexpectedCallToGetFilename, - getPhysicalFilename: () => testFilePath('exception.js'), + physicalFilename: testFilePath('exception.js'), }), ).toBeUndefined() expect(testContextReports[0]).toBeInstanceOf(Object) diff --git a/yarn.lock b/yarn.lock index b033a1e2c..1eda0e34e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,33 +55,33 @@ "@angular-eslint/bundled-angular-compiler" "17.3.0" eslint-scope "^8.0.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.1.tgz#31c1f66435f2a9c329bb5716a6d6186c516c3742" + integrity sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" - integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.3.tgz#568864247ea10fbd4eff04dda1e05f9e2ea985c3" + integrity sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.1" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.0" - "@babel/parser" "^7.24.0" + "@babel/helpers" "^7.24.1" + "@babel/parser" "^7.24.1" "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.0" + "@babel/traverse" "^7.24.1" "@babel/types" "^7.24.0" convert-source-map "^2.0.0" debug "^4.1.0" @@ -89,23 +89,23 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.23.10": - version "7.23.10" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz#2d4164842d6db798873b40e0c4238827084667a2" - integrity sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw== +"@babel/eslint-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz#e27eee93ed1d271637165ef3a86e2b9332395c32" + integrity sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== +"@babel/generator@^7.24.1", "@babel/generator@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.1.tgz#e67e06f68568a4ebf194d1c6014235344f0476d0" + integrity sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A== dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" + "@babel/types" "^7.24.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" "@babel/helper-annotate-as-pure@^7.22.5": @@ -122,7 +122,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== @@ -133,17 +133,17 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz#fc7554141bdbfa2d17f7b4b80153b9b090e5d158" - integrity sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g== +"@babel/helper-create-class-features-plugin@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz#db58bf57137b623b916e24874ab7188d93d7f68f" + integrity sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-member-expression-to-functions" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-replace-supers" "^7.24.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" @@ -157,21 +157,10 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.0.tgz#4d1a8b898c8299a2fcf295d7d356d2648471ab31" - integrity sha512-efwOM90nCG6YeT8o3PCyBVSxRfmILxCNL+TNI8CGQl7a62M0Wd9VkV+XHwIlkOz1r4b+lxu6gBjdWiOMdUCrCQ== +"@babel/helper-define-polyfill-provider@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd" + integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -199,19 +188,19 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": +"@babel/helper-member-expression-to-functions@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.24.0" "@babel/helper-module-transforms@^7.23.3": version "7.23.3" @@ -245,13 +234,13 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-member-expression-to-functions" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-simple-access@^7.22.5": @@ -276,16 +265,16 @@ "@babel/types" "^7.22.5" "@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": +"@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== @@ -299,69 +288,70 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" - integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== +"@babel/helpers@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.1.tgz#183e44714b9eba36c3038e442516587b1e0a1a94" + integrity sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg== dependencies: "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.0" + "@babel/traverse" "^7.24.1" "@babel/types" "^7.24.0" -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== +"@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" - integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.1.tgz#1e416d3627393fab1cb5b0f2f1796a100ae9133a" + integrity sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" + "@babel/plugin-transform-optional-chaining" "^7.24.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-proposal-decorators@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz#845b42189e7441faa60a37682de1038eae97c382" - integrity sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ== +"@babel/plugin-proposal-decorators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz#bab2b9e174a2680f0a80f341f3ec70f809f8bb4b" + integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.1" "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-decorators" "^7.24.0" + "@babel/plugin-syntax-decorators" "^7.24.1" -"@babel/plugin-proposal-export-default-from@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0" - integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q== +"@babel/plugin-proposal-export-default-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.24.1.tgz#d242019488277c9a5a8035e5b70de54402644b89" + integrity sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-default-from" "^7.24.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" @@ -396,10 +386,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz#7a15e20aeaf412469c53ed0d5666f31a1fc41215" - integrity sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw== +"@babel/plugin-syntax-decorators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz#71d9ad06063a6ac5430db126b5df48c70ee885fa" + integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -410,12 +400,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335" - integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw== +"@babel/plugin-syntax-export-default-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz#a92852e694910ae4295e6e51e87b83507ed5e6e8" + integrity sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" @@ -424,26 +414,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" - integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== +"@babel/plugin-syntax-flow@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz#875c25e3428d7896c87589765fc8b9d32f24bd8d" + integrity sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -459,12 +449,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -522,12 +512,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== +"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -537,220 +527,220 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-remap-async-to-generator" "^7.22.20" -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== +"@babel/plugin-transform-block-scoping@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz#27af183d7f6dad890531256c7a45019df768ac1f" + integrity sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== +"@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== +"@babel/plugin-transform-class-static-block@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz#4e37efcca1d9f2fcb908d1bae8b56b4b6e9e1cb6" + integrity sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== +"@babel/plugin-transform-classes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1" + integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== +"@babel/plugin-transform-destructuring@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345" + integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" - integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== +"@babel/plugin-transform-flow-strip-types@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz#fa8d0a146506ea195da1671d38eed459242b2dcc" + integrity sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-flow" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-flow" "^7.24.1" -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== dependencies: - "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== dependencies: "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== dependencies: "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== dependencies: "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== dependencies: "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.22.5" @@ -760,103 +750,102 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz#7b836ad0088fdded2420ce96d4e1d3ed78b71df1" - integrity sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w== +"@babel/plugin-transform-object-rest-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff" + integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== dependencies: - "@babel/compat-data" "^7.23.5" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-parameters" "^7.24.1" -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== +"@babel/plugin-transform-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" + integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== +"@babel/plugin-transform-parameters@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510" + integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== +"@babel/plugin-transform-private-property-in-object@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a" + integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== +"@babel/plugin-transform-react-display-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" + integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-react-jsx-development@^7.22.5": version "7.22.5" @@ -865,7 +854,7 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": +"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== @@ -876,126 +865,126 @@ "@babel/plugin-syntax-jsx" "^7.23.3" "@babel/types" "^7.23.4" -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== +"@babel/plugin-transform-react-pure-annotations@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" + integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== +"@babel/plugin-transform-typeof-symbol@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7" + integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz#5c05e28bb76c7dfe7d6c5bed9951324fd2d3ab07" + integrity sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-typescript" "^7.24.1" -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/preset-env@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.0.tgz#11536a7f4b977294f0bdfad780f01a8ac8e183fc" - integrity sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA== +"@babel/preset-env@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.3.tgz#f3f138c844ffeeac372597b29c51b5259e8323a3" + integrity sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA== dependencies: - "@babel/compat-data" "^7.23.5" + "@babel/compat-data" "^7.24.1" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1007,69 +996,69 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.1" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.1" + "@babel/plugin-transform-classes" "^7.24.1" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.1" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.24.0" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.1" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + "@babel/plugin-transform-parameters" "^7.24.1" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.1" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.1" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" core-js-compat "^3.31.0" semver "^6.3.1" -"@babel/preset-flow@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.24.0.tgz#0de60271b0a439b415501c5b28f685fbcb080e1c" - integrity sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg== +"@babel/preset-flow@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.24.1.tgz#da7196c20c2d7dd4e98cfd8b192fe53b5eb6f0bb" + integrity sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-transform-flow-strip-types" "^7.23.3" + "@babel/plugin-transform-flow-strip-types" "^7.24.1" "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" @@ -1080,28 +1069,28 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== +"@babel/preset-react@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" + integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-transform-react-display-name" "^7.24.1" + "@babel/plugin-transform-react-jsx" "^7.23.4" "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + "@babel/plugin-transform-react-pure-annotations" "^7.24.1" -"@babel/preset-typescript@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== +"@babel/preset-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" "@babel/register@^7.23.7": version "7.23.7" @@ -1120,9 +1109,9 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" - integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.1.tgz#431f9a794d173b53720e69a6464abc6f0e2a5c57" + integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== dependencies: regenerator-runtime "^0.14.0" @@ -1135,23 +1124,23 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" -"@babel/traverse@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" - integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== +"@babel/traverse@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" + integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" + "@babel/code-frame" "^7.24.1" + "@babel/generator" "^7.24.1" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.0" + "@babel/parser" "^7.24.1" "@babel/types" "^7.24.0" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== @@ -1388,17 +1377,17 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@emnapi/core@^0.45.0": - version "0.45.0" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-0.45.0.tgz#e58dc1f70ab3af3f6708991ba56d988088daf204" - integrity sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw== +"@emnapi/core@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.1.0.tgz#6b552ea3d2b303965c52661c05976d3072ccb6a3" + integrity sha512-gNEVZo0HhUfVjhr6rFG//HZXbauclxueiDxaKGBZHcK5h8i9pslABNPfG8kMwYTubAn3mV7AyOZN8gfPRgbU8A== dependencies: tslib "^2.4.0" -"@emnapi/runtime@^0.45.0": - version "0.45.0" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-0.45.0.tgz#e754de04c683263f34fd0c7f32adfe718bbe4ddd" - integrity sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w== +"@emnapi/runtime@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.1.0.tgz#b07a0c8d3e61795a192fab57ff0c90a77283ada1" + integrity sha512-gCGlE0fJGWalfy+wbFApjhKn6uoSVvopru77IPyxNKkjkaiSx2HxDS7eOYSmo9dcMIhmmIvoxiC3N9TM1c3EaA== dependencies: tslib "^2.4.0" @@ -1409,7 +1398,7 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== @@ -1677,7 +1666,7 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": +"@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== @@ -1709,7 +1698,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -1740,12 +1729,12 @@ read-yaml-file "^1.1.0" "@napi-rs/wasm-runtime@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.1.1.tgz#ec090e2f46bee2ed0c8486dd9d97ddca836ae30e" - integrity sha512-ATj9ua659JgrkICjJscaeZdmPr44cb/KFjNWuD0N6pux0SpzaM7+iOuuK11mAnQM2N9q0DT4REu6NkL8ZEhopw== + version "0.1.2" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.1.2.tgz#cff8330e3728ab4447af82b67277f067132d341f" + integrity sha512-8JuczewTFIZ/XIjHQ+YlQUydHvlKx2hkcxtuGwh+t/t5zWyZct6YG4+xjHcq8xyc/e7FmFwf42Zj2YgICwmlvA== dependencies: - "@emnapi/core" "^0.45.0" - "@emnapi/runtime" "^0.45.0" + "@emnapi/core" "^1.1.0" + "@emnapi/runtime" "^1.1.0" "@tybys/wasm-util" "^0.8.1" "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": @@ -1950,74 +1939,74 @@ source-map-support "^0.5.21" tslib "^2.6.2" -"@swc/core-darwin-arm64@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz#2fb702e209310c2da2bc712b0757c011b583a60d" - integrity sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ== - -"@swc/core-darwin-x64@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz#a5bcbec6830800ca8acafbda1944464ca8421804" - integrity sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ== - -"@swc/core-linux-arm-gnueabihf@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz#0bf6ae3793bbb7dd0e47c3d153350d31b7e63cf9" - integrity sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA== - -"@swc/core-linux-arm64-gnu@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz#8d3d3e698fc243d4a55c01a968b7297547aa6275" - integrity sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ== - -"@swc/core-linux-arm64-musl@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz#ace70bbb650ceb70609987c5b07ff34462960b9e" - integrity sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w== - -"@swc/core-linux-x64-gnu@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz#76e7fb06e5b6a14ed6dbc0fd00743706d022eb02" - integrity sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w== - -"@swc/core-linux-x64-musl@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz#a6e03fe6207fcb9715250c7af260e5ee1bf43c5a" - integrity sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q== - -"@swc/core-win32-arm64-msvc@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz#5daa44087324c49c64fdbb48fdb3aa00218de03b" - integrity sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA== - -"@swc/core-win32-ia32-msvc@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz#0f1186d2d8bf60c12cfe8ac013b8a520fd850f2e" - integrity sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw== - -"@swc/core-win32-x64-msvc@1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz#0bf080132a52e332c7c221d1087a311824746d76" - integrity sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg== - -"@swc/core@^1.4.8": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.8.tgz#de859373a01f499ed27744f6848b28bbb977e81c" - integrity sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg== +"@swc/core-darwin-arm64@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.11.tgz#91ef40816e10495a4038a98dc6c8dfcc85d9c59b" + integrity sha512-C1j1Qp/IHSelVWdEnT7f0iONWxQz6FAqzjCF2iaL+0vFg4V5f2nlgrueY8vj5pNNzSGhrAlxsMxEIp4dj1MXkg== + +"@swc/core-darwin-x64@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.11.tgz#6f71e3cd4687ef5df226ba0b8a20adc52fa7dc9e" + integrity sha512-0TTy3Ni8ncgaMCchSQ7FK8ZXQLlamy0FXmGWbR58c+pVZWYZltYPTmheJUvVcR0H2+gPAymRKyfC0iLszDALjg== + +"@swc/core-linux-arm-gnueabihf@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.11.tgz#08521822b5510cb506bc49e728f416636ff0306f" + integrity sha512-XJLB71uw0rog4DjYAPxFGAuGCBQpgJDlPZZK6MTmZOvI/1t0+DelJ24IjHIxk500YYM26Yv47xPabqFPD7I2zQ== + +"@swc/core-linux-arm64-gnu@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.11.tgz#9485bc591aa573b282d08b168b80a60badb8df9b" + integrity sha512-vYQwzJvm/iu052d5Iw27UFALIN5xSrGkPZXxLNMHPySVko2QMNNBv35HLatkEQHbQ3X+VKSW9J9SkdtAvAVRAQ== + +"@swc/core-linux-arm64-musl@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.11.tgz#85eecad7aaab7e94b1ff15ab9d95e80a1e95f356" + integrity sha512-eV+KduiRYUFjPsvbZuJ9aknQH9Tj0U2/G9oIZSzLx/18WsYi+upzHbgxmIIHJ2VJgfd7nN40RI/hMtxNsUzR/g== + +"@swc/core-linux-x64-gnu@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.11.tgz#16259de893489b4699045e36bf52b2afe5d10f6d" + integrity sha512-WA1iGXZ2HpqM1OR9VCQZJ8sQ1KP2or9O4bO8vWZo6HZJIeoQSo7aa9waaCLRpkZvkng1ct/TF/l6ymqSNFXIzQ== + +"@swc/core-linux-x64-musl@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.11.tgz#0f4e644fc2b62c8c966072389d354337a22b4dde" + integrity sha512-UkVJToKf0owwQYRnGvjHAeYVDfeimCEcx0VQSbJoN7Iy0ckRZi7YPlmWJU31xtKvikE2bQWCOVe0qbSDqqcWXA== + +"@swc/core-win32-arm64-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.11.tgz#d836b79d8730bf83e6b38a5b888e83944d6fb233" + integrity sha512-35khwkyly7lF5NDSyvIrukBMzxPorgc5iTSDfVO/LvnmN5+fm4lTlrDr4tUfTdOhv3Emy7CsKlsNAeFRJ+Pm+w== + +"@swc/core-win32-ia32-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.11.tgz#bc60bbdc65134aaa5b214e2aaf209acfce401d17" + integrity sha512-Wx8/6f0ufgQF2pbVPsJ2dAmFLwIOW+xBE5fxnb7VnEbGkTgP1qMDWiiAtD9rtvDSuODG3i1AEmAak/2HAc6i6A== + +"@swc/core-win32-x64-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.11.tgz#92fd6d4e2d70bbd4fda438f02310d998db8c7b7c" + integrity sha512-0xRFW6K9UZQH2NVC/0pVB0GJXS45lY24f+6XaPBF1YnMHd8A8GoHl7ugyM5yNUTe2AKhSgk5fJV00EJt/XBtdQ== + +"@swc/core@^1.4.11": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.11.tgz#e91f488df9242584cc6f1b034419f8302aeb0c85" + integrity sha512-WKEakMZxkVwRdgMN4AMJ9K5nysY8g8npgQPczmjBeNK5In7QEAZAJwnyccrWwJZU0XjVeHn2uj+XbOKdDW17rg== dependencies: "@swc/counter" "^0.1.2" "@swc/types" "^0.1.5" optionalDependencies: - "@swc/core-darwin-arm64" "1.4.8" - "@swc/core-darwin-x64" "1.4.8" - "@swc/core-linux-arm-gnueabihf" "1.4.8" - "@swc/core-linux-arm64-gnu" "1.4.8" - "@swc/core-linux-arm64-musl" "1.4.8" - "@swc/core-linux-x64-gnu" "1.4.8" - "@swc/core-linux-x64-musl" "1.4.8" - "@swc/core-win32-arm64-msvc" "1.4.8" - "@swc/core-win32-ia32-msvc" "1.4.8" - "@swc/core-win32-x64-msvc" "1.4.8" + "@swc/core-darwin-arm64" "1.4.11" + "@swc/core-darwin-x64" "1.4.11" + "@swc/core-linux-arm-gnueabihf" "1.4.11" + "@swc/core-linux-arm64-gnu" "1.4.11" + "@swc/core-linux-arm64-musl" "1.4.11" + "@swc/core-linux-x64-gnu" "1.4.11" + "@swc/core-linux-x64-musl" "1.4.11" + "@swc/core-win32-arm64-msvc" "1.4.11" + "@swc/core-win32-ia32-msvc" "1.4.11" + "@swc/core-win32-x64-msvc" "1.4.11" "@swc/counter@^0.1.2", "@swc/counter@^0.1.3": version "0.1.3" @@ -2060,9 +2049,9 @@ integrity sha512-AqlrT8YA1o7Ff5wPfMOL0pvL+1X+sw60NN6CcOCqs658emD6RfiXhF7Gu9QcfKBH7ELY2nInLhKSCWVoNL70MQ== "@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": version "1.0.11" @@ -2131,10 +2120,10 @@ resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.9.tgz#d86a5f452a15e3e3113b99e39616a9baa0f9863f" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== -"@types/eslint@^8.56.5": - version "8.56.5" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.5.tgz#94b88cab77588fcecdd0771a6d576fa1c0af9d02" - integrity sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw== +"@types/eslint@^8.56.6": + version "8.56.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.6.tgz#d5dc16cac025d313ee101108ba5714ea10eb3ed0" + integrity sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2183,7 +2172,7 @@ expect "^29.0.0" pretty-format "^29.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2198,10 +2187,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node@*": - version "20.11.26" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.26.tgz#3fbda536e51d5c79281e1d9657dcb0131baabd2d" - integrity sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ== +"@types/node@*", "@types/node@^20.11.30": + version "20.11.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f" + integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== dependencies: undici-types "~5.26.4" @@ -2210,13 +2199,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^20.11.28": - version "20.11.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.28.tgz#4fd5b2daff2e580c12316e457473d68f15ee6f66" - integrity sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA== - dependencies: - undici-types "~5.26.4" - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -2244,30 +2226,32 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== +"@typescript-eslint/eslint-plugin@^7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.4.0.tgz#de61c3083842fc6ac889d2fc83c9a96b55ab8328" + integrity sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw== dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "7.4.0" + "@typescript-eslint/type-utils" "7.4.0" + "@typescript-eslint/utils" "7.4.0" + "@typescript-eslint/visitor-keys" "7.4.0" debug "^4.3.4" graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== +"@typescript-eslint/parser@^7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.4.0.tgz#540f4321de1e52b886c0fa68628af1459954c1f1" + integrity sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ== dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/scope-manager" "7.4.0" + "@typescript-eslint/types" "7.4.0" + "@typescript-eslint/typescript-estree" "7.4.0" + "@typescript-eslint/visitor-keys" "7.4.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2278,22 +2262,35 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== +"@typescript-eslint/scope-manager@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.4.0.tgz#acfc69261f10ece7bf7ece1734f1713392c3655f" + integrity sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw== dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" + "@typescript-eslint/types" "7.4.0" + "@typescript-eslint/visitor-keys" "7.4.0" + +"@typescript-eslint/type-utils@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.4.0.tgz#cfcaab21bcca441c57da5d3a1153555e39028cbd" + integrity sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw== + dependencies: + "@typescript-eslint/typescript-estree" "7.4.0" + "@typescript-eslint/utils" "7.4.0" debug "^4.3.4" - tsutils "^3.21.0" + ts-api-utils "^1.0.1" "@typescript-eslint/types@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/typescript-estree@5.62.0", "@typescript-eslint/typescript-estree@^5.62.0": +"@typescript-eslint/types@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.4.0.tgz#ee9dafa75c99eaee49de6dcc9348b45d354419b6" + integrity sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw== + +"@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== @@ -2306,7 +2303,34 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.38.1", "@typescript-eslint/utils@^5.62.0": +"@typescript-eslint/typescript-estree@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.4.0.tgz#12dbcb4624d952f72c10a9f4431284fca24624f4" + integrity sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg== + dependencies: + "@typescript-eslint/types" "7.4.0" + "@typescript-eslint/visitor-keys" "7.4.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@7.4.0", "@typescript-eslint/utils@^7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.4.0.tgz#d889a0630cab88bddedaf7c845c64a00576257bd" + integrity sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "7.4.0" + "@typescript-eslint/types" "7.4.0" + "@typescript-eslint/typescript-estree" "7.4.0" + semver "^7.5.4" + +"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.38.1": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -2328,6 +2352,14 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.4.0.tgz#0c8ff2c1f8a6fe8d7d1a57ebbd4a638e86a60a94" + integrity sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA== + dependencies: + "@typescript-eslint/types" "7.4.0" + eslint-visitor-keys "^3.4.1" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -2498,14 +2530,15 @@ array-union@^2.1.0: integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.find@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.2.2.tgz#e862cf891e725d8f2a10e5e42d750629faaabd32" - integrity sha512-DRumkfW97iZGOfn+lIXbkVrXL04sfYKX+EfOodo8XboR5sxPDVvOjZTF/rysusa9lmhmSOeD6Vp6RKQP+eP4Tg== + version "2.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.2.3.tgz#675a233dbcd9b65ecf1fb3f915741aebc45461e6" + integrity sha512-fO/ORdOELvjbbeIfZfzrXFMhYHGofRGqd+am9zm3tZ4GlJINj/pA2eITyfd65Vg6+ZbHd/Cys7stpoRSWtQFdA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" array.prototype.flat@^1.2.3: version "1.3.2" @@ -2594,29 +2627,29 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.9" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.9.tgz#15a285f681e1c5495093d85f1cf72bd1cbed41ce" - integrity sha512-BXIWIaO3MewbXWdJdIGDWZurv5OGJlFNo7oy20DpB3kWDVJLcY2NRypRsRUbRe5KMqSNLuOGnWTFQQtY5MAsRw== +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.10" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" + integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.0" + "@babel/helper-define-polyfill-provider" "^0.6.1" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== +babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be" + integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.1" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2690,7 +2723,7 @@ breakword@^1.0.5: dependencies: wcwidth "^1.0.1" -browserslist@^4.22.2, browserslist@^4.22.3: +browserslist@^4.22.2, browserslist@^4.23.0: version "4.23.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -2760,9 +2793,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001587: - version "1.0.30001597" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz#8be94a8c1d679de23b22fbd944232aa1321639e6" - integrity sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w== + version "1.0.30001600" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079" + integrity sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" @@ -2929,12 +2962,12 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== +core-js-compat@^3.31.0, core-js-compat@^3.34.0, core-js-compat@^3.36.1: + version "3.36.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" + integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== dependencies: - browserslist "^4.22.3" + browserslist "^4.23.0" cosmiconfig@^8.0.0: version "8.3.6" @@ -3031,6 +3064,33 @@ csv@^5.5.3: csv-stringify "^5.6.5" stream-transform "^2.1.3" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + dataloader@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" @@ -3170,9 +3230,9 @@ eastasianwidth@^0.2.0: integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== electron-to-chromium@^1.4.668: - version "1.4.699" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz#dd53c939e13da64e94b341e563f0a3011b4ef0e9" - integrity sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw== + version "1.4.717" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz#99db370cae8cd090d5b01f8748e9ad369924d0f8" + integrity sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A== emittery@^0.13.1: version "0.13.1" @@ -3221,17 +3281,21 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3: - version "1.22.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.5.tgz#1417df4e97cc55f09bf7e58d1e614bc61cb8df46" - integrity sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w== +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.2.tgz#693312f3940f967b8dd3eebacb590b01712622e0" + integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" available-typed-arrays "^1.0.7" call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" es-define-property "^1.0.0" es-errors "^1.3.0" + es-object-atoms "^1.0.0" es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" @@ -3242,10 +3306,11 @@ es-abstract@^1.22.1, es-abstract@^1.22.3: has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" - hasown "^2.0.1" + hasown "^2.0.2" internal-slot "^1.0.7" is-array-buffer "^3.0.4" is-callable "^1.2.7" + is-data-view "^1.0.1" is-negative-zero "^2.0.3" is-regex "^1.1.4" is-shared-array-buffer "^1.0.3" @@ -3256,17 +3321,17 @@ es-abstract@^1.22.1, es-abstract@^1.22.3: object-keys "^1.1.1" object.assign "^4.1.5" regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.0" + safe-array-concat "^1.1.2" safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" string.prototype.trimstart "^1.0.7" typed-array-buffer "^1.0.2" typed-array-byte-length "^1.0.1" typed-array-byte-offset "^1.0.2" typed-array-length "^1.0.5" unbox-primitive "^1.0.2" - which-typed-array "^1.1.14" + which-typed-array "^1.1.15" es-define-property@^1.0.0: version "1.0.0" @@ -3280,6 +3345,13 @@ es-errors@^1.2.1, es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + es-set-tostringtag@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" @@ -3289,7 +3361,7 @@ es-set-tostringtag@^2.0.3: has-tostringtag "^1.0.2" hasown "^2.0.1" -es-shim-unscopables@^1.0.0: +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== @@ -3333,11 +3405,6 @@ escope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-compat-utils@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653" - integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg== - eslint-compat-utils@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz#f7b2eb2befec25a370fac76934d3f9189f312a65" @@ -3419,18 +3486,18 @@ eslint-module-utils@^2.7.4: debug "^3.2.7" eslint-plugin-es-x@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz#d08d9cd155383e35156c48f736eb06561d07ba92" - integrity sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz#ccee7a4556c0f816d1ae88fd0eea21540e8ccd65" + integrity sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA== dependencies: "@eslint-community/eslint-utils" "^4.1.2" "@eslint-community/regexpp" "^4.6.0" - eslint-compat-utils "^0.1.2" + eslint-compat-utils "^0.5.0" -eslint-plugin-eslint-plugin@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.4.0.tgz#61782d2252d400451b494a3fb2db2d9c04e34745" - integrity sha512-79izqWfmWmvGEWse5rZQlrcqPp34g07ZE1AyzbB8qnS8dnxJvc4vltGT6xuYIPvpQoQECzW5bGeD4BvOxUYvBA== +eslint-plugin-eslint-plugin@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.4.1.tgz#f97efa9073afb54e646b8c9276574a4f0fee206e" + integrity sha512-Wu0C9Jx0ekl05NnTraPujdUt5aOGHI+73KHcTAyCucvoWf76wlOT5bNus5DG3Ceq+p0J/HBd0LLrVrrGzpnFog== dependencies: eslint-utils "^3.0.0" estraverse "^5.3.0" @@ -3518,9 +3585,9 @@ eslint-scope@^7.2.2: estraverse "^5.2.0" eslint-scope@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.0.tgz#7b6b067599c436404ce856cd2c47331464603a4a" - integrity sha512-zj3Byw6jX4TcFCJmxOzLt6iol5FAr9xQyZZSQjEzW2UiCJXLwXdRIKCYVFftnpZckaC9Ps9xlC7jB8tSeWWOaw== + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" + integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -4060,7 +4127,7 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hasown@^2.0.0, hasown@^2.0.1: +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== @@ -4094,12 +4161,7 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -ignore@^5.2.4: +ignore@^5.2.0, ignore@^5.2.4: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== @@ -4204,6 +4266,13 @@ is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.13.0, is-core- dependencies: hasown "^2.0.0" +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -5142,6 +5211,13 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +minimatch@9.0.3, minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -5149,13 +5225,6 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -5190,11 +5259,6 @@ mvdan-sh@^0.10.1: resolved "https://registry.yarnpkg.com/mvdan-sh/-/mvdan-sh-0.10.1.tgz#5b3a4462a89cf20739b12d851589342c875f4d1f" integrity sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg== -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -5619,9 +5683,9 @@ punycode@^2.1.0: integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== queue-microtask@^1.2.2: version "1.2.3" @@ -5851,7 +5915,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.1.0: +safe-array-concat@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== @@ -6015,9 +6079,9 @@ smartwrap@^2.0.2: yargs "^15.1.0" source-map-js@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map-resolve@^0.6.0: version "0.6.0" @@ -6132,32 +6196,33 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" @@ -6329,6 +6394,11 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +ts-api-utils@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-node@^10.9.2: version "10.9.2" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" @@ -6425,10 +6495,10 @@ type-fest@^3.0.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== -type-fest@^4.12.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.12.0.tgz#00ae70d02161b81ecd095158143c4bb8c879760d" - integrity sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ== +type-fest@^4.14.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.14.0.tgz#46f9a358e605f0ec5ca99ab83deaa7257a7ae379" + integrity sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q== typed-array-buffer@^1.0.2: version "1.0.2" @@ -6463,9 +6533,9 @@ typed-array-byte-offset@^1.0.2: is-typed-array "^1.1.13" typed-array-length@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5" - integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: call-bind "^1.0.7" for-each "^0.3.3" @@ -6474,10 +6544,10 @@ typed-array-length@^1.0.5: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@~5.1.0: - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +typescript@^5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" + integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== unbox-primitive@^1.0.2: version "1.0.2" @@ -6646,7 +6716,7 @@ which-pm@2.0.0: load-yaml-file "^0.2.0" path-exists "^4.0.0" -which-typed-array@^1.1.14: +which-typed-array@^1.1.14, which-typed-array@^1.1.15: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==