diff --git a/tools/eslint/node_modules/@babel/compat-data/data/overlapping-plugins.json b/tools/eslint/node_modules/@babel/compat-data/data/overlapping-plugins.json index 0722826136b239..9b884bd44b8372 100644 --- a/tools/eslint/node_modules/@babel/compat-data/data/overlapping-plugins.json +++ b/tools/eslint/node_modules/@babel/compat-data/data/overlapping-plugins.json @@ -24,10 +24,12 @@ ], "transform-class-properties": [ "bugfix/transform-v8-static-class-fields-redefine-readonly", - "bugfix/transform-firefox-class-in-computed-class-key" + "bugfix/transform-firefox-class-in-computed-class-key", + "bugfix/transform-safari-class-field-initializer-scope" ], "proposal-class-properties": [ "bugfix/transform-v8-static-class-fields-redefine-readonly", - "bugfix/transform-firefox-class-in-computed-class-key" + "bugfix/transform-firefox-class-in-computed-class-key", + "bugfix/transform-safari-class-field-initializer-scope" ] } diff --git a/tools/eslint/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/tools/eslint/node_modules/@babel/compat-data/data/plugin-bugfixes.json index 55b56021388532..82e4e2111f0db8 100644 --- a/tools/eslint/node_modules/@babel/compat-data/data/plugin-bugfixes.json +++ b/tools/eslint/node_modules/@babel/compat-data/data/plugin-bugfixes.json @@ -111,10 +111,10 @@ "chrome": "74", "opera": "62", "edge": "79", - "safari": "14.1", + "safari": "16", "node": "12", "deno": "1", - "ios": "14.5", + "ios": "16", "samsung": "11", "opera_mobile": "53", "electron": "6.0" diff --git a/tools/eslint/node_modules/@babel/compat-data/data/plugins.json b/tools/eslint/node_modules/@babel/compat-data/data/plugins.json index 937ddd4fd93981..0b269f84600e9d 100644 --- a/tools/eslint/node_modules/@babel/compat-data/data/plugins.json +++ b/tools/eslint/node_modules/@babel/compat-data/data/plugins.json @@ -1,4 +1,11 @@ { + "transform-duplicate-named-capturing-groups-regex": { + "chrome": "126", + "edge": "126", + "firefox": "129", + "safari": "17.4", + "electron": "31.0" + }, "transform-unicode-sets-regex": { "chrome": "112", "opera": "98", @@ -28,10 +35,23 @@ "chrome": "74", "opera": "62", "edge": "79", - "safari": "14.1", + "safari": "16", "node": "12", "deno": "1", - "ios": "14.5", + "ios": "16", + "samsung": "11", + "opera_mobile": "53", + "electron": "6.0" + }, + "bugfix/transform-safari-class-field-initializer-scope": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "69", + "safari": "16", + "node": "12", + "deno": "1", + "ios": "16", "samsung": "11", "opera_mobile": "53", "electron": "6.0" diff --git a/tools/eslint/node_modules/@babel/compat-data/package.json b/tools/eslint/node_modules/@babel/compat-data/package.json index a99f496af8ef47..413b626552447a 100644 --- a/tools/eslint/node_modules/@babel/compat-data/package.json +++ b/tools/eslint/node_modules/@babel/compat-data/package.json @@ -1,6 +1,6 @@ { "name": "@babel/compat-data", - "version": "7.24.8", + "version": "7.25.0", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "description": "", diff --git a/tools/eslint/node_modules/@babel/core/lib/index.js b/tools/eslint/node_modules/@babel/core/lib/index.js index b2f551ccf397ac..febdfc5fd81447 100644 --- a/tools/eslint/node_modules/@babel/core/lib/index.js +++ b/tools/eslint/node_modules/@babel/core/lib/index.js @@ -224,7 +224,7 @@ var _transformAst = require("./transform-ast.js"); var _parse = require("./parse.js"); var thisFile = require("./index.js"); ; -const version = exports.version = "7.24.8"; +const version = exports.version = "7.24.9"; const DEFAULT_EXTENSIONS = exports.DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); ; { diff --git a/tools/eslint/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs b/tools/eslint/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs new file mode 100644 index 00000000000000..a532ff129ccb1b --- /dev/null +++ b/tools/eslint/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs @@ -0,0 +1,4 @@ +exports.getModuleName = () => require("@babel/helper-module-transforms").getModuleName; +0 && 0; + +//# sourceMappingURL=babel-7-helpers.cjs.map diff --git a/tools/eslint/node_modules/@babel/core/lib/transformation/file/file.js b/tools/eslint/node_modules/@babel/core/lib/transformation/file/file.js index 987d9618378033..61caa1710d301e 100644 --- a/tools/eslint/node_modules/@babel/core/lib/transformation/file/file.js +++ b/tools/eslint/node_modules/@babel/core/lib/transformation/file/file.js @@ -39,6 +39,9 @@ function _semver() { }; return data; } +var babel7 = _interopRequireWildcard(require("./babel-7-helpers.cjs"), true); +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } const { cloneNode, interpreterDirective @@ -202,7 +205,7 @@ exports.default = File; }; { File.prototype.getModuleName = function getModuleName() { - return require("@babel/helper-module-transforms").getModuleName(this.opts, this.opts); + return babel7.getModuleName()(this.opts, this.opts); }; } } diff --git a/tools/eslint/node_modules/@babel/core/package.json b/tools/eslint/node_modules/@babel/core/package.json index 1c36a52b59e3d8..214cfb73bc0d9c 100644 --- a/tools/eslint/node_modules/@babel/core/package.json +++ b/tools/eslint/node_modules/@babel/core/package.json @@ -1,6 +1,6 @@ { "name": "@babel/core", - "version": "7.24.8", + "version": "7.24.9", "description": "Babel compiler core.", "main": "./lib/index.js", "author": "The Babel Team (https://babel.dev/team)", @@ -48,14 +48,14 @@ "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", + "@babel/generator": "^7.24.9", "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", "@babel/helpers": "^7.24.8", "@babel/parser": "^7.24.8", "@babel/template": "^7.24.7", "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", diff --git a/tools/eslint/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs b/tools/eslint/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs index d7119150d76f13..171d226857b6f4 100644 --- a/tools/eslint/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs +++ b/tools/eslint/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs @@ -16,7 +16,7 @@ const Clients = require("./client.cjs"); const client = new Clients.WorkerClient(); const meta = exports.meta = { name: "@babel/eslint-parser/experimental-worker", - version: "7.24.8" + version: "7.25.0" }; function parseForESLint(code, options = {}) { const normalizedOptions = normalizeESLintConfig(options); diff --git a/tools/eslint/node_modules/@babel/eslint-parser/lib/index.cjs b/tools/eslint/node_modules/@babel/eslint-parser/lib/index.cjs index cbf7166b741d9d..6a0f7162690825 100644 --- a/tools/eslint/node_modules/@babel/eslint-parser/lib/index.cjs +++ b/tools/eslint/node_modules/@babel/eslint-parser/lib/index.cjs @@ -13,7 +13,7 @@ const baseParse = require("./parse.cjs"); const client = new _client.LocalClient(); const meta = exports.meta = { name: "@babel/eslint-parser", - version: "7.24.8" + version: "7.25.0" }; function parse(code, options = {}) { return baseParse(code, normalizeESLintConfig(options), client); diff --git a/tools/eslint/node_modules/@babel/eslint-parser/lib/parse.cjs b/tools/eslint/node_modules/@babel/eslint-parser/lib/parse.cjs index be776e2923c196..fa3672f000ba12 100644 --- a/tools/eslint/node_modules/@babel/eslint-parser/lib/parse.cjs +++ b/tools/eslint/node_modules/@babel/eslint-parser/lib/parse.cjs @@ -20,7 +20,7 @@ module.exports = function parse(code, options, client) { isRunningMinSupportedCoreVersion = semver.satisfies(client.getVersion(), minSupportedCoreVersion); } if (!isRunningMinSupportedCoreVersion) { - throw new Error(`@babel/eslint-parser@${"7.24.8"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`); + throw new Error(`@babel/eslint-parser@${"7.25.0"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`); } const { ast, diff --git a/tools/eslint/node_modules/@babel/eslint-parser/package.json b/tools/eslint/node_modules/@babel/eslint-parser/package.json index 0a9b91f5fecd6f..fed23c02674058 100644 --- a/tools/eslint/node_modules/@babel/eslint-parser/package.json +++ b/tools/eslint/node_modules/@babel/eslint-parser/package.json @@ -1,6 +1,6 @@ { "name": "@babel/eslint-parser", - "version": "7.24.8", + "version": "7.25.0", "description": "ESLint parser that allows for linting of experimental syntax transformed by Babel", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", @@ -36,11 +36,11 @@ "semver": "^6.3.1" }, "devDependencies": { - "@babel/core": "^7.24.8", + "@babel/core": "^7.24.9", "@types/eslint": "^8.56.2", "@types/estree": "^1.0.5", "@typescript-eslint/scope-manager": "^6.19.0", - "dedent": "^0.7.0", + "dedent": "^1.5.3", "eslint": "^9.0.0" } } \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/eslint-parser/tsconfig.tsbuildinfo b/tools/eslint/node_modules/@babel/eslint-parser/tsconfig.tsbuildinfo index db6da18a821b97..446dd25b7eac99 100644 --- a/tools/eslint/node_modules/@babel/eslint-parser/tsconfig.tsbuildinfo +++ b/tools/eslint/node_modules/@babel/eslint-parser/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../dts/packages/babel-types/src/validators/react/isCompatTag.d.ts","../../dts/packages/babel-types/src/builders/react/buildChildren.d.ts","../../dts/packages/babel-types/src/asserts/assertNode.d.ts","../../dts/packages/babel-types/src/asserts/generated/index.d.ts","../../dts/packages/babel-types/src/builders/flow/createTypeAnnotationBasedOnTypeof.d.ts","../../dts/packages/babel-types/src/builders/flow/createFlowUnionType.d.ts","../../dts/packages/babel-types/src/builders/typescript/createTSUnionType.d.ts","../../dts/packages/babel-types/src/builders/generated/index.d.ts","../../packages/babel-types/src/builders/generated/uppercase.d.ts","../../dts/packages/babel-types/src/builders/productions.d.ts","../../dts/packages/babel-types/src/clone/cloneNode.d.ts","../../dts/packages/babel-types/src/clone/clone.d.ts","../../dts/packages/babel-types/src/clone/cloneDeep.d.ts","../../dts/packages/babel-types/src/clone/cloneDeepWithoutLoc.d.ts","../../dts/packages/babel-types/src/clone/cloneWithoutLoc.d.ts","../../dts/packages/babel-types/src/comments/addComment.d.ts","../../dts/packages/babel-types/src/comments/addComments.d.ts","../../dts/packages/babel-types/src/comments/inheritInnerComments.d.ts","../../dts/packages/babel-types/src/comments/inheritLeadingComments.d.ts","../../dts/packages/babel-types/src/comments/inheritsComments.d.ts","../../dts/packages/babel-types/src/comments/inheritTrailingComments.d.ts","../../dts/packages/babel-types/src/comments/removeComments.d.ts","../../dts/packages/babel-types/src/constants/generated/index.d.ts","../../dts/packages/babel-types/src/constants/index.d.ts","../../dts/packages/babel-types/src/converters/ensureBlock.d.ts","../../dts/packages/babel-types/src/converters/toBindingIdentifierName.d.ts","../../dts/packages/babel-types/src/converters/toBlock.d.ts","../../dts/packages/babel-types/src/converters/toComputedKey.d.ts","../../dts/packages/babel-types/src/converters/toExpression.d.ts","../../dts/packages/babel-types/src/converters/toIdentifier.d.ts","../../dts/packages/babel-types/src/converters/toKeyAlias.d.ts","../../dts/packages/babel-types/src/converters/toStatement.d.ts","../../dts/packages/babel-types/src/converters/valueToNode.d.ts","../../dts/packages/babel-types/src/definitions/utils.d.ts","../../dts/packages/babel-types/src/definitions/core.d.ts","../../dts/packages/babel-types/src/definitions/flow.d.ts","../../dts/packages/babel-types/src/definitions/jsx.d.ts","../../dts/packages/babel-types/src/definitions/misc.d.ts","../../dts/packages/babel-types/src/definitions/experimental.d.ts","../../dts/packages/babel-types/src/definitions/typescript.d.ts","../../dts/packages/babel-types/src/definitions/placeholders.d.ts","../../dts/packages/babel-types/src/definitions/deprecated-aliases.d.ts","../../dts/packages/babel-types/src/definitions/index.d.ts","../../dts/packages/babel-types/src/modifications/appendToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/inherits.d.ts","../../dts/packages/babel-types/src/modifications/prependToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/removeProperties.d.ts","../../dts/packages/babel-types/src/modifications/removePropertiesDeep.d.ts","../../dts/packages/babel-types/src/modifications/flow/removeTypeDuplicates.d.ts","../../dts/packages/babel-types/src/retrievers/getBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getOuterBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/traverse/traverse.d.ts","../../dts/packages/babel-types/src/traverse/traverseFast.d.ts","../../dts/packages/babel-types/src/utils/shallowEqual.d.ts","../../dts/packages/babel-types/src/validators/is.d.ts","../../dts/packages/babel-types/src/validators/isBinding.d.ts","../../dts/packages/babel-types/src/validators/isBlockScoped.d.ts","../../dts/packages/babel-types/src/validators/isImmutable.d.ts","../../dts/packages/babel-types/src/validators/isLet.d.ts","../../dts/packages/babel-types/src/validators/isNode.d.ts","../../dts/packages/babel-types/src/validators/isNodesEquivalent.d.ts","../../dts/packages/babel-types/src/validators/isPlaceholderType.d.ts","../../dts/packages/babel-types/src/validators/isReferenced.d.ts","../../dts/packages/babel-types/src/validators/isScope.d.ts","../../dts/packages/babel-types/src/validators/isSpecifierDefault.d.ts","../../dts/packages/babel-types/src/validators/isType.d.ts","../../dts/packages/babel-types/src/validators/isValidES3Identifier.d.ts","../../dts/packages/babel-types/src/validators/isValidIdentifier.d.ts","../../dts/packages/babel-types/src/validators/isVar.d.ts","../../dts/packages/babel-types/src/validators/matchesPattern.d.ts","../../dts/packages/babel-types/src/validators/validate.d.ts","../../dts/packages/babel-types/src/validators/buildMatchMemberExpression.d.ts","../../dts/packages/babel-types/src/validators/generated/index.d.ts","../../dts/packages/babel-types/src/ast-types/generated/index.d.ts","../../dts/packages/babel-types/src/utils/deprecationWarning.d.ts","../../dts/packages/babel-types/src/index.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types.d.ts","../../packages/babel-traverse/src/generated/visitor-types.d.ts","../../dts/packages/babel-traverse/src/types.d.ts","../../dts/packages/babel-traverse/src/visitors.d.ts","../../dts/packages/babel-traverse/src/scope/binding.d.ts","../../dts/packages/babel-traverse/src/scope/index.d.ts","../../dts/packages/babel-traverse/src/hub.d.ts","../../dts/packages/babel-traverse/src/context.d.ts","../../dts/packages/babel-traverse/src/path/ancestry.d.ts","../../dts/packages/babel-traverse/src/path/inference/index.d.ts","../../dts/packages/babel-traverse/src/path/replacement.d.ts","../../dts/packages/babel-traverse/src/path/evaluation.d.ts","../../dts/packages/babel-traverse/src/path/conversion.d.ts","../../dts/packages/babel-traverse/src/path/introspection.d.ts","../../dts/packages/babel-traverse/src/path/context.d.ts","../../dts/packages/babel-traverse/src/path/removal.d.ts","../../dts/packages/babel-traverse/src/path/modification.d.ts","../../dts/packages/babel-traverse/src/path/family.d.ts","../../dts/packages/babel-traverse/src/path/comments.d.ts","../../packages/babel-traverse/src/path/generated/asserts.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types-validator.d.ts","../../packages/babel-traverse/src/path/generated/validators.d.ts","../../dts/packages/babel-traverse/src/path/index.d.ts","../../dts/packages/babel-traverse/src/cache.d.ts","../../dts/packages/babel-traverse/src/index.d.ts","../../node_modules/@types/gensync/index.d.ts","../../dts/packages/babel-core/src/config/helpers/deep-array.d.ts","../../dts/packages/babel-parser/src/util/location.d.ts","../../dts/packages/babel-parser/src/tokenizer/context.d.ts","../../dts/packages/babel-parser/src/tokenizer/types.d.ts","../../dts/packages/babel-parser/src/parse-error/standard-errors.d.ts","../../dts/packages/babel-parser/src/parse-error/pipeline-operator-errors.d.ts","../../dts/packages/babel-parser/src/parse-error.d.ts","../../dts/packages/babel-parser/src/tokenizer/state.d.ts","../../dts/packages/babel-parser/src/util/scopeflags.d.ts","../../dts/packages/babel-parser/src/util/scope.d.ts","../../dts/packages/babel-parser/src/util/expression-scope.d.ts","../../dts/packages/babel-parser/src/util/class-scope.d.ts","../../dts/packages/babel-parser/src/util/production-parameter.d.ts","../../packages/babel-parser/src/typings.d.ts","../../dts/packages/babel-parser/src/parser/base.d.ts","../../dts/packages/babel-parser/src/parser/util.d.ts","../../dts/packages/babel-parser/src/parser/node.d.ts","../../dts/packages/babel-parser/src/parser/comments.d.ts","../../dts/packages/babel-helper-string-parser/src/index.d.ts","../../dts/packages/babel-parser/src/tokenizer/index.d.ts","../../node_modules/@types/charcodes/index.d.ts","../../dts/packages/babel-parser/src/parser/lval.d.ts","../../dts/packages/babel-parser/src/parser/expression.d.ts","../../dts/packages/babel-parser/src/parser/statement.d.ts","../../dts/packages/babel-parser/src/plugins/placeholders.d.ts","../../dts/packages/babel-parser/src/types.d.ts","../../dts/packages/babel-parser/src/parser/index.d.ts","../../dts/packages/babel-parser/src/plugins/flow/scope.d.ts","../../dts/packages/babel-parser/src/plugins/jsx/index.d.ts","../../dts/packages/babel-parser/src/plugins/typescript/scope.d.ts","../../dts/packages/babel-parser/src/plugin-utils.d.ts","../../dts/packages/babel-parser/src/options.d.ts","../../dts/packages/babel-parser/src/index.d.ts","../../dts/packages/babel-helper-compilation-targets/src/options.d.ts","../../dts/packages/babel-helper-compilation-targets/src/targets.d.ts","../../packages/babel-helper-compilation-targets/src/types.d.ts","../../dts/packages/babel-helper-compilation-targets/src/pretty.d.ts","../../dts/packages/babel-helper-compilation-targets/src/debug.d.ts","../../dts/packages/babel-helper-compilation-targets/src/filter-items.d.ts","../../dts/packages/babel-helper-compilation-targets/src/index.d.ts","../../dts/packages/babel-core/src/config/caching.d.ts","../../dts/packages/babel-core/src/config/printer.d.ts","../../dts/packages/babel-core/src/config/files/types.d.ts","../../dts/packages/babel-core/src/config/files/package.d.ts","../../dts/packages/babel-core/src/config/files/configuration.d.ts","../../dts/packages/babel-core/src/config/files/plugins.d.ts","../../dts/packages/babel-core/src/config/files/index.d.ts","../../dts/packages/babel-core/src/config/config-chain.d.ts","../../dts/packages/babel-core/src/config/cache-contexts.d.ts","../../dts/packages/babel-core/src/config/helpers/config-api.d.ts","../../dts/packages/babel-core/src/config/config-descriptors.d.ts","../../dts/packages/babel-core/src/config/item.d.ts","../../node_modules/@types/jsesc/index.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts","../../dts/packages/babel-generator/src/index.d.ts","../../dts/packages/babel-core/src/config/validation/options.d.ts","../../dts/packages/babel-core/src/config/validation/plugins.d.ts","../../dts/packages/babel-core/src/config/plugin.d.ts","../../dts/packages/babel-core/src/config/full.d.ts","../../dts/packages/babel-core/src/config/partial.d.ts","../../dts/packages/babel-core/src/config/index.d.ts","../../node_modules/@types/convert-source-map/index.d.ts","../../dts/packages/babel-core/src/transformation/normalize-file.d.ts","../../dts/packages/babel-core/src/transformation/file/file.d.ts","../../dts/packages/babel-core/src/transformation/plugin-pass.d.ts","../../dts/packages/babel-core/src/tools/build-external-helpers.d.ts","../../dts/packages/babel-core/src/config/helpers/environment.d.ts","../../dts/packages/babel-template/src/options.d.ts","../../dts/packages/babel-template/src/formatters.d.ts","../../dts/packages/babel-template/src/builder.d.ts","../../dts/packages/babel-template/src/index.d.ts","../../dts/packages/babel-core/src/transformation/index.d.ts","../../dts/packages/babel-core/src/transform.d.ts","../../dts/packages/babel-core/src/transform-file.d.ts","../../dts/packages/babel-core/src/transform-ast.d.ts","../../dts/packages/babel-core/src/parser/index.d.ts","../../dts/packages/babel-core/src/parse.d.ts","../../dts/packages/babel-core/src/index.d.ts","../../node_modules/typescript/lib/typescript.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/lib.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/parser-options.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/index.d.ts","./src/types.d.cts","./src/client.cts","./src/analyze-scope.cts","./src/configuration.cts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","./src/utils/eslint-version.cts","./src/convert/convertTokens.cts","./src/convert/convertComments.cts","./src/convert/convertAST.cts","./src/convert/index.cts","./src/parse.cts","./src/experimental-worker.cts","./src/index.cts","./src/worker/babel-core.cts","./src/worker/ast-info.cts","./src/worker/configuration.cts","./src/worker/extract-parser-options-plugin.cts","./src/worker/maybeParse.cts","./src/worker/handle-message.cts","./src/worker/index.cts","../../lib/globals.d.ts","../../node_modules/@types/color-name/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-readdir-recursive/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/jest-diff/node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/v8flags/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","b360236d3b226a56126f9f071d68fccd10eba34e4b6831efc39e8a3277380523","a73bd08ca8f85d9c1f0307ae7abb246e38cb618f452e15fd3612464e846665b0","9b1b103c34f4c56ab0c40c87a85ffd36002295d8fbe17b493509e63a383f5814","e4a023723ff5cfdc22880b572dd15876d0bc4bb4f2a555d71d226a2578786ad3","3aa0ae0c3636319f9bc6e5c2a4bd484f9b2b4e78623b33131056a95fb59c954c","dc25e664429b44c379d4d3cf988b2cce06116ae94f5c6f1a0cf73245b4282a93","e59daf03ff2d76dee4726e48556aba1d105fd1c7a7a9cbf3e74ec4a1f91a6bea","250bb1ea2d799ecf488834fe20efa611063ab79b35639b7b3024f05e1b6641ee","a0fbfc839fefc3d41a12c5a8631e6543135ff18fd516cd06c5a09f84cb81578c","9ce376fdbe50ed84260f0dc45cc1f242916f2c0c91da6464df63df0ba2baae7c","c3e41c24eb14414b6995d4bbac99d16ce2e609282c9b53d1333b7b423e0f7d02","b555d22a622ea0565d08a340e5c19f6f439f40d4451a2f13fe6a33a39b3d761c","9f29212a64599c6c5563b78746bf85f709d5437f18dac77502a53af63dadb850","6b714d7db731bb6da813dfa3d88ded4ce0bc9b627464e86315468e1be9adadff","5ebd0c7b976b7cbe390e381d27ec9dc5adde1a02cf9ecfb2a7caed7a822a5cae","4171247c72f90ac86a3cd3cdb0f372214a556aa8b94aa92b28bf6d21dad5f7ee","b8b9aae5a37c0d3dec11813d992b893ed55a080289466ade6c1bc47e3987f53a","eb69d4cd5875c471c0dd30988bf8a4816f9b8fab1e71a8c39096e483411faa00","48225779dd7b1b7b384389e325ed6aa271a6745239d8193c2fc161cacbf3dac5","c6fd0f9d777f11f972b4decc52beeeae6aad9f2aa949184e8f9984a5c36e4448","3f4487628af3e52556d6f33151740876b29a5355b8a5ccf8e56d1b3ae7cbcc0e","2b4ca439136421892cc80ebf6f6ea641a0306e58bd12ed61ae7f20becb2ee15f","6296c7ce17d3115c72d6757513e79ea0f74b76f49e0138f78f37685fc1bc83f8","ce8fe0d07c32e6786203b5a3b93468afc6b1fcf57481dc9673e16fb119312c19","dfa94dabc1567d2b882222947f5c181adc89a3af5b6a2b730b1c3b85d4cfe48f","c33fa94c2e88d70a2e98a33474d3cf477d959477236323a748f638b3ca1e2af0","058e39e6fe02e97ddc18b2952a67d0dfb71f1f60f86405480fec569b602f5284","8c5dbef5fc0eb113d94132a5ba440d75e33eb85e9497a1f7e3bdb29a3fcd3469","0d9808e1f0d2bd4c45462c7e2f20c0cf08b700c6964e7eda5e10d1f6b707deb8","9f3f8ff5d06c5d5583e891d3bb98489d58e358e49bda2827f3f7819cdb632ad0","6978b8fc2f45108c4bc2788bd7053f2917d7efa28f74ddf52182dc9ab59d03cf","e127a8fb319d5978d73d966a5a68b85915848f8f96267fff2f0dbe9bc92373e9","77adbafe67e2bf42d578d82d2fb994530cce5b9eaa28a2a5b24aca70a008c3d9","3642221f795abb677078c1d4673adc4932ac93effa865bf7d85d2f418acb5b1b","7d2a0764991446f121b01e690edcb502ce40fd02145613d1d349d9e46be3782a","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","513e4a7dd68f60782a39d5ae4ce6f0a19ccc4c51808b359560ad1f689f0ce93d","519157309e4f7c98b6067933db2a849961eaa0e5dec4a2ce5d2fc92ace85dcfd","c5f8672c8c39b8f9251a57fc2dab217ce20ac4a9d71c0a498b733cb922ff5e4e","82590ca2dfa968af29be579c534733406fd9c5c4a726213eef9f2308cbb04d23","e88043fb3ae0a6e33be31d45927494ed42c3263bfb318b024b9dab027f09dc2d","3f7e6d7b1d7155d68b5ec0f8e021f10075c785b29171d1d520d0b9b0dd617aa0","7571f6e856945cea6771a2985e008daff8785c6632f9dc1dc9f24f795f84444d","2ff5e66c8448d86302ef11ceeb27cbbd43d3af41aba05c2fc3a48cd0f1d8627f","a73d8151dd40ff705eebd2989e703ba14874574f5fe4f195babe74b6ef93ac59","1a910bff4e17d0f855bd00ef0dadc3ad8e7656499c099d19603f8bb0dbe8853e","23996dceac72973064c9643fff1ca0cf585b642d715c56ed3512703f2b280c5e","95a1a8e1e7777214b2d970c3426819e976abf9120f2824b571e0ae51d1dd465b","3b6aafb284a9943503546844726c7ecea9ae91fc46f1d8e8cbe233f6d8b16a30","e1bb914c06cc75205fae8713e349dff14bdfd2d36c784d0d2f2b7b5d37e035e0","a5e89e63c809c01f8e8175c9d63da68ce734ddf15b7efd98b1eb262d8e4d05ec","466c63574f0654a81f7d760ccb32570f642b6b46e83b6fdc288c2e52bcef287c","c6526b7ad3213f40e40d617f0a150c8a9dcf0e8f868594ef4aa060b994fd11ce","b5e0565b7ca3ba4c129ed4e1788d4dc1bb30dcdeb14a37df1071c3881507e295","08cdf95dfc59101c1e7c23865951151455ee7f77f1bf7e257034aae8ba332972","4924f889957ee69dfd66643c7e60a5feee526c18b16d10985804c669fe1b6ce4","2c95044092cad1398b593b47290306d73513d163c61e85ebbc39715af4b15578","66612e3b3315adf8702a39830ad8690d6f4293f89193737c604f4b44a51e42ad","1d3f6521348f5d591d4da3408457a553274b024c79ecde88054361040967c211","03a629914760ae9bb64a05e72ad0f4e6aeefb1e7c7b6ae3d7836bb46f69ae23e","95017b0f25bb3cd6782853c14303c20b5099b866ef1491c57fc436add8183f14","989f035cd0c3acf51639b2ff4fb3cb8ccce3d7ef0103a1d32ca5e5f1cfd19387","9dfbdb5529d2be1c9e77112f7e0e20fba7518865f31501b9aa09c3965ee91f6a","9ba02d6560cc8cf8063172ba05b5368a24fb236a97c1c852665372be78143592","cafadd60cda0c63471975430893f7c0ac981f268ec719f08f131e41d8404c4db","6a7a221f94f9547a86feaa3c2ce81b8556c71ffb12057a43c54fc975bca83cde","156d025e006f7df4df1bcf7ce53cd3e3780a0190dfb03c65288f07b372e79843","e34a316302189537858d6d20d5d77d8f0351ed977da8947a401ad9986cdf147f","243665975c1af5dc7b51b10f52e76d3cb8b7676ccc23a6503977526d94b3cdde","3a91334c3409e173cafb3af175d8a4a3ae835851df7015c8f0fc5c117ad46c80","bfe8f5184c00e9c24f8bb40ec929097b2cafc50cc968bc1604501cb6c4a1440c","98c7850cf7a5bca4267e71403e8a2788c29543b15ac7354d1211a7accba496c8","f31ab9295985d01c5837c9bdc422643f6f73293cfd103738774b7cfb340566cc","99392e1e600259c50f21f691f136a4ecbee42839dbb9523384f09645c8756503","5c5d100793c0fb9b34076189904df18f3321e82cadf6f69815926104029c215b","051191f8664727f9b9caa72166559b734e126d18ef377c3f4c3343672ea4d307","1079472c5e1f65ce739fb777054e2f539e9b50a97b438c0d6e56c4ee23be8bff","d0b3a40cbe16c8852d1327fb804995193fb853d7da9c7ab9c02cce85090e0637","c67208e9da4af7a50bfb75d07691326052d6ed8f3b577ece8b02cd425c9d632f","4f9a4bb30bc97017c72a600c0161962d8f74488d1cd93669e4adbce7e611e0de","8dec4b9028cc8905caa6b52a395786d7f49a10d61f6be869b59ae007dc5e0cdf","f952c9c19048db8b25e3fa8e48e2213c18d3fdbef6ac168e9fae6632ed58245f","5b8807a3d3cad7abc8f1c067dea5df20373446b89bb4f0aa73fee801deed46b8","866c1b69a53d80383cb5eef0ce2760ad8d028c771fa45776426a583c56a23746","8b433fd18d5bac931c1d7c07c17a830475e0fcb224d144cfeb3ba4d1da198687","e772bc828730ee913e19f58bb18b7733ebce8a3f06cdce847cb33275343a6ecd","466f4f5da14b6046570025129a7e5ea168164572c9b2da45bdc7274e0e303dbd","00222577eecd6c1fc72150006351fc6e1b5bb3aaf78097e40ecac8b8343a7598","39e2d8b839ebf811234d4a2e54998229aa1353e19e1199be87b6fa530136aee5","3b1765aafca023ad58d5aa017800e1f2e7ee95130c9a1e7d86d5019f45c756bc","e675dc45ca604b7a6fea16448050b34cf0fe86c2f9fa50f3911fb4153b42c186","d3e56e0f84e1d1843369533f50918cce5925129e99e9ca14c7cc35ad94b2a052","dfedb6704555de21c30e98a8decf8a6d31dde1d8403b9b95944a1d317379c7ae","7102463bc898ac4cfd90675e679cdd8e1a1b6f44702b280f9c99b93f206ae570","098a096f7f67356b98031a7c45cf7e0d49733cee8ef9b7230f881fcf5fe75a2f","57e73f1c6da39bcf9429f52c39b6fc34eef11547fbb5a2be91836517ec746957","8e4e3a2b6abfb27e146543a86b61deb0b088a62db1ddf32151d115ccdf30c3a2","bde8c75c442f701f7c428265ecad3da98023b6152db9ca49552304fd19fdba38","81af40a2264a5a56f71b8c45ff1717b50c5f0c00dd091410b12dc970ee340120","b10974251ad16a97b357ec50f87455c4430e7f0790f7b399564c900e4ebf87f1","234123959236555e336e4efcd7aa203ac1d5370ee5d891dcfc5828d996b28f59","b59756cf12284e6136e042f322af2e22664e1fd46f713b1dd3abb1740719b732","62b65c635a282ea4855cd6a9b968527cbab364c38410ea432f63c5c591db9072","a382df4ff5c36b5a1f042f310ee52dc547da679b92066ececaa0f00bf76e35e4","8771cebcc7bab42179738c744b09d2ba6d5f3a1238fc8a981cf21a8842c38f51","cbe5a7a02fb93f47d7948fb8dea8792f962b51657b63532ba3c67036d3c0a618","6131967512c4d205c32f126ef7415453f0c715bf53c7175d6deecb72d76a75b5","4e38f7bd172e7549c323610cfede12644c116581dfc4d751998d301eda9573e6","0d1adbde28307411dae5e1cc8cc316130653bfc6ad8feb4b59063f60efdfd693","d8288a8eb14187b0df133ce467216d61d9ffe838ae5930471f476a5c36141828","70ae92a852a67db5b841a7ee3e9d16df7c06320ab86dbf2d5dbd9d76f3c98faa","e58a0a0add3feea2c936af4933dae5710f6c41e91468e22d880054afaa47b782","ead85b2d6cd6e6deb144a0995896c0ca7423820c66cc00e416e66733d2932985","5893d8b87ce06846556d2460e2eaf2aa8388f2179ed151d302ab7d711a75c7e4","6b4d9c91ed03e7afd40fa045042fcb7a6250b8dbe242154f3c4b948a99c74a9d","8b37c18f85644a1c666705bb5c233850cac84d8863c19870a8ed5f8d69c68800","186139eb9963554412f6fb33b35aabee1acdaa644b365de5c38fbd9123bdbe45","429e18739687877b761b4b6574a45a9e51111a6a71cd63711440cb0f9c602e87","b7589677bd27b038f8aae8afeb030e554f1d5ff29dc4f45854e2cb7e5095d59a","220bc2f85b04326fd70de47faaa003666bc864e55f00543fdffa7b7f75d4dcdd","4a554afd8a11ad65a0f8878ebeddf6793c6775b1edbb14360bd47252840e051c","431fa08179e6ec652924f1f0788e213db388b0dbebdbfd392477772c5f199573","d0178d8099f50a868a3c6a8f82d7dc98b121c552d865e11a83e1d0d4374109cf","9e51bdbcfcbbe857bea0999bafc786cf85a07ace21f8493112f962cd76e32618","852bee3ca49f48477ef77e392aa31a260b82cabc1bbf42da56800b6e10a5c341","e4aa4e8d3eb4c67b64962344ef3388a8cd607821ba619c9379b36316db65c9ac","4dbfa68f729bd8e052c9a8916a1e828007ed3c9f50b24e7eb65e6556ea7fe315","635ca94290fa45a56e53ffadd3b897a42650fd4ab0ddc241392e4dc729bf496b","75a5c390f494828bb3dfd3e31ef3a8cc573184f4176166b6d3c1d67f69539b9c","02519cdd247317de0bfdc78d88b5497d9747e1b9d1297283a0fea8ab3787f6ab","53989e09bc0b6b46a3c4597e5147a9b989f1f66f33ce7375b92d28139977e748","abae244b376437bfe2f0fdd1bd8925e2c235d10336ba08aec4330b800582ccbb","7da12c50edd45d08ae7f93183d0f88ab9753386ce060d1765926ffbe7c6491c2","1a8397f1c9125fc54db823eb6509221b841dd6f0c82a78997033a4a09fb1c86d","176d3525152384c3f7312b308c8af7b17690f8ec34e0788e6aaae548180f1941","6b34e6bdec80f7af4912497afb8455cd88ae1d6442d042c6663176b9927b69d4","41113f7f4529f81a16bae03c06bbd3c95146a4f7c8173ecafd6869fd1e97ed0b","c980191d2838b122a340074b58c566fddbc29a44bb57170671ac5034373c49a1","378871d06cbd514fe945b69a7be3cabe210139a5b2b3917a306ef8102afdd5bd","3bf0df1a6a59b16d43f97efd5bddcb376a3a3d66ecbe92a4dd80a0f81be6a009","49bf06ea475ae5c78e69f7af3c7e09e00af57750aa1e37c120aaad92fd8a8ab2","f8fc87c8c6822986fa509a62a0caed5cbf05f3f84d82fbbdb01a9e94aebfb2ec","60c51e31434ccc777c3d67ccc96892dd7e634816fb9fa5dc86e15d72de96ab3d","0737161a05160e848162b2abba07c4e867f415362187b810f4b6764d2626d021","69815e9eb00baef2634457bcf4952f69062d764211914619c6922dfa7760f8d2","444399b4f2fead080a55b82f86bf653a072a9f117042edc9a0fa69366672b418","d6ab7f2b45d4aa62ad21199fbb3105151a9dd4830d138a3bb3eab1e76eef9e45","56827baba9ab2b370c919b1858068e11f10a73d80dca8cb2467d2d1446fab073","551cbc9796c3629084a987a84a1a0e9957fcfb6fdfe1ee807dfe56f5a11a4148","eded5d62b954b7937089cfb84926bb40d60b8bf0d4ef03bbe92cf08404afc808","84a805c22a49922085dc337ca71ac0b85aad6d4dba6b01cee5bd5776ff54df39","971f12a5fc236419ced0b7b9f23a53c1758233713f565635bbf4b85e2b23f55a","9d670bb3be18ea59cea824e3bb07d576b55c9542f5bc24aacc2a3c1ebd889de6","695b586df2d8c78b78cdd7cc6943594f3f4bc52948f13b31cdedfa3ce8d97c31","0771a93ef5e3b2a29f929c20f7ad232829341a671c9d1e96e93ef3fc42ef7bc2","cadb68b67b80b14a9a5bb64cce3093168fb2bfe2c7b10096d230df5203218de1","0b3c75be13f930b46117e205d900ee9c4f2ad6c7317655bca5364958ba1e34f0","5af161220fdf46730477706e8c431ccbd1b4ff50223cb32450bc20513f50bfbd","be797449825edee1716d3e0c8d7ae53955b8944437cb4d0b4123a32778621228","7167f98cada53080c300815de1e24f5eda5e9511caf5dfba8d1e3aaf6fe6d49e","83a3a4f21e36ee920e819ac865badd30bf258361e7a224d1fb134a5524f55a0f","a09c9ad7765dde81c65319b317af29e10f0a8e38f197c2e657ed7130d67c73dd","db18c2ffebf4c7f8d5ebb8f2541bc30bbb4f6cacebb42a5a9742ae883fd583e1","a22722f2344d703cdcc5ada42cbf84890ef527a2a6e9154fab5ddb362e64b955","866041185b44ade1456dc03de3dc85aad9c2b02dfd92d7f2068d46e28ea66201","13d94ac3ee5780f99988ae4cce0efd139598ca159553bc0100811eba74fc2351","48864a43f6c1032cb3fb5bfac020d4b2919791f49d8f31ff18f2dd3d4816005f","e9114172414f9836d9fab7346122951be30b66719d8277aa5f7a25580b9e21c7","5db896a650fb0c4ec892de19b7b98b92ccae9bb5a3e03731050f3db0d3183bd6","220c93cd694e27d77b91f874f31e92d7514aa808fd95768b64552693043d00b9","380543b1b41b88e3a6294b8419d5ed323c5da3a3051ab4a1d5677f525ee30698","269ee735294e8c328681830ae7fdf4aea6c24032f0541d76c914aac9afadda5c","23a790e87430f6bcf8dfbc4d3560e8b3d7441f9cfbe509bcf932b4608c60c9e3","7a8b858660503a4af876541f456b2cbc3d89b164ab842c7434ac0fb87ec0e026","024653e8296d821c2332e1e8fe13eb86f4d50f0be82478c958890e92d1f2ca0e","f571e28d70c04d1ce72673771010febae11d2c907a71d027550d986ee424951d","ae4f0f443b828f28aaf843856dd25a8ab5e400f99581778f8977011c4a72d70d","cf5ba84fd9488f0ba7e302d54d1db6452b513d8573df389dd05f4153f5edfc26","64ec4840e09c2f03bc97e86f6fbc5aac99bb6a067f20e06dc186a3784aba2862","640331bbaecab0948b9a40fc903666f103e94764cdfb0822d4124c147246c19a","dc29fe834b87d0d015c40a9f294ec7e1f2b7b322f102264e34374c8ea5ecffe6","46ab6033b2f210e498f5147c87b465aa564d1b9f64a431dd70b3f4f7cc5d6647","8eb142d9d0e29220c562296bdbed6b2c228df84589ce5d0c74ed7c333c1ba6cd","38738b94918d3119aa7006a143ec3f1552726348c80ee9b2de3606b9d78be223","ac5c6aefe784ae554ccef97ab165378535dc055402198667b75a4909387e7e8a","530ad38028745590e3792e0570b96d063a5039dff59119d4b686673094d2e9e7","fcf764882c18b958c2a487ad1093d6c9630df63f1e90995b157fe052e9fcc632","92ebc3261b20037c4e078cd3d26bccedb719b3eec653925e103b6ced4a936c0d","857864124c3a81507e55dcd7ed8cfa3f0c0f14dcee7acf94ed598cb25526d278","0fa6d3bf24b1d056c43e7c1c8f27819b6bad234c647a78e6ce70f8ff5615c70d","55e5a83c57e75329952d4138a50cf1564ac2dfd0669c2e01fa9f50ee68196ced","50b410acd8c96105e69d93826137269413e120758411ba1dbb992b901e6a2e55","0d4e5400743b35d420d83f1a33add04e1be352d45c98f2777708ca40cbb525e6","a49a99c6fc351fa5491d7b7efa0dc5666f1400b57f2063ed8f362a93f2f98797","e4f5face52c9781d20d2127cf405288a8007cf2e15e87574f677916e534e706a","892bf5856b242f0769a7a87c05ca17a7f2075450cbaa0ab589b8944b03804a93","34bc4ae02c19ebf98cefa8f4505bcb87413a60fd2544d7d4e6193acbc4108dda","5eee4649c790eaab36ab3e1aa60c807ce0e8aaf9a025c90fb40e60b5f5684e6c","30d6dc9b525dd82df213f2ce4a2aa0b2935b3ae5366ea164f96e6c08f0968ac2","ebe7db5bd9df714d7dddaf077a0a5ab6cf33740c1e39ca0274beeb96bc86828c","4a091e7847acab6fe0536b507db54b71270d22fe98513728658e446b08941c8e","c467f362b3da83f87dff5bae2f330f17c8086eba5f8eb5240b12b049a7f77db5","ad42060f3e0f92a294748f19d9490a8a6a980fb40dda0fd4627991d1361862cc","ecbfb361d752394a3728d319a93d0a208c5a00960ec1e5763d23b5944a00e35d","60a6e14c616a9977e7e0e196977721232e6977952d0324be4fb932a07d1679e1","bd76bdc3263ffb0ca3353fb6a525e8d14323768e48b91927f9ba87183d20fff1","2d94e74a3f71bbafeab55ec22b10151b89ae85587bc65f00b83344899ee52e2c","711789984a100da43d3e498c17ae14d9702f03fa0fc32cb07bd789a405bf4ab6","281d01063c2dd246078dd4079bd7827d2680e74cfc19490d3705675022336683","1a9cdf3bfd9f257233439cb40238352fe1c6128005290ecabf5c09633d58e1bd","f92d1a32779136c5707ea3a9bfcaa66c719598b7221da13d7b4843d60b7cb1ce","abc44e24a9e4d448c16be0592efe21c226348f2cabc4a29baaca1a9d20603e48","6d6a44413b5561347e604b9136c09074efd84fac96f105b9e1b65ce2e1c4a105","0471d30e55be2eca003ccde4240963c61ed191ef664704aa9d714f66518004ae","d1a685ef40d9553092a6da3f019344e9555808f8c79cd837a2b1479a89aff86e","78febe79c300eb4e36b21a5f92c64b55659f9b1b4fdac3cccb9481b28e2572a2","9a0dbf7e661a3dc3d1842bd0fa64e001037e9086b5c6c3d46c34400afb9c8689","b8dffdc3b519083310f3405512c60e673170dd0cef15407f65f9e82790091b1a","0cf8620ca1bb4e8b07545a3ae165f49db3daf0fd184e435e0eb1aa16ba512174","3c72d7ec3a861bfbc632454bf0bfc514aa965ed26ec1f9450108258a3b6430a7","024e0a74ebd335b4c675747eee99453b53813d5ff3ad6cbaa81942a4f4ed57da","1eee1bcd570bda3524753ec72a47e4b1597d5fc362a6a83ec4bdc3195320f281","3416ba78c03a35b340a9f76647353292a656110f5327c2145fec97ff71f61ba6","0e0be8210df9c573b64f81f18a1c284c83d72b472abdfc840cf40cc0a1db3465","5199370d76f8fcb993ce69295f10a287d633de43a64a78fd5d2a367a31c4b258","aae56a4211c19ab565a4377a606ed2ff444264399560aa9f52b308e650880ecb","5b717f6f0f351120cdf828e55537e3e61ea96f82a1a160faa5b9ae39a75c6f68","083ae29c6fb50d676b29fd5965144fa7950ac4e3ee4fdf57c587bb3194013ae8","7c6b13ae7496db0387dea584ed361ed5ad7f9ee3426da3305a1526c4eedf8c5e","6f2c76b59c81a19f72c57ec4b9e2830a10c4b9534ff6e9cd418ddcd38b6fdc0c","16bb3683a72c89bbc51886628bbd22522148d2aa3615422eba481bcade151df7","55fa234a04eacdf253e0b46d72f6e3bd8a044339c43547a29cf3b9f29ccd050d","b181ff38cfb4c79fb7aa7ef163c06e84fe5b0c3b7a286848a0eaa5b2ec38c706","a8c65d6931f57824f95012e902b3c4aaed39aa655183d13a7f7487dcb1bcbf00","9a5cece9b6895a117590afa088b6b91db167e25b00e5de1cb5885898fad0a270","0d2b5656e6ee0ccde2ff5025a6230130598609e6ee351ffdfa9a468459c69fa6","f7a240307887227c5dafbea0de4e10ec4726f75b95704965853c7101fcd7e741","d2312207819e8646ffd59367976ee611f0865c5b1d1518269a005f58eaf1ccf2","0e002469c8f37a8eb2cb874bdbddd2099f0fd0b2f8cd8eec879740d1c1fae256","20173928a097871e7ce47443e237a9b34c38f80d62e025d831699ea7671458a0","c3639c4aeae045ed963d564f77672b64304ad903bd106c5f2e679c0a9ce276db","ae826fd8f6c1c292b6134b449344f2d2ef7af2386b067293396e6f10435d256c","5614f93461a8346a573402b6d8654d7208b6b250b57a076a607c71bb0ab4d13e",{"version":"841d7b5a086d152df7d7343e0c89beda8baf3c89f35797d91619bda9e2c44959","signature":"42aed41188d1b01c644a520a6863c7dd2c7557e853b71ea56506755da1c4970c"},{"version":"9e9149f1d84802e66a884b6fa1b60879433cd5acda253d64237211fd1e46cfce","signature":"4c3fa51ee748283e0b5d3f6c5e51d9884db0619f8d5ac0cee5669c72f1bd2249"},{"version":"f19e129e633db41f714bda92a5bcdf9ae728ed9a3093e9838e6c852700e07e28","signature":"47ad46f52ee10a34df7dc31f5634d9c95b729b816140cb6b7a784f9b99e1a0b6"},"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4",{"version":"fa6189dc847e90c971c9548be2ed7b32389b0eeb129edfe0c25fdc93c566ac2a","signature":"719d65997519f2fd2eea7b268baeb311831112b244f2d86a8ac9742f04263795"},{"version":"277c00b30562c300176bb053dc1fdcee9ac3ae59deecf98af248f9ab4149696a","signature":"e48e303e26e0bc9e0d7a7d8c38246a1c623c703245bf2d8f2d6b72941921e270"},{"version":"ae82ceff809f16f62a14b54dc547daffb22abc0e0b090e3f88186488e2b31a72","signature":"15249481a994cd78e290a923fcca909b7b5a75877b5b9353cf1845ba4dae9c86"},{"version":"863cb5638970b4eee5029f8d97d5309a304cf8f53584f1ca18cad1062ce5e17f","signature":"55b55a2ef7a1de73d8c18f90d7ab8b2d473083e9c303ff7e0cd6cd118021ca15"},{"version":"8d0fd256f05720cd8eb02927523ae032da6cb6fefa1f66a42098b8ff069eee09","signature":"b392ed5946bf4843ffcc0be5822fc32a1aa1552b48017eef35badd2b55ce1a4f"},{"version":"cd4d3a428e962eaf8c7b76cfa9d844622d7dddb09c60168b79d83bafaec2a94a","signature":"cb2d6f4374a68d53445e2a471a1d85c88fc8f3bfe295b571a0e34e12c9ec4772"},{"version":"cf60154fa1c4720a82cd2a8856c2c821e3a83e2026d26a46f806c5f6ea3fd94e","signature":"d1b5c98f1a3530ea8ff760d0a322ece85529e7bb274a4569090e76c9ab9d3ca6"},{"version":"bfac1dc6936bf670596dbf881f8bf4f97e18058a7823829afc7e0db6af6cbf44","signature":"0c8d17485cdffdc3f3038daef9082d0642d708282a34924ce0de4f472c0175dc"},{"version":"d20265e2d34833d5ae1a914b6c0244e15d6040883b115c0bf278c4accdc9b854","signature":"ba68fe7b0eaccfc8d92474bd1b5fa169930252520e17db91109e86f92f873b23"},{"version":"be5337338fe7887c758327adda80264f6b0ed100c62bfd6b7b61c20aba0044b3","signature":"a3d838be6c76ff238cc1e9e2a5e408475aa92ceb8855992b91f6891c1b657b5c"},{"version":"c67e5774c9283852e80bfcb3b299533c0072ede5c2fe0e623cc70adb877d19f1","signature":"a7f5d7bc973b48d9620a6829c48a307e58baf274d7c30b85625eadf8e63a9089"},{"version":"838c44ea85eadc8c04c6d96503098f528ca299742b6437713ddef2bb87ccf1bb","signature":"7b3b0c1abda4c77abc90448a21bcf0c6ec9137aeaa3a4c059c1d87995ce76987"},{"version":"cd78139c95fe8e8a52cdad08a10c4e1b9c87c5c29366cff3743c91ae1c3b5260","signature":"364ecd330350d7765d162e1e888465fe2cd748c27ef9a8e3276d75f86c002b61"},{"version":"7c78732ad9660634c786321db7aa42d6fb2318083112c180917e081596a79b32","signature":"4988f0e7dbae146ac44b99029857652f01bd7d92926edfb0ad2c15a09bff64a3"},{"version":"fd01df8f881f1de90c489acfcb1000aac5e7dd8b6a809359bec1591ba86bdd4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0b6690984c3a44b15740ac24bfb63853617731c0f40c87a956ce537c4b50969","affectsGlobalScope":true},"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","1d78c35b7e8ce86a188e3e5528cc5d1edfc85187a85177458d26e17c8b48105f","acdc9fb9638a235a69bd270003d8db4d6153ada2b7ccbea741ade36b295e431e","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","818f832a8e29ca7e128dcde810a9ff8cbc3754010474e29fff0a5ed95adae032","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9",{"version":"a9544f6f8af0d046565e8dde585502698ebc99eef28b715bad7c2bded62e4a32","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","9bd8e5984676cf28ebffcc65620b4ab5cb38ab2ec0aac0825df8568856895653","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","9e951ec338c4232d611552a1be7b4ecec79a8c2307a893ce39701316fe2374bd","70c61ff569aabdf2b36220da6c06caaa27e45cd7acac81a1966ab4ee2eadc4f2","905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","6d969939c4a63f70f2aa49e88da6f64b655c8e6799612807bef41ccff6ea0da9","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","9ad8802fd8850d22277c08f5653e69e551a2e003a376ce0afb3fe28474b51d65","fdfbe321c556c39a2ecf791d537b999591d0849e971dd938d88f460fea0186f6","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1"],"root":[[322,325],[366,381]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationDir":"../../dts","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":200,"noImplicitAny":true,"noImplicitThis":true,"rootDir":"../..","skipLibCheck":true,"strictBindCallApply":true,"target":99},"fileIdsList":[[217,225,239],[177],[177,178,219,224,227,228,239],[177,227,239],[177,220,239],[220,221,222,223],[177,220],[244],[177,178,239,241],[217,218,226,239],[177,227,229,239,240,242,243,261],[177,228,239],[177,224,225,239],[178,240],[177,228],[210,217,227,228,229,238,241],[176,210,239,261],[151,176,210,224,244,247,248,249,250,254,256,257,258,260],[177,239,244,259],[177,210,244],[151,177,244,255,261],[177,244,255,261],[151,176,246],[151,177,238,244],[151,177,244,245,247],[151,247],[151,230,237],[213],[211,212,213,214,215,216],[181,191,203,209],[208],[179,182,183,184],[185,187,188,189,190,191,203,204,209],[192,194,203],[179,181,184,193,194,199,203,204,209],[187,201,203,209],[179,181,184,186,193,194,198,203,204],[179,193,203],[179,181,186,194,200,203,204,209],[179,181,184,185,187,197,203,204],[179,180,181,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,201,202,203,204,205,206,207,209],[179,186,187,203],[179,180,181,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,201,203,204,209],[179,180,181,184,185,191,194,195,196,203,209],[179,180,181,184,195,209],[180],[179,184,197,202,209],[179,186,197],[179,184,197,203],[179,186,197,203],[251,252],[151],[151,251,253],[210],[151,157,158,174],[151,157,174,176],[151,157],[151,154,155,157,158,174,175],[151,174],[151,154,159,174],[174],[151,159,174],[151,154,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,176],[151,152,174],[151,157,174],[151,156,158,174,176],[151,152,153,176],[151,154,176],[109],[109,110,111,112,113,114,115,116,117],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151],[118,151],[322,323],[322,445,470],[322],[151,322,366],[322,366],[322,367,368,369],[323,324,325,371],[322,323,365,370],[73,75,181,197,259,261,321],[374],[261],[244,261,322,366,374],[323,374,375,376,378],[374,379,470],[261,322,370,374,375,377],[481],[234,236],[235],[232,234],[231,232,233],[231,234],[73,75],[72,73,74],[435,436,473,474],[476],[477],[483,486],[422,473,479,485],[480,484],[482],[386],[422],[423,428,457],[424,435,436,443,454,465],[424,425,435,443],[426,466],[427,428,436,444],[428,454,462],[429,431,435,443],[422,430],[431,432],[435],[433,435],[422,435],[435,436,437,454,465],[435,436,437,450,454,457],[420,423,470],[431,435,438,443,454,465],[435,436,438,439,443,454,462,465],[438,440,454,462,465],[386,387,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472],[435,441],[442,465,470],[431,435,443,454],[444],[445],[422,446],[447,464,470],[448],[449],[435,450,451],[450,452,466,468],[423,435,454,455,456,457],[423,454,456],[454,455],[457],[458],[422,454],[435,460,461],[460,461],[428,443,454,462],[463],[443,464],[423,438,449,465],[428,466],[454,467],[442,468],[469],[423,428,435,437,446,454,465,468,470],[454,471],[326,365],[326,350,365],[365],[326],[326,351,365],[326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364],[351,365],[494],[267,287,297,308,311],[267,309,319],[267,268,269],[270,271,272,273,274,275,276,277,278,279,280],[267,268],[268,270,271,272,273,274,275,276,277,278,279,280,281],[282,287,288,309,311,316,317,320],[267,315],[267,287,311],[267,288,309,311,317],[267,315,316],[267,314],[318],[267,289,294,307,309],[267,287,288,289,294,307,309],[267,287,289,294,307,309],[290,291,292,293,295,296,297,298,299,300,301,302,303,304,305,306,308,310],[267,282,287,288,289,290,291,292,293,307,309],[289,290,291,292,293,295,296,298,299,300,301,302,303,304,305,306,307,308,310],[267,283],[284,285,311],[283],[267,282,288,311],[284,285,286],[262],[263,264,265,266],[262,264],[263,266],[267],[312,313],[483],[397,401,465],[397,454,465],[392],[394,397,462,465],[443,462],[473],[392,473],[394,397,443,465],[389,390,393,396,423,435,454,465],[389,395],[393,397,423,457,465,473],[423,473],[413,423,473],[391,392,473],[397],[391,392,393,394,395,396,397,398,399,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,417,418,419],[397,404,405],[395,397,405,406],[396],[389,392,397],[397,401,405,406],[401],[395,397,400,465],[389,394,395,397,401,404],[423,454],[392,397,413,423,470,473],[212],[151,154],[151,172,174]],"referencedMap":[[226,1],[218,2],[225,3],[228,4],[222,5],[224,6],[221,7],[223,2],[220,8],[242,9],[227,10],[244,11],[229,12],[243,13],[241,14],[219,15],[239,16],[240,17],[261,18],[260,19],[259,20],[258,21],[257,22],[256,22],[247,23],[255,24],[246,25],[248,26],[238,27],[215,28],[216,28],[217,29],[214,28],[210,30],[209,31],[184,32],[192,33],[195,34],[200,35],[204,36],[199,37],[194,38],[201,39],[193,40],[208,41],[205,42],[206,43],[202,43],[207,42],[197,44],[185,45],[181,46],[203,47],[189,48],[188,49],[187,50],[253,51],[252,52],[254,53],[251,54],[175,55],[159,56],[158,57],[176,58],[160,59],[170,59],[166,60],[164,59],[163,61],[169,62],[174,63],[161,59],[165,59],[172,64],[152,52],[168,65],[167,61],[162,59],[156,65],[157,66],[154,67],[155,68],[78,52],[79,52],[81,52],[80,52],[83,52],[85,52],[77,52],[82,52],[87,52],[88,52],[89,52],[86,52],[90,52],[91,52],[92,52],[93,52],[94,52],[96,52],[95,52],[97,52],[98,52],[100,52],[102,52],[103,52],[104,52],[106,52],[107,52],[108,52],[110,69],[118,70],[109,52],[151,71],[119,52],[124,52],[120,52],[121,52],[122,52],[123,52],[125,52],[126,52],[127,52],[128,52],[147,52],[148,52],[130,52],[131,52],[132,52],[133,52],[134,52],[135,52],[136,52],[138,52],[139,52],[140,52],[141,52],[144,52],[145,52],[146,72],[324,73],[323,74],[325,75],[369,76],[368,52],[367,77],[370,78],[372,79],[373,79],[371,80],[322,81],[375,82],[374,83],[376,84],[379,85],[380,86],[378,87],[482,88],[237,89],[236,90],[233,91],[234,92],[232,93],[384,94],[75,95],[475,96],[477,97],[478,98],[488,99],[486,100],[485,101],[487,102],[386,103],[387,103],[422,104],[423,105],[424,106],[425,107],[426,108],[427,109],[428,110],[429,111],[430,112],[431,113],[432,113],[434,114],[433,115],[435,116],[436,117],[437,118],[421,119],[438,120],[439,121],[440,122],[473,123],[441,124],[442,125],[443,126],[444,127],[445,128],[446,129],[447,130],[448,131],[449,132],[450,133],[451,133],[452,134],[454,135],[456,136],[455,137],[457,138],[458,139],[459,140],[460,141],[461,142],[462,143],[463,144],[464,145],[465,146],[466,147],[467,148],[468,149],[469,150],[470,151],[471,152],[350,153],[351,154],[326,155],[329,155],[348,153],[349,153],[339,153],[338,156],[336,153],[331,153],[344,153],[342,153],[346,153],[330,153],[343,153],[347,153],[332,153],[333,153],[345,153],[327,153],[334,153],[335,153],[337,153],[341,153],[352,157],[340,153],[328,153],[365,158],[359,157],[361,159],[360,157],[353,157],[354,157],[356,157],[358,157],[362,159],[363,159],[355,159],[357,159],[495,160],[309,161],[320,162],[270,163],[271,163],[281,164],[269,165],[272,163],[273,163],[274,163],[275,163],[276,163],[277,163],[278,163],[279,163],[280,163],[282,166],[321,167],[316,168],[288,169],[318,170],[317,171],[315,172],[319,173],[310,174],[295,174],[308,174],[296,174],[297,174],[298,174],[299,174],[300,174],[290,175],[301,174],[291,176],[302,174],[292,174],[307,177],[294,178],[303,174],[304,174],[293,174],[305,174],[306,174],[311,179],[284,180],[286,181],[285,182],[283,183],[287,184],[263,185],[267,186],[265,187],[266,188],[312,189],[314,190],[484,191],[483,102],[404,192],[411,193],[403,192],[418,194],[395,195],[394,196],[417,197],[412,198],[415,199],[397,200],[396,201],[392,202],[391,203],[414,204],[393,205],[398,206],[402,206],[420,207],[419,206],[406,208],[407,209],[409,210],[405,211],[408,212],[413,197],[400,213],[401,214],[410,215],[390,216],[416,217],[213,218],[153,219],[171,59],[173,220]],"latestChangedDtsFile":"../../dts/eslint/babel-eslint-parser/src/worker/index.d.cts"},"version":"5.5.3"} \ No newline at end of file +{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../dts/packages/babel-types/src/validators/react/isCompatTag.d.ts","../../dts/packages/babel-types/src/builders/react/buildChildren.d.ts","../../dts/packages/babel-types/src/asserts/assertNode.d.ts","../../dts/packages/babel-types/src/asserts/generated/index.d.ts","../../dts/packages/babel-types/src/builders/flow/createTypeAnnotationBasedOnTypeof.d.ts","../../dts/packages/babel-types/src/builders/flow/createFlowUnionType.d.ts","../../dts/packages/babel-types/src/builders/typescript/createTSUnionType.d.ts","../../dts/packages/babel-types/src/builders/generated/index.d.ts","../../packages/babel-types/src/builders/generated/uppercase.d.ts","../../dts/packages/babel-types/src/builders/productions.d.ts","../../dts/packages/babel-types/src/clone/cloneNode.d.ts","../../dts/packages/babel-types/src/clone/clone.d.ts","../../dts/packages/babel-types/src/clone/cloneDeep.d.ts","../../dts/packages/babel-types/src/clone/cloneDeepWithoutLoc.d.ts","../../dts/packages/babel-types/src/clone/cloneWithoutLoc.d.ts","../../dts/packages/babel-types/src/comments/addComment.d.ts","../../dts/packages/babel-types/src/comments/addComments.d.ts","../../dts/packages/babel-types/src/comments/inheritInnerComments.d.ts","../../dts/packages/babel-types/src/comments/inheritLeadingComments.d.ts","../../dts/packages/babel-types/src/comments/inheritsComments.d.ts","../../dts/packages/babel-types/src/comments/inheritTrailingComments.d.ts","../../dts/packages/babel-types/src/comments/removeComments.d.ts","../../dts/packages/babel-types/src/constants/generated/index.d.ts","../../dts/packages/babel-types/src/constants/index.d.ts","../../dts/packages/babel-types/src/converters/ensureBlock.d.ts","../../dts/packages/babel-types/src/converters/toBindingIdentifierName.d.ts","../../dts/packages/babel-types/src/converters/toBlock.d.ts","../../dts/packages/babel-types/src/converters/toComputedKey.d.ts","../../dts/packages/babel-types/src/converters/toExpression.d.ts","../../dts/packages/babel-types/src/converters/toIdentifier.d.ts","../../dts/packages/babel-types/src/converters/toKeyAlias.d.ts","../../dts/packages/babel-types/src/converters/toStatement.d.ts","../../dts/packages/babel-types/src/converters/valueToNode.d.ts","../../dts/packages/babel-types/src/definitions/utils.d.ts","../../dts/packages/babel-types/src/definitions/core.d.ts","../../dts/packages/babel-types/src/definitions/flow.d.ts","../../dts/packages/babel-types/src/definitions/jsx.d.ts","../../dts/packages/babel-types/src/definitions/misc.d.ts","../../dts/packages/babel-types/src/definitions/experimental.d.ts","../../dts/packages/babel-types/src/definitions/typescript.d.ts","../../dts/packages/babel-types/src/definitions/placeholders.d.ts","../../dts/packages/babel-types/src/definitions/deprecated-aliases.d.ts","../../dts/packages/babel-types/src/definitions/index.d.ts","../../dts/packages/babel-types/src/modifications/appendToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/inherits.d.ts","../../dts/packages/babel-types/src/modifications/prependToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/removeProperties.d.ts","../../dts/packages/babel-types/src/modifications/removePropertiesDeep.d.ts","../../dts/packages/babel-types/src/modifications/flow/removeTypeDuplicates.d.ts","../../dts/packages/babel-types/src/retrievers/getAssignmentIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getOuterBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getFunctionName.d.ts","../../dts/packages/babel-types/src/traverse/traverse.d.ts","../../dts/packages/babel-types/src/traverse/traverseFast.d.ts","../../dts/packages/babel-types/src/utils/shallowEqual.d.ts","../../dts/packages/babel-types/src/validators/is.d.ts","../../dts/packages/babel-types/src/validators/isBinding.d.ts","../../dts/packages/babel-types/src/validators/isBlockScoped.d.ts","../../dts/packages/babel-types/src/validators/isImmutable.d.ts","../../dts/packages/babel-types/src/validators/isLet.d.ts","../../dts/packages/babel-types/src/validators/isNode.d.ts","../../dts/packages/babel-types/src/validators/isNodesEquivalent.d.ts","../../dts/packages/babel-types/src/validators/isPlaceholderType.d.ts","../../dts/packages/babel-types/src/validators/isReferenced.d.ts","../../dts/packages/babel-types/src/validators/isScope.d.ts","../../dts/packages/babel-types/src/validators/isSpecifierDefault.d.ts","../../dts/packages/babel-types/src/validators/isType.d.ts","../../dts/packages/babel-types/src/validators/isValidES3Identifier.d.ts","../../dts/packages/babel-types/src/validators/isValidIdentifier.d.ts","../../dts/packages/babel-types/src/validators/isVar.d.ts","../../dts/packages/babel-types/src/validators/matchesPattern.d.ts","../../dts/packages/babel-types/src/validators/validate.d.ts","../../dts/packages/babel-types/src/validators/buildMatchMemberExpression.d.ts","../../dts/packages/babel-types/src/validators/generated/index.d.ts","../../dts/packages/babel-types/src/ast-types/generated/index.d.ts","../../dts/packages/babel-types/src/utils/deprecationWarning.d.ts","../../dts/packages/babel-types/src/index.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types.d.ts","../../packages/babel-traverse/src/generated/visitor-types.d.ts","../../dts/packages/babel-traverse/src/types.d.ts","../../dts/packages/babel-traverse/src/visitors.d.ts","../../dts/packages/babel-traverse/src/scope/binding.d.ts","../../dts/packages/babel-traverse/src/scope/index.d.ts","../../dts/packages/babel-traverse/src/hub.d.ts","../../dts/packages/babel-traverse/src/context.d.ts","../../dts/packages/babel-traverse/src/path/ancestry.d.ts","../../dts/packages/babel-traverse/src/path/inference/index.d.ts","../../dts/packages/babel-traverse/src/path/replacement.d.ts","../../dts/packages/babel-traverse/src/path/evaluation.d.ts","../../dts/packages/babel-traverse/src/path/conversion.d.ts","../../dts/packages/babel-traverse/src/path/introspection.d.ts","../../dts/packages/babel-traverse/src/path/context.d.ts","../../dts/packages/babel-traverse/src/path/removal.d.ts","../../dts/packages/babel-traverse/src/path/modification.d.ts","../../dts/packages/babel-traverse/src/path/family.d.ts","../../dts/packages/babel-traverse/src/path/comments.d.ts","../../packages/babel-traverse/src/path/generated/asserts.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types-validator.d.ts","../../packages/babel-traverse/src/path/generated/validators.d.ts","../../dts/packages/babel-traverse/src/path/index.d.ts","../../dts/packages/babel-traverse/src/cache.d.ts","../../dts/packages/babel-traverse/src/index.d.ts","../../node_modules/@types/gensync/index.d.ts","../../dts/packages/babel-core/src/config/helpers/deep-array.d.ts","../../dts/packages/babel-parser/src/util/location.d.ts","../../dts/packages/babel-parser/src/tokenizer/context.d.ts","../../dts/packages/babel-parser/src/tokenizer/types.d.ts","../../dts/packages/babel-parser/src/parse-error/standard-errors.d.ts","../../dts/packages/babel-parser/src/parse-error/pipeline-operator-errors.d.ts","../../dts/packages/babel-parser/src/parse-error.d.ts","../../dts/packages/babel-parser/src/tokenizer/state.d.ts","../../dts/packages/babel-parser/src/util/scopeflags.d.ts","../../dts/packages/babel-parser/src/util/scope.d.ts","../../dts/packages/babel-parser/src/util/expression-scope.d.ts","../../dts/packages/babel-parser/src/util/class-scope.d.ts","../../dts/packages/babel-parser/src/util/production-parameter.d.ts","../../packages/babel-parser/src/typings.d.ts","../../dts/packages/babel-parser/src/parser/base.d.ts","../../dts/packages/babel-parser/src/parser/util.d.ts","../../dts/packages/babel-parser/src/parser/node.d.ts","../../dts/packages/babel-parser/src/parser/comments.d.ts","../../dts/packages/babel-helper-string-parser/src/index.d.ts","../../dts/packages/babel-parser/src/tokenizer/index.d.ts","../../node_modules/@types/charcodes/index.d.ts","../../dts/packages/babel-parser/src/parser/lval.d.ts","../../dts/packages/babel-parser/src/parser/expression.d.ts","../../dts/packages/babel-parser/src/parser/statement.d.ts","../../dts/packages/babel-parser/src/plugins/placeholders.d.ts","../../dts/packages/babel-parser/src/types.d.ts","../../dts/packages/babel-parser/src/parser/index.d.ts","../../dts/packages/babel-parser/src/plugins/flow/scope.d.ts","../../dts/packages/babel-parser/src/plugins/jsx/index.d.ts","../../dts/packages/babel-parser/src/plugins/typescript/scope.d.ts","../../dts/packages/babel-parser/src/plugin-utils.d.ts","../../dts/packages/babel-parser/src/options.d.ts","../../dts/packages/babel-parser/src/index.d.ts","../../dts/packages/babel-helper-compilation-targets/src/options.d.ts","../../dts/packages/babel-helper-compilation-targets/src/targets.d.ts","../../packages/babel-helper-compilation-targets/src/types.d.ts","../../dts/packages/babel-helper-compilation-targets/src/pretty.d.ts","../../dts/packages/babel-helper-compilation-targets/src/debug.d.ts","../../dts/packages/babel-helper-compilation-targets/src/filter-items.d.ts","../../dts/packages/babel-helper-compilation-targets/src/index.d.ts","../../dts/packages/babel-core/src/config/caching.d.ts","../../dts/packages/babel-core/src/config/printer.d.ts","../../dts/packages/babel-core/src/config/files/types.d.ts","../../dts/packages/babel-core/src/config/files/package.d.ts","../../dts/packages/babel-core/src/config/files/configuration.d.ts","../../dts/packages/babel-core/src/config/files/plugins.d.ts","../../dts/packages/babel-core/src/config/files/index.d.ts","../../dts/packages/babel-core/src/config/config-chain.d.ts","../../dts/packages/babel-core/src/config/cache-contexts.d.ts","../../dts/packages/babel-core/src/config/helpers/config-api.d.ts","../../dts/packages/babel-core/src/config/config-descriptors.d.ts","../../dts/packages/babel-core/src/config/item.d.ts","../../node_modules/@types/jsesc/index.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts","../../dts/packages/babel-generator/src/index.d.ts","../../dts/packages/babel-core/src/config/validation/options.d.ts","../../dts/packages/babel-core/src/config/validation/plugins.d.ts","../../dts/packages/babel-core/src/config/plugin.d.ts","../../dts/packages/babel-core/src/config/full.d.ts","../../dts/packages/babel-core/src/config/partial.d.ts","../../dts/packages/babel-core/src/config/index.d.ts","../../node_modules/@types/convert-source-map/index.d.ts","../../dts/packages/babel-core/src/transformation/normalize-file.d.ts","../../dts/packages/babel-core/src/transformation/file/file.d.ts","../../dts/packages/babel-core/src/transformation/plugin-pass.d.ts","../../dts/packages/babel-core/src/tools/build-external-helpers.d.ts","../../dts/packages/babel-core/src/config/helpers/environment.d.ts","../../dts/packages/babel-template/src/options.d.ts","../../dts/packages/babel-template/src/formatters.d.ts","../../dts/packages/babel-template/src/builder.d.ts","../../dts/packages/babel-template/src/index.d.ts","../../dts/packages/babel-core/src/transformation/index.d.ts","../../dts/packages/babel-core/src/transform.d.ts","../../dts/packages/babel-core/src/transform-file.d.ts","../../dts/packages/babel-core/src/transform-ast.d.ts","../../dts/packages/babel-core/src/parser/index.d.ts","../../dts/packages/babel-core/src/parse.d.ts","../../dts/packages/babel-core/src/index.d.ts","../../node_modules/typescript/lib/typescript.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/lib.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/parser-options.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types/dist/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/definition/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/variable/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts","../../node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys/dist/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/referencer/index.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts","../../node_modules/@typescript-eslint/scope-manager/dist/index.d.ts","./src/types.d.cts","./src/client.cts","./src/analyze-scope.cts","./src/configuration.cts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","./src/utils/eslint-version.cts","./src/convert/convertTokens.cts","./src/convert/convertComments.cts","./src/convert/convertAST.cts","./src/convert/index.cts","./src/parse.cts","./src/experimental-worker.cts","./src/index.cts","./src/worker/babel-core.cts","./src/worker/ast-info.cts","./src/worker/configuration.cts","./src/worker/extract-parser-options-plugin.cts","./src/worker/maybeParse.cts","./src/worker/handle-message.cts","./src/worker/index.cts","../../lib/globals.d.ts","../../node_modules/@types/color-name/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-readdir-recursive/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/jest-diff/node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/v8flags/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","b360236d3b226a56126f9f071d68fccd10eba34e4b6831efc39e8a3277380523","a73bd08ca8f85d9c1f0307ae7abb246e38cb618f452e15fd3612464e846665b0","9b1b103c34f4c56ab0c40c87a85ffd36002295d8fbe17b493509e63a383f5814","e4a023723ff5cfdc22880b572dd15876d0bc4bb4f2a555d71d226a2578786ad3","3aa0ae0c3636319f9bc6e5c2a4bd484f9b2b4e78623b33131056a95fb59c954c","dc25e664429b44c379d4d3cf988b2cce06116ae94f5c6f1a0cf73245b4282a93","e59daf03ff2d76dee4726e48556aba1d105fd1c7a7a9cbf3e74ec4a1f91a6bea","250bb1ea2d799ecf488834fe20efa611063ab79b35639b7b3024f05e1b6641ee","a0fbfc839fefc3d41a12c5a8631e6543135ff18fd516cd06c5a09f84cb81578c","9ce376fdbe50ed84260f0dc45cc1f242916f2c0c91da6464df63df0ba2baae7c","c3e41c24eb14414b6995d4bbac99d16ce2e609282c9b53d1333b7b423e0f7d02","b555d22a622ea0565d08a340e5c19f6f439f40d4451a2f13fe6a33a39b3d761c","9f29212a64599c6c5563b78746bf85f709d5437f18dac77502a53af63dadb850","6b714d7db731bb6da813dfa3d88ded4ce0bc9b627464e86315468e1be9adadff","5ebd0c7b976b7cbe390e381d27ec9dc5adde1a02cf9ecfb2a7caed7a822a5cae","4171247c72f90ac86a3cd3cdb0f372214a556aa8b94aa92b28bf6d21dad5f7ee","b8b9aae5a37c0d3dec11813d992b893ed55a080289466ade6c1bc47e3987f53a","eb69d4cd5875c471c0dd30988bf8a4816f9b8fab1e71a8c39096e483411faa00","48225779dd7b1b7b384389e325ed6aa271a6745239d8193c2fc161cacbf3dac5","c6fd0f9d777f11f972b4decc52beeeae6aad9f2aa949184e8f9984a5c36e4448","3f4487628af3e52556d6f33151740876b29a5355b8a5ccf8e56d1b3ae7cbcc0e","2b4ca439136421892cc80ebf6f6ea641a0306e58bd12ed61ae7f20becb2ee15f","6296c7ce17d3115c72d6757513e79ea0f74b76f49e0138f78f37685fc1bc83f8","ce8fe0d07c32e6786203b5a3b93468afc6b1fcf57481dc9673e16fb119312c19","dfa94dabc1567d2b882222947f5c181adc89a3af5b6a2b730b1c3b85d4cfe48f","c33fa94c2e88d70a2e98a33474d3cf477d959477236323a748f638b3ca1e2af0","058e39e6fe02e97ddc18b2952a67d0dfb71f1f60f86405480fec569b602f5284","8c5dbef5fc0eb113d94132a5ba440d75e33eb85e9497a1f7e3bdb29a3fcd3469","0d9808e1f0d2bd4c45462c7e2f20c0cf08b700c6964e7eda5e10d1f6b707deb8","9f3f8ff5d06c5d5583e891d3bb98489d58e358e49bda2827f3f7819cdb632ad0","6978b8fc2f45108c4bc2788bd7053f2917d7efa28f74ddf52182dc9ab59d03cf","e127a8fb319d5978d73d966a5a68b85915848f8f96267fff2f0dbe9bc92373e9","77adbafe67e2bf42d578d82d2fb994530cce5b9eaa28a2a5b24aca70a008c3d9","3642221f795abb677078c1d4673adc4932ac93effa865bf7d85d2f418acb5b1b","7d2a0764991446f121b01e690edcb502ce40fd02145613d1d349d9e46be3782a","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","513e4a7dd68f60782a39d5ae4ce6f0a19ccc4c51808b359560ad1f689f0ce93d","519157309e4f7c98b6067933db2a849961eaa0e5dec4a2ce5d2fc92ace85dcfd","c5f8672c8c39b8f9251a57fc2dab217ce20ac4a9d71c0a498b733cb922ff5e4e","82590ca2dfa968af29be579c534733406fd9c5c4a726213eef9f2308cbb04d23","e88043fb3ae0a6e33be31d45927494ed42c3263bfb318b024b9dab027f09dc2d","3f7e6d7b1d7155d68b5ec0f8e021f10075c785b29171d1d520d0b9b0dd617aa0","7571f6e856945cea6771a2985e008daff8785c6632f9dc1dc9f24f795f84444d","2ff5e66c8448d86302ef11ceeb27cbbd43d3af41aba05c2fc3a48cd0f1d8627f","a73d8151dd40ff705eebd2989e703ba14874574f5fe4f195babe74b6ef93ac59","e872f192c494d687561196b8ce88a06d80b2128b0c28b3bd919a7d663c22cc18","1a910bff4e17d0f855bd00ef0dadc3ad8e7656499c099d19603f8bb0dbe8853e","23996dceac72973064c9643fff1ca0cf585b642d715c56ed3512703f2b280c5e","14cba8dd2c615df75bef2f670ec26fbe86157eb03a55ba5dfbe8ad46253c3b5e","95a1a8e1e7777214b2d970c3426819e976abf9120f2824b571e0ae51d1dd465b","3b6aafb284a9943503546844726c7ecea9ae91fc46f1d8e8cbe233f6d8b16a30","e1bb914c06cc75205fae8713e349dff14bdfd2d36c784d0d2f2b7b5d37e035e0","a5e89e63c809c01f8e8175c9d63da68ce734ddf15b7efd98b1eb262d8e4d05ec","466c63574f0654a81f7d760ccb32570f642b6b46e83b6fdc288c2e52bcef287c","c6526b7ad3213f40e40d617f0a150c8a9dcf0e8f868594ef4aa060b994fd11ce","b5e0565b7ca3ba4c129ed4e1788d4dc1bb30dcdeb14a37df1071c3881507e295","08cdf95dfc59101c1e7c23865951151455ee7f77f1bf7e257034aae8ba332972","4924f889957ee69dfd66643c7e60a5feee526c18b16d10985804c669fe1b6ce4","2c95044092cad1398b593b47290306d73513d163c61e85ebbc39715af4b15578","66612e3b3315adf8702a39830ad8690d6f4293f89193737c604f4b44a51e42ad","1d3f6521348f5d591d4da3408457a553274b024c79ecde88054361040967c211","03a629914760ae9bb64a05e72ad0f4e6aeefb1e7c7b6ae3d7836bb46f69ae23e","95017b0f25bb3cd6782853c14303c20b5099b866ef1491c57fc436add8183f14","989f035cd0c3acf51639b2ff4fb3cb8ccce3d7ef0103a1d32ca5e5f1cfd19387","9dfbdb5529d2be1c9e77112f7e0e20fba7518865f31501b9aa09c3965ee91f6a","9ba02d6560cc8cf8063172ba05b5368a24fb236a97c1c852665372be78143592","cafadd60cda0c63471975430893f7c0ac981f268ec719f08f131e41d8404c4db","6a7a221f94f9547a86feaa3c2ce81b8556c71ffb12057a43c54fc975bca83cde","156d025e006f7df4df1bcf7ce53cd3e3780a0190dfb03c65288f07b372e79843","e34a316302189537858d6d20d5d77d8f0351ed977da8947a401ad9986cdf147f","243665975c1af5dc7b51b10f52e76d3cb8b7676ccc23a6503977526d94b3cdde","3a91334c3409e173cafb3af175d8a4a3ae835851df7015c8f0fc5c117ad46c80","bfe8f5184c00e9c24f8bb40ec929097b2cafc50cc968bc1604501cb6c4a1440c","7b488581d44b9a7bde2131536376fa946cbb3a1b0096427738d5b946a76ca794","f31ab9295985d01c5837c9bdc422643f6f73293cfd103738774b7cfb340566cc","99392e1e600259c50f21f691f136a4ecbee42839dbb9523384f09645c8756503","5c5d100793c0fb9b34076189904df18f3321e82cadf6f69815926104029c215b","dc298a2f1e69c0786df2f1e29294742862da898b213be334c36682098afea397","1079472c5e1f65ce739fb777054e2f539e9b50a97b438c0d6e56c4ee23be8bff","e9c6fa84014368db906c69b437c4849c02a26267e4d5e5fc5e639d98de86fe5a","c67208e9da4af7a50bfb75d07691326052d6ed8f3b577ece8b02cd425c9d632f","4f9a4bb30bc97017c72a600c0161962d8f74488d1cd93669e4adbce7e611e0de","8dec4b9028cc8905caa6b52a395786d7f49a10d61f6be869b59ae007dc5e0cdf","f952c9c19048db8b25e3fa8e48e2213c18d3fdbef6ac168e9fae6632ed58245f","5b8807a3d3cad7abc8f1c067dea5df20373446b89bb4f0aa73fee801deed46b8","866c1b69a53d80383cb5eef0ce2760ad8d028c771fa45776426a583c56a23746","c51dc97847938ca3786408a68750dc9487f162ce90d2164a4cc1a9c88ae93eca","e772bc828730ee913e19f58bb18b7733ebce8a3f06cdce847cb33275343a6ecd","82f971c78549caea24d5529c13f959d3c293456c1e91575df296e5f860438a6d","00222577eecd6c1fc72150006351fc6e1b5bb3aaf78097e40ecac8b8343a7598","39e2d8b839ebf811234d4a2e54998229aa1353e19e1199be87b6fa530136aee5","50f3da2fe7cdc461c6fcb1b38e8762847cc3d62146b1c1dbd62552c46d2b9187","e675dc45ca604b7a6fea16448050b34cf0fe86c2f9fa50f3911fb4153b42c186","d3e56e0f84e1d1843369533f50918cce5925129e99e9ca14c7cc35ad94b2a052","dfedb6704555de21c30e98a8decf8a6d31dde1d8403b9b95944a1d317379c7ae","7102463bc898ac4cfd90675e679cdd8e1a1b6f44702b280f9c99b93f206ae570","b0324d2294913c3e9e8859e9393729d48b40a4ef5f0a4718d45460a4d0bac291","57e73f1c6da39bcf9429f52c39b6fc34eef11547fbb5a2be91836517ec746957","8e4e3a2b6abfb27e146543a86b61deb0b088a62db1ddf32151d115ccdf30c3a2","bde8c75c442f701f7c428265ecad3da98023b6152db9ca49552304fd19fdba38","81af40a2264a5a56f71b8c45ff1717b50c5f0c00dd091410b12dc970ee340120","b10974251ad16a97b357ec50f87455c4430e7f0790f7b399564c900e4ebf87f1","234123959236555e336e4efcd7aa203ac1d5370ee5d891dcfc5828d996b28f59","b59756cf12284e6136e042f322af2e22664e1fd46f713b1dd3abb1740719b732","62b65c635a282ea4855cd6a9b968527cbab364c38410ea432f63c5c591db9072","a382df4ff5c36b5a1f042f310ee52dc547da679b92066ececaa0f00bf76e35e4","569de4401936201287d466c310a32432c2eef9c42524f5e31379e743dda71bf2","2cf4af5b2e64cfc639866ecc565edfe8da7dd3bd06c5ec93e491431d8b2cbb52","6131967512c4d205c32f126ef7415453f0c715bf53c7175d6deecb72d76a75b5","4e38f7bd172e7549c323610cfede12644c116581dfc4d751998d301eda9573e6","0d1adbde28307411dae5e1cc8cc316130653bfc6ad8feb4b59063f60efdfd693","d8288a8eb14187b0df133ce467216d61d9ffe838ae5930471f476a5c36141828","70ae92a852a67db5b841a7ee3e9d16df7c06320ab86dbf2d5dbd9d76f3c98faa","e58a0a0add3feea2c936af4933dae5710f6c41e91468e22d880054afaa47b782","ead85b2d6cd6e6deb144a0995896c0ca7423820c66cc00e416e66733d2932985","5893d8b87ce06846556d2460e2eaf2aa8388f2179ed151d302ab7d711a75c7e4","6b4d9c91ed03e7afd40fa045042fcb7a6250b8dbe242154f3c4b948a99c74a9d","8b37c18f85644a1c666705bb5c233850cac84d8863c19870a8ed5f8d69c68800","186139eb9963554412f6fb33b35aabee1acdaa644b365de5c38fbd9123bdbe45","429e18739687877b761b4b6574a45a9e51111a6a71cd63711440cb0f9c602e87","b7589677bd27b038f8aae8afeb030e554f1d5ff29dc4f45854e2cb7e5095d59a","2141d76dd4ef56c5aae88b7d93a8df9fc7d9a779a2441825a8e3e2d0a025f761","31cd8b7c7ff990e5213c4f291f6a92e26eea3bed21a1147eecd32e0b789b37de","431fa08179e6ec652924f1f0788e213db388b0dbebdbfd392477772c5f199573","092ebda2bb8a86fbf91c87f05de87a433eedeea8cb0be462984ef6fab1148c41","9e51bdbcfcbbe857bea0999bafc786cf85a07ace21f8493112f962cd76e32618","bf37ea47ebbf5d66dd7a26f59c08524608a3bd36b8736c5c4e3b22619d722695","e4aa4e8d3eb4c67b64962344ef3388a8cd607821ba619c9379b36316db65c9ac","ae795ae07c9049d4ef2ea798e539c883a774b63be306794f256e11a9b228ebe6","635ca94290fa45a56e53ffadd3b897a42650fd4ab0ddc241392e4dc729bf496b","9ec417f9819d1bafca9c34924f7b02a0f5eae5f04b3bba9fcfbba0ec87c4f310","02519cdd247317de0bfdc78d88b5497d9747e1b9d1297283a0fea8ab3787f6ab","53989e09bc0b6b46a3c4597e5147a9b989f1f66f33ce7375b92d28139977e748","abae244b376437bfe2f0fdd1bd8925e2c235d10336ba08aec4330b800582ccbb","7da12c50edd45d08ae7f93183d0f88ab9753386ce060d1765926ffbe7c6491c2","1a8397f1c9125fc54db823eb6509221b841dd6f0c82a78997033a4a09fb1c86d","176d3525152384c3f7312b308c8af7b17690f8ec34e0788e6aaae548180f1941","6b34e6bdec80f7af4912497afb8455cd88ae1d6442d042c6663176b9927b69d4","41113f7f4529f81a16bae03c06bbd3c95146a4f7c8173ecafd6869fd1e97ed0b","c980191d2838b122a340074b58c566fddbc29a44bb57170671ac5034373c49a1","378871d06cbd514fe945b69a7be3cabe210139a5b2b3917a306ef8102afdd5bd","3bf0df1a6a59b16d43f97efd5bddcb376a3a3d66ecbe92a4dd80a0f81be6a009","49bf06ea475ae5c78e69f7af3c7e09e00af57750aa1e37c120aaad92fd8a8ab2","f8fc87c8c6822986fa509a62a0caed5cbf05f3f84d82fbbdb01a9e94aebfb2ec","60c51e31434ccc777c3d67ccc96892dd7e634816fb9fa5dc86e15d72de96ab3d","0737161a05160e848162b2abba07c4e867f415362187b810f4b6764d2626d021","69815e9eb00baef2634457bcf4952f69062d764211914619c6922dfa7760f8d2","444399b4f2fead080a55b82f86bf653a072a9f117042edc9a0fa69366672b418","d6ab7f2b45d4aa62ad21199fbb3105151a9dd4830d138a3bb3eab1e76eef9e45","56827baba9ab2b370c919b1858068e11f10a73d80dca8cb2467d2d1446fab073","551cbc9796c3629084a987a84a1a0e9957fcfb6fdfe1ee807dfe56f5a11a4148","eded5d62b954b7937089cfb84926bb40d60b8bf0d4ef03bbe92cf08404afc808","84a805c22a49922085dc337ca71ac0b85aad6d4dba6b01cee5bd5776ff54df39","971f12a5fc236419ced0b7b9f23a53c1758233713f565635bbf4b85e2b23f55a","9d670bb3be18ea59cea824e3bb07d576b55c9542f5bc24aacc2a3c1ebd889de6","695b586df2d8c78b78cdd7cc6943594f3f4bc52948f13b31cdedfa3ce8d97c31","0771a93ef5e3b2a29f929c20f7ad232829341a671c9d1e96e93ef3fc42ef7bc2","cadb68b67b80b14a9a5bb64cce3093168fb2bfe2c7b10096d230df5203218de1","0b3c75be13f930b46117e205d900ee9c4f2ad6c7317655bca5364958ba1e34f0","5af161220fdf46730477706e8c431ccbd1b4ff50223cb32450bc20513f50bfbd","be797449825edee1716d3e0c8d7ae53955b8944437cb4d0b4123a32778621228","7167f98cada53080c300815de1e24f5eda5e9511caf5dfba8d1e3aaf6fe6d49e","83a3a4f21e36ee920e819ac865badd30bf258361e7a224d1fb134a5524f55a0f","a09c9ad7765dde81c65319b317af29e10f0a8e38f197c2e657ed7130d67c73dd","db18c2ffebf4c7f8d5ebb8f2541bc30bbb4f6cacebb42a5a9742ae883fd583e1","a22722f2344d703cdcc5ada42cbf84890ef527a2a6e9154fab5ddb362e64b955","866041185b44ade1456dc03de3dc85aad9c2b02dfd92d7f2068d46e28ea66201","13d94ac3ee5780f99988ae4cce0efd139598ca159553bc0100811eba74fc2351","48864a43f6c1032cb3fb5bfac020d4b2919791f49d8f31ff18f2dd3d4816005f","e9114172414f9836d9fab7346122951be30b66719d8277aa5f7a25580b9e21c7","5db896a650fb0c4ec892de19b7b98b92ccae9bb5a3e03731050f3db0d3183bd6","220c93cd694e27d77b91f874f31e92d7514aa808fd95768b64552693043d00b9","380543b1b41b88e3a6294b8419d5ed323c5da3a3051ab4a1d5677f525ee30698","269ee735294e8c328681830ae7fdf4aea6c24032f0541d76c914aac9afadda5c","23a790e87430f6bcf8dfbc4d3560e8b3d7441f9cfbe509bcf932b4608c60c9e3","7a8b858660503a4af876541f456b2cbc3d89b164ab842c7434ac0fb87ec0e026","024653e8296d821c2332e1e8fe13eb86f4d50f0be82478c958890e92d1f2ca0e","f571e28d70c04d1ce72673771010febae11d2c907a71d027550d986ee424951d","ae4f0f443b828f28aaf843856dd25a8ab5e400f99581778f8977011c4a72d70d","cf5ba84fd9488f0ba7e302d54d1db6452b513d8573df389dd05f4153f5edfc26","64ec4840e09c2f03bc97e86f6fbc5aac99bb6a067f20e06dc186a3784aba2862","640331bbaecab0948b9a40fc903666f103e94764cdfb0822d4124c147246c19a","dc29fe834b87d0d015c40a9f294ec7e1f2b7b322f102264e34374c8ea5ecffe6","46ab6033b2f210e498f5147c87b465aa564d1b9f64a431dd70b3f4f7cc5d6647","1379004c81fc11db70e00271d7bb994b816698780cbb323966e8d7d3020e36ab","38738b94918d3119aa7006a143ec3f1552726348c80ee9b2de3606b9d78be223","ac5c6aefe784ae554ccef97ab165378535dc055402198667b75a4909387e7e8a","530ad38028745590e3792e0570b96d063a5039dff59119d4b686673094d2e9e7","fcf764882c18b958c2a487ad1093d6c9630df63f1e90995b157fe052e9fcc632","92ebc3261b20037c4e078cd3d26bccedb719b3eec653925e103b6ced4a936c0d","857864124c3a81507e55dcd7ed8cfa3f0c0f14dcee7acf94ed598cb25526d278","0fa6d3bf24b1d056c43e7c1c8f27819b6bad234c647a78e6ce70f8ff5615c70d","55e5a83c57e75329952d4138a50cf1564ac2dfd0669c2e01fa9f50ee68196ced","50b410acd8c96105e69d93826137269413e120758411ba1dbb992b901e6a2e55","0d4e5400743b35d420d83f1a33add04e1be352d45c98f2777708ca40cbb525e6","a49a99c6fc351fa5491d7b7efa0dc5666f1400b57f2063ed8f362a93f2f98797","e4f5face52c9781d20d2127cf405288a8007cf2e15e87574f677916e534e706a","892bf5856b242f0769a7a87c05ca17a7f2075450cbaa0ab589b8944b03804a93","34bc4ae02c19ebf98cefa8f4505bcb87413a60fd2544d7d4e6193acbc4108dda","5eee4649c790eaab36ab3e1aa60c807ce0e8aaf9a025c90fb40e60b5f5684e6c","30d6dc9b525dd82df213f2ce4a2aa0b2935b3ae5366ea164f96e6c08f0968ac2","ebe7db5bd9df714d7dddaf077a0a5ab6cf33740c1e39ca0274beeb96bc86828c","4a091e7847acab6fe0536b507db54b71270d22fe98513728658e446b08941c8e","c467f362b3da83f87dff5bae2f330f17c8086eba5f8eb5240b12b049a7f77db5","ad42060f3e0f92a294748f19d9490a8a6a980fb40dda0fd4627991d1361862cc","ecbfb361d752394a3728d319a93d0a208c5a00960ec1e5763d23b5944a00e35d","60a6e14c616a9977e7e0e196977721232e6977952d0324be4fb932a07d1679e1","bd76bdc3263ffb0ca3353fb6a525e8d14323768e48b91927f9ba87183d20fff1","2d94e74a3f71bbafeab55ec22b10151b89ae85587bc65f00b83344899ee52e2c","711789984a100da43d3e498c17ae14d9702f03fa0fc32cb07bd789a405bf4ab6","281d01063c2dd246078dd4079bd7827d2680e74cfc19490d3705675022336683","1a9cdf3bfd9f257233439cb40238352fe1c6128005290ecabf5c09633d58e1bd","f92d1a32779136c5707ea3a9bfcaa66c719598b7221da13d7b4843d60b7cb1ce","abc44e24a9e4d448c16be0592efe21c226348f2cabc4a29baaca1a9d20603e48","6d6a44413b5561347e604b9136c09074efd84fac96f105b9e1b65ce2e1c4a105","0471d30e55be2eca003ccde4240963c61ed191ef664704aa9d714f66518004ae","d1a685ef40d9553092a6da3f019344e9555808f8c79cd837a2b1479a89aff86e","78febe79c300eb4e36b21a5f92c64b55659f9b1b4fdac3cccb9481b28e2572a2","9a0dbf7e661a3dc3d1842bd0fa64e001037e9086b5c6c3d46c34400afb9c8689","b8dffdc3b519083310f3405512c60e673170dd0cef15407f65f9e82790091b1a","0cf8620ca1bb4e8b07545a3ae165f49db3daf0fd184e435e0eb1aa16ba512174","3c72d7ec3a861bfbc632454bf0bfc514aa965ed26ec1f9450108258a3b6430a7","024e0a74ebd335b4c675747eee99453b53813d5ff3ad6cbaa81942a4f4ed57da","1eee1bcd570bda3524753ec72a47e4b1597d5fc362a6a83ec4bdc3195320f281","3416ba78c03a35b340a9f76647353292a656110f5327c2145fec97ff71f61ba6","0e0be8210df9c573b64f81f18a1c284c83d72b472abdfc840cf40cc0a1db3465","5199370d76f8fcb993ce69295f10a287d633de43a64a78fd5d2a367a31c4b258","aae56a4211c19ab565a4377a606ed2ff444264399560aa9f52b308e650880ecb","5b717f6f0f351120cdf828e55537e3e61ea96f82a1a160faa5b9ae39a75c6f68","083ae29c6fb50d676b29fd5965144fa7950ac4e3ee4fdf57c587bb3194013ae8","7c6b13ae7496db0387dea584ed361ed5ad7f9ee3426da3305a1526c4eedf8c5e","6f2c76b59c81a19f72c57ec4b9e2830a10c4b9534ff6e9cd418ddcd38b6fdc0c","16bb3683a72c89bbc51886628bbd22522148d2aa3615422eba481bcade151df7","55fa234a04eacdf253e0b46d72f6e3bd8a044339c43547a29cf3b9f29ccd050d","b181ff38cfb4c79fb7aa7ef163c06e84fe5b0c3b7a286848a0eaa5b2ec38c706","a8c65d6931f57824f95012e902b3c4aaed39aa655183d13a7f7487dcb1bcbf00","9a5cece9b6895a117590afa088b6b91db167e25b00e5de1cb5885898fad0a270","0d2b5656e6ee0ccde2ff5025a6230130598609e6ee351ffdfa9a468459c69fa6","f7a240307887227c5dafbea0de4e10ec4726f75b95704965853c7101fcd7e741","d2312207819e8646ffd59367976ee611f0865c5b1d1518269a005f58eaf1ccf2","0e002469c8f37a8eb2cb874bdbddd2099f0fd0b2f8cd8eec879740d1c1fae256","20173928a097871e7ce47443e237a9b34c38f80d62e025d831699ea7671458a0","c3639c4aeae045ed963d564f77672b64304ad903bd106c5f2e679c0a9ce276db","ae826fd8f6c1c292b6134b449344f2d2ef7af2386b067293396e6f10435d256c","5614f93461a8346a573402b6d8654d7208b6b250b57a076a607c71bb0ab4d13e",{"version":"841d7b5a086d152df7d7343e0c89beda8baf3c89f35797d91619bda9e2c44959","signature":"42aed41188d1b01c644a520a6863c7dd2c7557e853b71ea56506755da1c4970c"},{"version":"9e9149f1d84802e66a884b6fa1b60879433cd5acda253d64237211fd1e46cfce","signature":"4c3fa51ee748283e0b5d3f6c5e51d9884db0619f8d5ac0cee5669c72f1bd2249"},{"version":"f19e129e633db41f714bda92a5bcdf9ae728ed9a3093e9838e6c852700e07e28","signature":"47ad46f52ee10a34df7dc31f5634d9c95b729b816140cb6b7a784f9b99e1a0b6"},"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4",{"version":"fa6189dc847e90c971c9548be2ed7b32389b0eeb129edfe0c25fdc93c566ac2a","signature":"719d65997519f2fd2eea7b268baeb311831112b244f2d86a8ac9742f04263795"},{"version":"277c00b30562c300176bb053dc1fdcee9ac3ae59deecf98af248f9ab4149696a","signature":"e48e303e26e0bc9e0d7a7d8c38246a1c623c703245bf2d8f2d6b72941921e270"},{"version":"ae82ceff809f16f62a14b54dc547daffb22abc0e0b090e3f88186488e2b31a72","signature":"15249481a994cd78e290a923fcca909b7b5a75877b5b9353cf1845ba4dae9c86"},{"version":"863cb5638970b4eee5029f8d97d5309a304cf8f53584f1ca18cad1062ce5e17f","signature":"55b55a2ef7a1de73d8c18f90d7ab8b2d473083e9c303ff7e0cd6cd118021ca15"},{"version":"8d0fd256f05720cd8eb02927523ae032da6cb6fefa1f66a42098b8ff069eee09","signature":"b392ed5946bf4843ffcc0be5822fc32a1aa1552b48017eef35badd2b55ce1a4f"},{"version":"cd4d3a428e962eaf8c7b76cfa9d844622d7dddb09c60168b79d83bafaec2a94a","signature":"cb2d6f4374a68d53445e2a471a1d85c88fc8f3bfe295b571a0e34e12c9ec4772"},{"version":"cf60154fa1c4720a82cd2a8856c2c821e3a83e2026d26a46f806c5f6ea3fd94e","signature":"d1b5c98f1a3530ea8ff760d0a322ece85529e7bb274a4569090e76c9ab9d3ca6"},{"version":"bfac1dc6936bf670596dbf881f8bf4f97e18058a7823829afc7e0db6af6cbf44","signature":"0c8d17485cdffdc3f3038daef9082d0642d708282a34924ce0de4f472c0175dc"},{"version":"d20265e2d34833d5ae1a914b6c0244e15d6040883b115c0bf278c4accdc9b854","signature":"ba68fe7b0eaccfc8d92474bd1b5fa169930252520e17db91109e86f92f873b23"},{"version":"be5337338fe7887c758327adda80264f6b0ed100c62bfd6b7b61c20aba0044b3","signature":"a3d838be6c76ff238cc1e9e2a5e408475aa92ceb8855992b91f6891c1b657b5c"},{"version":"c67e5774c9283852e80bfcb3b299533c0072ede5c2fe0e623cc70adb877d19f1","signature":"a7f5d7bc973b48d9620a6829c48a307e58baf274d7c30b85625eadf8e63a9089"},{"version":"838c44ea85eadc8c04c6d96503098f528ca299742b6437713ddef2bb87ccf1bb","signature":"7b3b0c1abda4c77abc90448a21bcf0c6ec9137aeaa3a4c059c1d87995ce76987"},{"version":"cd78139c95fe8e8a52cdad08a10c4e1b9c87c5c29366cff3743c91ae1c3b5260","signature":"364ecd330350d7765d162e1e888465fe2cd748c27ef9a8e3276d75f86c002b61"},{"version":"7c78732ad9660634c786321db7aa42d6fb2318083112c180917e081596a79b32","signature":"4988f0e7dbae146ac44b99029857652f01bd7d92926edfb0ad2c15a09bff64a3"},{"version":"fd01df8f881f1de90c489acfcb1000aac5e7dd8b6a809359bec1591ba86bdd4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0b6690984c3a44b15740ac24bfb63853617731c0f40c87a956ce537c4b50969","affectsGlobalScope":true},"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","1d78c35b7e8ce86a188e3e5528cc5d1edfc85187a85177458d26e17c8b48105f","acdc9fb9638a235a69bd270003d8db4d6153ada2b7ccbea741ade36b295e431e","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9",{"version":"a9544f6f8af0d046565e8dde585502698ebc99eef28b715bad7c2bded62e4a32","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","9bd8e5984676cf28ebffcc65620b4ab5cb38ab2ec0aac0825df8568856895653","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","9e951ec338c4232d611552a1be7b4ecec79a8c2307a893ce39701316fe2374bd","70c61ff569aabdf2b36220da6c06caaa27e45cd7acac81a1966ab4ee2eadc4f2","905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","6d969939c4a63f70f2aa49e88da6f64b655c8e6799612807bef41ccff6ea0da9","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","9ad8802fd8850d22277c08f5653e69e551a2e003a376ce0afb3fe28474b51d65","fdfbe321c556c39a2ecf791d537b999591d0849e971dd938d88f460fea0186f6","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1"],"root":[[324,327],[368,383]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationDir":"../../dts","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":200,"noImplicitAny":true,"noImplicitThis":true,"rootDir":"../..","skipLibCheck":true,"strictBindCallApply":true,"target":99},"fileIdsList":[[219,227,241],[179],[179,180,221,226,229,230,241],[179,229,241],[179,222,241],[222,223,224,225],[179,222],[246],[179,180,241,243],[219,220,228,241],[179,229,231,241,242,244,245,263],[179,230,241],[179,226,227,241],[180,242],[179,230],[212,219,229,230,231,240,243],[178,212,241,263],[153,178,212,226,246,249,250,251,252,256,258,259,260,262],[179,241,246,261],[179,212,246],[153,179,246,257,263],[179,246,257,263],[153,178,248],[153,179,240,246],[153,179,246,247,249],[153,249],[153,232,239],[215],[213,214,215,216,217,218],[183,193,205,211],[210],[181,184,185,186],[187,189,190,191,192,193,205,206,211],[194,196,205],[181,183,186,195,196,201,205,206,211],[189,203,205,211],[181,183,186,188,195,196,200,205,206],[181,195,205],[181,183,188,196,202,205,206,211],[181,183,186,187,189,199,205,206],[181,182,183,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,203,204,205,206,207,208,209,211],[181,188,189,205],[181,182,183,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,203,205,206,211],[181,182,183,186,187,193,196,197,198,205,211],[181,182,183,186,197,211],[182],[181,186,199,204,211],[181,188,199],[181,186,199,205],[181,188,199,205],[253,254],[153],[153,253,255],[212],[153,159,160,176],[153,159,176,178],[153,159],[153,156,157,159,160,176,177],[153,176],[153,156,161,176],[176],[153,161,176],[153,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,178],[153,154,176],[153,159,176],[153,158,160,176,178],[153,154,155,178],[153,156,178],[109],[109,110,111,112,113,114,115,116,117],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],[118,153],[324,325],[324,447,472],[324],[153,324,368],[324,368],[324,369,370,371],[325,326,327,373],[324,325,367,372],[73,75,183,199,261,263,323],[376],[263],[246,263,324,368,376],[325,376,377,378,380],[376,381,472],[263,324,372,376,377,379],[483],[236,238],[237],[234,236],[233,234,235],[233,236],[73,75],[72,73,74],[437,438,475,476],[478],[479],[485,488],[424,475,481,487],[482,486],[484],[388],[424],[425,430,459],[426,437,438,445,456,467],[426,427,437,445],[428,468],[429,430,438,446],[430,456,464],[431,433,437,445],[424,432],[433,434],[437],[435,437],[424,437],[437,438,439,456,467],[437,438,439,452,456,459],[422,425,472],[433,437,440,445,456,467],[437,438,440,441,445,456,464,467],[440,442,456,464,467],[388,389,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474],[437,443],[444,467,472],[433,437,445,456],[446],[447],[424,448],[449,466,472],[450],[451],[437,452,453],[452,454,468,470],[425,437,456,457,458,459],[425,456,458],[456,457],[459],[460],[424,456],[437,462,463],[462,463],[430,445,456,464],[465],[445,466],[425,440,451,467],[430,468],[456,469],[444,470],[471],[425,430,437,439,448,456,467,470,472],[456,473],[328,367],[328,352,367],[367],[328],[328,353,367],[328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366],[353,367],[496],[269,289,299,310,313],[269,311,321],[269,270,271],[272,273,274,275,276,277,278,279,280,281,282],[269,270],[270,272,273,274,275,276,277,278,279,280,281,282,283],[284,289,290,311,313,318,319,322],[269,317],[269,289,313],[269,290,311,313,319],[269,317,318],[269,316],[320],[269,291,296,309,311],[269,289,290,291,296,309,311],[269,289,291,296,309,311],[292,293,294,295,297,298,299,300,301,302,303,304,305,306,307,308,310,312],[269,284,289,290,291,292,293,294,295,309,311],[291,292,293,294,295,297,298,300,301,302,303,304,305,306,307,308,309,310,312],[269,285],[286,287,313],[285],[269,284,290,313],[286,287,288],[264],[265,266,267,268],[264,266],[265,268],[269],[314,315],[485],[399,403,467],[399,456,467],[394],[396,399,464,467],[445,464],[475],[394,475],[396,399,445,467],[391,392,395,398,425,437,456,467],[391,397],[395,399,425,459,467,475],[425,475],[415,425,475],[393,394,475],[399],[393,394,395,396,397,398,399,400,401,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,419,420,421],[399,406,407],[397,399,407,408],[398],[391,394,399],[399,403,407,408],[403],[397,399,402,467],[391,396,397,399,403,406],[425,456],[394,399,415,425,472,475],[214],[153,156],[153,174,176]],"referencedMap":[[228,1],[220,2],[227,3],[230,4],[224,5],[226,6],[223,7],[225,2],[222,8],[244,9],[229,10],[246,11],[231,12],[245,13],[243,14],[221,15],[241,16],[242,17],[263,18],[262,19],[261,20],[260,21],[259,22],[258,22],[249,23],[257,24],[248,25],[250,26],[240,27],[217,28],[218,28],[219,29],[216,28],[212,30],[211,31],[186,32],[194,33],[197,34],[202,35],[206,36],[201,37],[196,38],[203,39],[195,40],[210,41],[207,42],[208,43],[204,43],[209,42],[199,44],[187,45],[183,46],[205,47],[191,48],[190,49],[189,50],[255,51],[254,52],[256,53],[253,54],[177,55],[161,56],[160,57],[178,58],[162,59],[172,59],[168,60],[166,59],[165,61],[171,62],[176,63],[163,59],[167,59],[174,64],[154,52],[170,65],[169,61],[164,59],[158,65],[159,66],[156,67],[157,68],[78,52],[79,52],[81,52],[80,52],[83,52],[85,52],[77,52],[82,52],[87,52],[88,52],[89,52],[86,52],[90,52],[91,52],[92,52],[93,52],[94,52],[96,52],[95,52],[97,52],[98,52],[100,52],[102,52],[103,52],[104,52],[106,52],[107,52],[108,52],[110,69],[118,70],[109,52],[153,71],[119,52],[124,52],[120,52],[121,52],[122,52],[123,52],[125,52],[126,52],[128,52],[127,52],[129,52],[130,52],[149,52],[150,52],[132,52],[133,52],[134,52],[135,52],[136,52],[137,52],[138,52],[140,52],[141,52],[142,52],[143,52],[146,52],[147,52],[148,72],[326,73],[325,74],[327,75],[371,76],[370,52],[369,77],[372,78],[374,79],[375,79],[373,80],[324,81],[377,82],[376,83],[378,84],[381,85],[382,86],[380,87],[484,88],[239,89],[238,90],[235,91],[236,92],[234,93],[386,94],[75,95],[477,96],[479,97],[480,98],[490,99],[488,100],[487,101],[489,102],[388,103],[389,103],[424,104],[425,105],[426,106],[427,107],[428,108],[429,109],[430,110],[431,111],[432,112],[433,113],[434,113],[436,114],[435,115],[437,116],[438,117],[439,118],[423,119],[440,120],[441,121],[442,122],[475,123],[443,124],[444,125],[445,126],[446,127],[447,128],[448,129],[449,130],[450,131],[451,132],[452,133],[453,133],[454,134],[456,135],[458,136],[457,137],[459,138],[460,139],[461,140],[462,141],[463,142],[464,143],[465,144],[466,145],[467,146],[468,147],[469,148],[470,149],[471,150],[472,151],[473,152],[352,153],[353,154],[328,155],[331,155],[350,153],[351,153],[341,153],[340,156],[338,153],[333,153],[346,153],[344,153],[348,153],[332,153],[345,153],[349,153],[334,153],[335,153],[347,153],[329,153],[336,153],[337,153],[339,153],[343,153],[354,157],[342,153],[330,153],[367,158],[361,157],[363,159],[362,157],[355,157],[356,157],[358,157],[360,157],[364,159],[365,159],[357,159],[359,159],[497,160],[311,161],[322,162],[272,163],[273,163],[283,164],[271,165],[274,163],[275,163],[276,163],[277,163],[278,163],[279,163],[280,163],[281,163],[282,163],[284,166],[323,167],[318,168],[290,169],[320,170],[319,171],[317,172],[321,173],[312,174],[297,174],[310,174],[298,174],[299,174],[300,174],[301,174],[302,174],[292,175],[303,174],[293,176],[304,174],[294,174],[309,177],[296,178],[305,174],[306,174],[295,174],[307,174],[308,174],[313,179],[286,180],[288,181],[287,182],[285,183],[289,184],[265,185],[269,186],[267,187],[268,188],[314,189],[316,190],[486,191],[485,102],[406,192],[413,193],[405,192],[420,194],[397,195],[396,196],[419,197],[414,198],[417,199],[399,200],[398,201],[394,202],[393,203],[416,204],[395,205],[400,206],[404,206],[422,207],[421,206],[408,208],[409,209],[411,210],[407,211],[410,212],[415,197],[402,213],[403,214],[412,215],[392,216],[418,217],[215,218],[155,219],[173,59],[175,220]],"latestChangedDtsFile":"../../dts/eslint/babel-eslint-parser/src/worker/index.d.cts"},"version":"5.5.3"} \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/generator/lib/generators/expressions.js b/tools/eslint/node_modules/@babel/generator/lib/generators/expressions.js index 686ee902e433d4..cd89407d8785b7 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/generators/expressions.js +++ b/tools/eslint/node_modules/@babel/generator/lib/generators/expressions.js @@ -31,6 +31,7 @@ exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; exports.YieldExpression = YieldExpression; exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport; var _t = require("@babel/types"); +var _index = require("../node/index.js"); const { isCallExpression, isLiteral, @@ -204,13 +205,16 @@ function EmptyStatement() { this.semicolon(true); } function ExpressionStatement(node) { + this.tokenContext |= _index.TokenContext.expressionStatement; this.print(node.expression, node); this.semicolon(); } function AssignmentPattern(node) { this.print(node.left, node); - if (node.left.optional) this.tokenChar(63); - this.print(node.left.typeAnnotation, node); + if (node.left.type === "Identifier") { + if (node.left.optional) this.tokenChar(63); + this.print(node.left.typeAnnotation, node); + } this.space(); this.tokenChar(61); this.space(); diff --git a/tools/eslint/node_modules/@babel/generator/lib/generators/flow.js b/tools/eslint/node_modules/@babel/generator/lib/generators/flow.js index 18c170097440ca..08ab6bb73cd0d3 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/generators/flow.js +++ b/tools/eslint/node_modules/@babel/generator/lib/generators/flow.js @@ -79,6 +79,7 @@ exports._interfaceish = _interfaceish; exports._variance = _variance; var _t = require("@babel/types"); var _modules = require("./modules.js"); +var _index = require("../node/index.js"); var _types2 = require("./types.js"); const { isDeclareExportDeclaration, @@ -464,10 +465,14 @@ function TypeAlias(node) { this.print(node.right, node); this.semicolon(); } -function TypeAnnotation(node) { +function TypeAnnotation(node, parent) { this.tokenChar(58); this.space(); - if (node.optional) this.tokenChar(63); + if (parent.type === "ArrowFunctionExpression") { + this.tokenContext |= _index.TokenContext.arrowFlowReturnType; + } else if (node.optional) { + this.tokenChar(63); + } this.print(node.typeAnnotation, node); } function TypeParameterInstantiation(node) { diff --git a/tools/eslint/node_modules/@babel/generator/lib/generators/methods.js b/tools/eslint/node_modules/@babel/generator/lib/generators/methods.js index 8246e8b95f5f35..14a573a51b3405 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/generators/methods.js +++ b/tools/eslint/node_modules/@babel/generator/lib/generators/methods.js @@ -12,6 +12,7 @@ exports._parameters = _parameters; exports._params = _params; exports._predicate = _predicate; var _t = require("@babel/types"); +var _index = require("../node/index.js"); const { isIdentifier } = _t; @@ -126,6 +127,7 @@ function ArrowFunctionExpression(node, parent) { this.printInnerComments(); this.token("=>"); this.space(); + this.tokenContext |= _index.TokenContext.arrowBody; this.print(node.body, node); } function hasTypesOrComments(node, param) { diff --git a/tools/eslint/node_modules/@babel/generator/lib/generators/modules.js b/tools/eslint/node_modules/@babel/generator/lib/generators/modules.js index 8e77f32a3b0804..a93f13805c3eac 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/generators/modules.js +++ b/tools/eslint/node_modules/@babel/generator/lib/generators/modules.js @@ -17,6 +17,7 @@ exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; exports.ImportSpecifier = ImportSpecifier; exports._printAttributes = _printAttributes; var _t = require("@babel/types"); +var _index = require("../node/index.js"); const { isClassDeclaration, isExportDefaultSpecifier, @@ -182,6 +183,7 @@ function ExportDefaultDeclaration(node) { this.space(); this.word("default"); this.space(); + this.tokenContext |= _index.TokenContext.exportDefault; const declar = node.declaration; this.print(declar, node); if (!isStatement(declar)) this.semicolon(); diff --git a/tools/eslint/node_modules/@babel/generator/lib/generators/statements.js b/tools/eslint/node_modules/@babel/generator/lib/generators/statements.js index ca0c662a14ae81..246d887d7922f7 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/generators/statements.js +++ b/tools/eslint/node_modules/@babel/generator/lib/generators/statements.js @@ -22,6 +22,7 @@ exports.VariableDeclarator = VariableDeclarator; exports.WhileStatement = WhileStatement; exports.WithStatement = WithStatement; var _t = require("@babel/types"); +var _index = require("../node/index.js"); const { isFor, isForStatement, @@ -77,6 +78,7 @@ function ForStatement(node) { this.tokenChar(40); { const exit = this.enterForStatementInit(true); + this.tokenContext |= _index.TokenContext.forHead; this.print(node.init, node); exit(); } @@ -113,6 +115,7 @@ function ForXStatement(node) { this.tokenChar(40); { const exit = isForOf ? null : this.enterForStatementInit(true); + this.tokenContext |= isForOf ? _index.TokenContext.forOfHead : _index.TokenContext.forInHead; this.print(node.left, node); exit == null || exit(); } diff --git a/tools/eslint/node_modules/@babel/generator/lib/node/index.js b/tools/eslint/node_modules/@babel/generator/lib/node/index.js index 984850c7d182f6..b56405097af342 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/node/index.js +++ b/tools/eslint/node_modules/@babel/generator/lib/node/index.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); +exports.TokenContext = void 0; exports.needsParens = needsParens; exports.needsWhitespace = needsWhitespace; exports.needsWhitespaceAfter = needsWhitespaceAfter; @@ -19,6 +20,15 @@ const { isNewExpression, isParenthesizedExpression } = _t; +const TokenContext = exports.TokenContext = { + expressionStatement: 1, + arrowBody: 2, + exportDefault: 4, + forHead: 8, + forInHead: 16, + forOfHead: 32, + arrowFlowReturnType: 64 +}; function expandAliases(obj) { const map = new Map(); function add(type, func) { @@ -66,7 +76,7 @@ function needsWhitespaceBefore(node, parent) { function needsWhitespaceAfter(node, parent) { return needsWhitespace(node, parent, 2); } -function needsParens(node, parent, printStack, inForInit) { +function needsParens(node, parent, tokenContext, inForInit) { var _expandedParens$get; if (!parent) return false; if (isNewExpression(parent) && parent.callee === node) { @@ -75,7 +85,7 @@ function needsParens(node, parent, printStack, inForInit) { if (isDecorator(parent)) { return !isDecoratorMemberExpression(node) && !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) && !isParenthesizedExpression(node); } - return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, printStack, inForInit); + return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, inForInit); } function isDecoratorMemberExpression(node) { switch (node.type) { diff --git a/tools/eslint/node_modules/@babel/generator/lib/node/parentheses.js b/tools/eslint/node_modules/@babel/generator/lib/node/parentheses.js index c6916013cbe88b..cb59597696b2da 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/node/parentheses.js +++ b/tools/eslint/node_modules/@babel/generator/lib/node/parentheses.js @@ -19,18 +19,18 @@ exports.ObjectExpression = ObjectExpression; exports.OptionalIndexedAccessType = OptionalIndexedAccessType; exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; exports.SequenceExpression = SequenceExpression; -exports.TSTypeAssertion = exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; +exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; exports.TSInferType = TSInferType; exports.TSInstantiationExpression = TSInstantiationExpression; +exports.UnaryLike = exports.TSTypeAssertion = UnaryLike; exports.TSIntersectionType = exports.TSUnionType = TSUnionType; -exports.UnaryLike = UnaryLike; exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; exports.UpdateExpression = UpdateExpression; exports.AwaitExpression = exports.YieldExpression = YieldExpression; var _t = require("@babel/types"); +var _index = require("./index.js"); const { isArrayTypeAnnotation, - isArrowFunctionExpression, isBinaryExpression, isCallExpression, isExportDeclaration, @@ -42,6 +42,14 @@ const { isYieldExpression } = _t; const PRECEDENCE = new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], ["!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], ["-", 8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]); +function getBinaryPrecedence(node, nodeType) { + if (nodeType === "BinaryExpression" || nodeType === "LogicalExpression") { + return PRECEDENCE.get(node.operator); + } + if (nodeType === "TSAsExpression" || nodeType === "TSSatisfiesExpression") { + return PRECEDENCE.get("in"); + } +} function isTSTypeExpression(nodeType) { return nodeType === "TSAsExpression" || nodeType === "TSSatisfiesExpression" || nodeType === "TSTypeAssertion"; } @@ -56,23 +64,22 @@ const hasPostfixPart = (node, parent) => { function NullableTypeAnnotation(node, parent) { return isArrayTypeAnnotation(parent); } -function FunctionTypeAnnotation(node, parent, printStack) { - if (printStack.length < 3) return; +function FunctionTypeAnnotation(node, parent, tokenContext) { const parentType = parent.type; - return parentType === "UnionTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "ArrayTypeAnnotation" || parentType === "TypeAnnotation" && isArrowFunctionExpression(printStack[printStack.length - 3]); + return parentType === "UnionTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "ArrayTypeAnnotation" || Boolean(tokenContext & _index.TokenContext.arrowFlowReturnType); } function UpdateExpression(node, parent) { return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent); } -function ObjectExpression(node, parent, printStack) { - return isFirstInContext(printStack, 1 | 2); +function ObjectExpression(node, parent, tokenContext) { + return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.arrowBody)); } -function DoExpression(node, parent, printStack) { - return !node.async && isFirstInContext(printStack, 1); +function DoExpression(node, parent, tokenContext) { + return !node.async && Boolean(tokenContext & _index.TokenContext.expressionStatement); } function Binary(node, parent) { const parentType = parent.type; - if (node.operator === "**" && parentType === "BinaryExpression" && parent.operator === "**") { + if (node.type === "BinaryExpression" && node.operator === "**" && parentType === "BinaryExpression" && parent.operator === "**") { return parent.left === node; } if (isClassExtendsClause(node, parent)) { @@ -81,10 +88,10 @@ function Binary(node, parent) { if (hasPostfixPart(node, parent) || parentType === "UnaryExpression" || parentType === "SpreadElement" || parentType === "AwaitExpression") { return true; } - if (parentType === "BinaryExpression" || parentType === "LogicalExpression") { - const parentPos = PRECEDENCE.get(parent.operator); - const nodePos = PRECEDENCE.get(node.operator); - if (parentPos === nodePos && parent.right === node && parentType !== "LogicalExpression" || parentPos > nodePos) { + const parentPos = getBinaryPrecedence(parent, parentType); + if (parentPos != null) { + const nodePos = getBinaryPrecedence(node, node.type); + if (parentPos === nodePos && parentType === "BinaryExpression" && parent.right === node || parentPos > nodePos) { return true; } } @@ -97,8 +104,14 @@ function UnionTypeAnnotation(node, parent) { function OptionalIndexedAccessType(node, parent) { return isIndexedAccessType(parent) && parent.objectType === node; } -function TSAsExpression() { - return true; +function TSAsExpression(node, parent) { + if ((parent.type === "AssignmentExpression" || parent.type === "AssignmentPattern") && parent.left === node) { + return true; + } + if (parent.type === "BinaryExpression" && (parent.operator === "|" || parent.operator === "&") && node === parent.left) { + return true; + } + return Binary(node, parent); } function TSUnionType(node, parent) { const parentType = parent.type; @@ -112,7 +125,7 @@ function TSInstantiationExpression(node, parent) { const parentType = parent.type; return (parentType === "CallExpression" || parentType === "OptionalCallExpression" || parentType === "NewExpression" || parentType === "TSInstantiationExpression") && !!parent.typeParameters; } -function BinaryExpression(node, parent, stack, inForStatementInit) { +function BinaryExpression(node, parent, tokenContext, inForStatementInit) { return node.operator === "in" && inForStatementInit; } function SequenceExpression(node, parent) { @@ -126,14 +139,14 @@ function YieldExpression(node, parent) { const parentType = parent.type; return parentType === "BinaryExpression" || parentType === "LogicalExpression" || parentType === "UnaryExpression" || parentType === "SpreadElement" || hasPostfixPart(node, parent) || parentType === "AwaitExpression" && isYieldExpression(node) || parentType === "ConditionalExpression" && node === parent.test || isClassExtendsClause(node, parent) || isTSTypeExpression(parentType); } -function ClassExpression(node, parent, printStack) { - return isFirstInContext(printStack, 1 | 4); +function ClassExpression(node, parent, tokenContext) { + return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault)); } function UnaryLike(node, parent) { return hasPostfixPart(node, parent) || isBinaryExpression(parent) && parent.operator === "**" && parent.left === node || isClassExtendsClause(node, parent); } -function FunctionExpression(node, parent, printStack) { - return isFirstInContext(printStack, 1 | 4); +function FunctionExpression(node, parent, tokenContext) { + return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault)); } function ArrowFunctionExpression(node, parent) { return isExportDeclaration(parent) || ConditionalExpression(node, parent); @@ -168,7 +181,7 @@ function LogicalExpression(node, parent) { return parent.operator !== "??"; } } -function Identifier(node, parent, printStack) { +function Identifier(node, parent, tokenContext) { var _node$extra; const parentType = parent.type; if ((_node$extra = node.extra) != null && _node$extra.parenthesized && parentType === "AssignmentExpression" && parent.left === node) { @@ -186,39 +199,15 @@ function Identifier(node, parent, printStack) { computed: true, optional: false }); - return isFirstInContext(printStack, isFollowedByBracket ? 1 | 8 | 16 | 32 : 32); + if (isFollowedByBracket && tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.forHead | _index.TokenContext.forInHead)) { + return true; + } + return Boolean(tokenContext & _index.TokenContext.forOfHead); } return node.name === "async" && isForOfStatement(parent, { left: node, await: false }); } -function isFirstInContext(printStack, checkParam) { - const expressionStatement = checkParam & 1; - const arrowBody = checkParam & 2; - const exportDefault = checkParam & 4; - const forHead = checkParam & 8; - const forInHead = checkParam & 16; - const forOfHead = checkParam & 32; - let i = printStack.length - 1; - if (i <= 0) return; - let node = printStack[i]; - i--; - let parent = printStack[i]; - while (i >= 0) { - const parentType = parent.type; - if (expressionStatement && parentType === "ExpressionStatement" && parent.expression === node || exportDefault && parentType === "ExportDefaultDeclaration" && node === parent.declaration || arrowBody && parentType === "ArrowFunctionExpression" && parent.body === node || forHead && parentType === "ForStatement" && parent.init === node || forInHead && parentType === "ForInStatement" && parent.left === node || forOfHead && parentType === "ForOfStatement" && parent.left === node) { - return true; - } - if (i > 0 && (hasPostfixPart(node, parent) && parentType !== "NewExpression" || parentType === "SequenceExpression" && parent.expressions[0] === node || parentType === "UpdateExpression" && !parent.prefix || parentType === "ConditionalExpression" && parent.test === node || (parentType === "BinaryExpression" || parentType === "LogicalExpression") && parent.left === node || parentType === "AssignmentExpression" && parent.left === node)) { - node = parent; - i--; - parent = printStack[i]; - } else { - return false; - } - } - return false; -} //# sourceMappingURL=parentheses.js.map diff --git a/tools/eslint/node_modules/@babel/generator/lib/printer.js b/tools/eslint/node_modules/@babel/generator/lib/printer.js index 5e825fb078252a..c60b3fd6bc3111 100644 --- a/tools/eslint/node_modules/@babel/generator/lib/printer.js +++ b/tools/eslint/node_modules/@babel/generator/lib/printer.js @@ -25,7 +25,8 @@ const { class Printer { constructor(format, map) { this.inForStatementInit = false; - this._printStack = []; + this.tokenContext = 0; + this._currentNode = null; this._indent = 0; this._indentRepeat = 0; this._insideAux = false; @@ -96,6 +97,7 @@ class Printer { } } word(str, noLineTerminatorAfter = false) { + this.tokenContext = 0; this._maybePrintInnerComments(); if (this._endsWithWord || str.charCodeAt(0) === 47 && this.endsWith(47)) { this._space(); @@ -117,6 +119,7 @@ class Printer { this._endsWithInteger = Number.isInteger(number) && !isNonDecimalLiteral(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46; } token(str, maybeNewline = false) { + this.tokenContext = 0; this._maybePrintInnerComments(); const lastChar = this.getLastChar(); const strFirst = str.charCodeAt(0); @@ -128,6 +131,7 @@ class Printer { this._noLineTerminator = false; } tokenChar(char) { + this.tokenContext = 0; this._maybePrintInnerComments(); const lastChar = this.getLastChar(); if (char === 43 && lastChar === 43 || char === 45 && lastChar === 45 || char === 46 && this._endsWithInteger) { @@ -319,12 +323,13 @@ class Printer { if (printMethod === undefined) { throw new ReferenceError(`unknown node of type ${JSON.stringify(nodeType)} with constructor ${JSON.stringify(node.constructor.name)}`); } - this._printStack.push(node); + const oldNode = this._currentNode; + this._currentNode = node; const oldInAux = this._insideAux; this._insideAux = node.loc == null; this._maybeAddAuxComment(this._insideAux && !oldInAux); const parenthesized = (_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized; - let shouldPrintParens = forceParens || parenthesized && format.retainFunctionParens && nodeType === "FunctionExpression" || needsParens(node, parent, this._printStack, this.inForStatementInit); + let shouldPrintParens = forceParens || parenthesized && format.retainFunctionParens && nodeType === "FunctionExpression" || needsParens(node, parent, this.tokenContext, this.inForStatementInit); if (!shouldPrintParens && parenthesized && (_node$leadingComments = node.leadingComments) != null && _node$leadingComments.length && node.leadingComments[0].type === "CommentBlock") { const parentType = parent == null ? void 0 : parent.type; switch (parentType) { @@ -362,7 +367,7 @@ class Printer { } else { this._printTrailingComments(node, parent, trailingCommentsLineOffset); } - this._printStack.pop(); + this._currentNode = oldNode; format.concise = oldConcise; this._insideAux = oldInAux; this._endsWithInnerRaw = false; @@ -478,7 +483,7 @@ class Printer { this._indentInnerComments = true; } printInnerComments() { - const node = this._printStack[this._printStack.length - 1]; + const node = this._currentNode; const comments = node.innerComments; if (!(comments != null && comments.length)) return; const hasSpace = this.endsWith(32); diff --git a/tools/eslint/node_modules/@babel/generator/package.json b/tools/eslint/node_modules/@babel/generator/package.json index dd8262c54550dd..dd6b495c2e2bc0 100644 --- a/tools/eslint/node_modules/@babel/generator/package.json +++ b/tools/eslint/node_modules/@babel/generator/package.json @@ -1,6 +1,6 @@ { "name": "@babel/generator", - "version": "7.24.8", + "version": "7.25.0", "description": "Turns an AST into code.", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", @@ -19,14 +19,14 @@ "lib" ], "dependencies": { - "@babel/types": "^7.24.8", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "devDependencies": { "@babel/helper-fixtures": "^7.24.8", - "@babel/parser": "^7.24.8", + "@babel/parser": "^7.25.0", "@jridgewell/sourcemap-codec": "^1.4.15", "@types/jsesc": "^2.5.0", "charcodes": "^0.2.0" diff --git a/tools/eslint/node_modules/@babel/helper-environment-visitor/LICENSE b/tools/eslint/node_modules/@babel/helper-environment-visitor/LICENSE deleted file mode 100644 index f31575ec773bb1..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-environment-visitor/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/eslint/node_modules/@babel/helper-environment-visitor/lib/index.js b/tools/eslint/node_modules/@babel/helper-environment-visitor/lib/index.js deleted file mode 100644 index fb796ca3e15956..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-environment-visitor/lib/index.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -exports.requeueComputedKeyAndDecorators = requeueComputedKeyAndDecorators; -{ - exports.skipAllButComputedKey = function skipAllButComputedKey(path) { - path.skip(); - if (path.node.computed) { - path.context.maybeQueue(path.get("key")); - } - }; -} -function requeueComputedKeyAndDecorators(path) { - const { - context, - node - } = path; - if (node.computed) { - context.maybeQueue(path.get("key")); - } - if (node.decorators) { - for (const decorator of path.get("decorators")) { - context.maybeQueue(decorator); - } - } -} -const visitor = { - FunctionParent(path) { - if (path.isArrowFunctionExpression()) { - return; - } else { - path.skip(); - if (path.isMethod()) { - requeueComputedKeyAndDecorators(path); - } - } - }, - Property(path) { - if (path.isObjectProperty()) { - return; - } - path.skip(); - requeueComputedKeyAndDecorators(path); - } -}; -var _default = exports.default = visitor; - -//# sourceMappingURL=index.js.map diff --git a/tools/eslint/node_modules/@babel/helper-environment-visitor/package.json b/tools/eslint/node_modules/@babel/helper-environment-visitor/package.json deleted file mode 100644 index 2938602b4358c5..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-environment-visitor/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@babel/helper-environment-visitor", - "version": "7.24.7", - "description": "Helper visitor to only visit nodes in the current 'this' context", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel.git", - "directory": "packages/babel-helper-environment-visitor" - }, - "homepage": "https://babel.dev/docs/en/next/babel-helper-environment-visitor", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "main": "./lib/index.js", - "exports": { - ".": { - "types": "./lib/index.d.ts", - "default": "./lib/index.js" - }, - "./package.json": "./package.json" - }, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "devDependencies": { - "@babel/traverse": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "author": "The Babel Team (https://babel.dev/team)", - "type": "commonjs" -} \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/helper-function-name/LICENSE b/tools/eslint/node_modules/@babel/helper-function-name/LICENSE deleted file mode 100644 index f31575ec773bb1..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-function-name/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/eslint/node_modules/@babel/helper-function-name/lib/index.js b/tools/eslint/node_modules/@babel/helper-function-name/lib/index.js deleted file mode 100644 index 2f0ead7ff43424..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-function-name/lib/index.js +++ /dev/null @@ -1,170 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; -var _template = require("@babel/template"); -var _t = require("@babel/types"); -const { - NOT_LOCAL_BINDING, - cloneNode, - identifier, - isAssignmentExpression, - isAssignmentPattern, - isFunction, - isIdentifier, - isLiteral, - isNullLiteral, - isObjectMethod, - isObjectProperty, - isRegExpLiteral, - isRestElement, - isTemplateLiteral, - isVariableDeclarator, - toBindingIdentifierName -} = _t; -function getFunctionArity(node) { - const count = node.params.findIndex(param => isAssignmentPattern(param) || isRestElement(param)); - return count === -1 ? node.params.length : count; -} -const buildPropertyMethodAssignmentWrapper = _template.default.statement(` - (function (FUNCTION_KEY) { - function FUNCTION_ID() { - return FUNCTION_KEY.apply(this, arguments); - } - - FUNCTION_ID.toString = function () { - return FUNCTION_KEY.toString(); - } - - return FUNCTION_ID; - })(FUNCTION) -`); -const buildGeneratorPropertyMethodAssignmentWrapper = _template.default.statement(` - (function (FUNCTION_KEY) { - function* FUNCTION_ID() { - return yield* FUNCTION_KEY.apply(this, arguments); - } - - FUNCTION_ID.toString = function () { - return FUNCTION_KEY.toString(); - }; - - return FUNCTION_ID; - })(FUNCTION) -`); -const visitor = { - "ReferencedIdentifier|BindingIdentifier"(path, state) { - if (path.node.name !== state.name) return; - const localDeclar = path.scope.getBindingIdentifier(state.name); - if (localDeclar !== state.outerDeclar) return; - state.selfReference = true; - path.stop(); - } -}; -function getNameFromLiteralId(id) { - if (isNullLiteral(id)) { - return "null"; - } - if (isRegExpLiteral(id)) { - return `_${id.pattern}_${id.flags}`; - } - if (isTemplateLiteral(id)) { - return id.quasis.map(quasi => quasi.value.raw).join(""); - } - if (id.value !== undefined) { - return id.value + ""; - } - return ""; -} -function wrap(state, method, id, scope) { - if (state.selfReference) { - if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) { - scope.rename(id.name); - } else { - if (!isFunction(method)) return; - let build = buildPropertyMethodAssignmentWrapper; - if (method.generator) { - build = buildGeneratorPropertyMethodAssignmentWrapper; - } - const template = build({ - FUNCTION: method, - FUNCTION_ID: id, - FUNCTION_KEY: scope.generateUidIdentifier(id.name) - }).expression; - const params = template.callee.body.body[0].params; - for (let i = 0, len = getFunctionArity(method); i < len; i++) { - params.push(scope.generateUidIdentifier("x")); - } - return template; - } - } - method.id = id; - scope.getProgramParent().references[id.name] = true; -} -function visit(node, name, scope) { - const state = { - selfAssignment: false, - selfReference: false, - outerDeclar: scope.getBindingIdentifier(name), - name: name - }; - const binding = scope.getOwnBinding(name); - if (binding) { - if (binding.kind === "param") { - state.selfReference = true; - } else {} - } else if (state.outerDeclar || scope.hasGlobal(name)) { - scope.traverse(node, visitor, state); - } - return state; -} -function _default({ - node, - parent, - scope, - id -}, localBinding = false, supportUnicodeId = false) { - if (node.id) return; - if ((isObjectProperty(parent) || isObjectMethod(parent, { - kind: "method" - })) && (!parent.computed || isLiteral(parent.key))) { - id = parent.key; - } else if (isVariableDeclarator(parent)) { - id = parent.id; - if (isIdentifier(id) && !localBinding) { - const binding = scope.parent.getBinding(id.name); - if (binding && binding.constant && scope.getBinding(id.name) === binding) { - node.id = cloneNode(id); - node.id[NOT_LOCAL_BINDING] = true; - return; - } - } - } else if (isAssignmentExpression(parent, { - operator: "=" - })) { - id = parent.left; - } else if (!id) { - return; - } - let name; - if (id && isLiteral(id)) { - name = getNameFromLiteralId(id); - } else if (id && isIdentifier(id)) { - name = id.name; - } - if (name === undefined) { - return; - } - if (!supportUnicodeId && isFunction(node) && /[\uD800-\uDFFF]/.test(name)) { - return; - } - name = toBindingIdentifierName(name); - const newId = identifier(name); - newId[NOT_LOCAL_BINDING] = true; - const state = visit(node, name, scope); - return wrap(state, node, newId, scope) || node; -} - -//# sourceMappingURL=index.js.map diff --git a/tools/eslint/node_modules/@babel/helper-function-name/package.json b/tools/eslint/node_modules/@babel/helper-function-name/package.json deleted file mode 100644 index 0015ea8bfadab2..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-function-name/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@babel/helper-function-name", - "version": "7.24.7", - "description": "Helper function to change the property 'name' of every function", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel.git", - "directory": "packages/babel-helper-function-name" - }, - "homepage": "https://babel.dev/docs/en/next/babel-helper-function-name", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "main": "./lib/index.js", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "devDependencies": { - "@babel/traverse": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "author": "The Babel Team (https://babel.dev/team)", - "type": "commonjs" -} \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/helper-hoist-variables/LICENSE b/tools/eslint/node_modules/@babel/helper-hoist-variables/LICENSE deleted file mode 100644 index f31575ec773bb1..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-hoist-variables/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/eslint/node_modules/@babel/helper-hoist-variables/lib/index.js b/tools/eslint/node_modules/@babel/helper-hoist-variables/lib/index.js deleted file mode 100644 index 06c4d5c8d49ff0..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-hoist-variables/lib/index.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = hoistVariables; -var _t = require("@babel/types"); -const { - assignmentExpression, - expressionStatement, - identifier -} = _t; -const visitor = { - Scope(path, state) { - if (state.kind === "let") path.skip(); - }, - FunctionParent(path) { - path.skip(); - }, - VariableDeclaration(path, state) { - if (state.kind && path.node.kind !== state.kind) return; - const nodes = []; - const declarations = path.get("declarations"); - let firstId; - for (const declar of declarations) { - firstId = declar.node.id; - if (declar.node.init) { - nodes.push(expressionStatement(assignmentExpression("=", declar.node.id, declar.node.init))); - } - for (const name of Object.keys(declar.getBindingIdentifiers())) { - state.emit(identifier(name), name, declar.node.init !== null); - } - } - if (path.parentPath.isFor({ - left: path.node - })) { - path.replaceWith(firstId); - } else { - path.replaceWithMultiple(nodes); - } - } -}; -function hoistVariables(path, emit, kind = "var") { - path.traverse(visitor, { - kind, - emit - }); -} - -//# sourceMappingURL=index.js.map diff --git a/tools/eslint/node_modules/@babel/helper-hoist-variables/package.json b/tools/eslint/node_modules/@babel/helper-hoist-variables/package.json deleted file mode 100644 index a9ae264d1adfb5..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-hoist-variables/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@babel/helper-hoist-variables", - "version": "7.24.7", - "description": "Helper function to hoist variables", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel.git", - "directory": "packages/babel-helper-hoist-variables" - }, - "homepage": "https://babel.dev/docs/en/next/babel-helper-hoist-variables", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "main": "./lib/index.js", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "devDependencies": { - "@babel/traverse": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "author": "The Babel Team (https://babel.dev/team)", - "type": "commonjs" -} \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/index.js b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/index.js index 35a44be5890fb5..ac884d257327f3 100644 --- a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/index.js +++ b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/index.js @@ -52,21 +52,6 @@ var _normalizeAndLoadMetadata = require("./normalize-and-load-metadata.js"); var Lazy = require("./lazy-modules.js"); var _dynamicImport = require("./dynamic-import.js"); var _getModuleName = require("./get-module-name.js"); -const { - booleanLiteral, - callExpression, - cloneNode, - directive, - directiveLiteral, - expressionStatement, - identifier, - isIdentifier, - memberExpression, - stringLiteral, - valueToNode, - variableDeclaration, - variableDeclarator -} = _core.types; { exports.getDynamicImportSource = require("./dynamic-import").getDynamicImportSource; } @@ -105,7 +90,7 @@ function rewriteModuleStatementsAndPrepareHeader(path, { return directive.value.value === "use strict"; }); if (!hasStrict) { - path.unshiftContainer("directives", directive(directiveLiteral("use strict"))); + path.unshiftContainer("directives", _core.types.directive(_core.types.directiveLiteral("use strict"))); } } const headers = []; @@ -133,7 +118,7 @@ function wrapInterop(programPath, expr, type) { return null; } if (type === "node-namespace") { - return callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, booleanLiteral(true)]); + return _core.types.callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, _core.types.booleanLiteral(true)]); } else if (type === "node-default") { return null; } @@ -145,17 +130,17 @@ function wrapInterop(programPath, expr, type) { } else { throw new Error(`Unknown interop: ${type}`); } - return callExpression(programPath.hub.addHelper(helper), [expr]); + return _core.types.callExpression(programPath.hub.addHelper(helper), [expr]); } function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports = false, wrapReference = Lazy.wrapReference) { var _wrapReference; const statements = []; - const srcNamespaceId = identifier(sourceMetadata.name); + const srcNamespaceId = _core.types.identifier(sourceMetadata.name); for (const localName of sourceMetadata.importsNamespace) { if (localName === sourceMetadata.name) continue; statements.push(_core.template.statement`var NAME = SOURCE;`({ NAME: localName, - SOURCE: cloneNode(srcNamespaceId) + SOURCE: _core.types.cloneNode(srcNamespaceId) })); } const srcNamespace = (_wrapReference = wrapReference(srcNamespaceId, sourceMetadata.wrap)) != null ? _wrapReference : srcNamespaceId; @@ -173,48 +158,64 @@ function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexport ` : _core.template.statement`EXPORTS.NAME = NAMESPACE;`)({ EXPORTS: metadata.exportName, NAME: exportName, - NAMESPACE: cloneNode(srcNamespace) + NAMESPACE: _core.types.cloneNode(srcNamespace) })); } if (sourceMetadata.reexportAll) { - const statement = buildNamespaceReexport(metadata, cloneNode(srcNamespace), constantReexports); + const statement = buildNamespaceReexport(metadata, _core.types.cloneNode(srcNamespace), constantReexports); statement.loc = sourceMetadata.reexportAll.loc; statements.push(statement); } return statements; } const ReexportTemplate = { - constant: _core.template.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`, - constantComputed: _core.template.statement`EXPORTS["EXPORT_NAME"] = NAMESPACE_IMPORT;`, - spec: _core.template.statement` - Object.defineProperty(EXPORTS, "EXPORT_NAME", { - enumerable: true, - get: function() { - return NAMESPACE_IMPORT; - }, - }); + constant: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + ${exports}.${exportName} = ${namespaceImport}; + `, + constantComputed: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + ${exports}["${exportName}"] = ${namespaceImport}; + `, + spec: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + Object.defineProperty(${exports}, "${exportName}", { + enumerable: true, + get: function() { + return ${namespaceImport}; + }, + }); ` }; function buildReexportsFromMeta(meta, metadata, constantReexports, wrapReference) { var _wrapReference2; - let namespace = identifier(metadata.name); + let namespace = _core.types.identifier(metadata.name); namespace = (_wrapReference2 = wrapReference(namespace, metadata.wrap)) != null ? _wrapReference2 : namespace; const { stringSpecifiers } = meta; return Array.from(metadata.reexports, ([exportName, importName]) => { - let NAMESPACE_IMPORT = cloneNode(namespace); + let namespaceImport = _core.types.cloneNode(namespace); if (importName === "default" && metadata.interop === "node-default") {} else if (stringSpecifiers.has(importName)) { - NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, stringLiteral(importName), true); + namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.stringLiteral(importName), true); } else { - NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, identifier(importName)); + namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.identifier(importName)); } const astNodes = { - EXPORTS: meta.exportName, - EXPORT_NAME: exportName, - NAMESPACE_IMPORT + exports: meta.exportName, + exportName, + namespaceImport }; - if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) { + if (constantReexports || _core.types.isIdentifier(namespaceImport)) { if (stringSpecifiers.has(exportName)) { return ReexportTemplate.constantComputed(astNodes); } else { @@ -290,14 +291,14 @@ function buildExportNameListDeclaration(programPath, metadata) { delete exportedVars.default; return { name: name.name, - statement: variableDeclaration("var", [variableDeclarator(name, valueToNode(exportedVars))]) + statement: _core.types.variableDeclaration("var", [_core.types.variableDeclarator(name, _core.types.valueToNode(exportedVars))]) }; } function buildExportInitializationStatements(programPath, metadata, wrapReference, constantReexports = false, noIncompleteNsImportDetection = false) { const initStatements = []; for (const [localName, data] of metadata.local) { if (data.kind === "import") {} else if (data.kind === "hoisted") { - initStatements.push([data.names[0], buildInitStatement(metadata, data.names, identifier(localName))]); + initStatements.push([data.names[0], buildInitStatement(metadata, data.names, _core.types.identifier(localName))]); } else if (!noIncompleteNsImportDetection) { for (const exportName of data.names) { initStatements.push([exportName, null]); @@ -352,25 +353,42 @@ function buildExportInitializationStatements(programPath, metadata, wrapReferenc return results; } const InitTemplate = { - computed: _core.template.expression`EXPORTS["NAME"] = VALUE`, - default: _core.template.expression`EXPORTS.NAME = VALUE`, - define: _core.template.expression`Object.defineProperty(EXPORTS, "NAME", { enumerable:true, value: void 0, writable: true })["NAME"] = VALUE` + computed: ({ + exports, + name, + value + }) => _core.template.expression.ast`${exports}["${name}"] = ${value}`, + default: ({ + exports, + name, + value + }) => _core.template.expression.ast`${exports}.${name} = ${value}`, + define: ({ + exports, + name, + value + }) => _core.template.expression.ast` + Object.defineProperty(${exports}, "${name}", { + enumerable: true, + value: void 0, + writable: true + })["${name}"] = ${value}` }; function buildInitStatement(metadata, exportNames, initExpr) { const { stringSpecifiers, - exportName: EXPORTS + exportName: exports } = metadata; - return expressionStatement(exportNames.reduce((acc, exportName) => { + return _core.types.expressionStatement(exportNames.reduce((value, name) => { const params = { - EXPORTS, - NAME: exportName, - VALUE: acc + exports, + name, + value }; - if (exportName === "__proto__") { + if (name === "__proto__") { return InitTemplate.define(params); } - if (stringSpecifiers.has(exportName)) { + if (stringSpecifiers.has(name)) { return InitTemplate.computed(params); } return InitTemplate.default(params); diff --git a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js index 35d6757d24a69c..00b0a531fa6741 100644 --- a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js +++ b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js @@ -9,7 +9,6 @@ exports.isSideEffectImport = isSideEffectImport; exports.validateImportInteropOption = validateImportInteropOption; var _path = require("path"); var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); -var _helperSplitExportDeclaration = require("@babel/helper-split-export-declaration"); function hasExports(metadata) { return metadata.hasExports; } @@ -327,7 +326,11 @@ function getLocalExportMetadata(programPath, initializeReexports, stringSpecifie function nameAnonymousExports(programPath) { programPath.get("body").forEach(child => { if (!child.isExportDefaultDeclaration()) return; - (0, _helperSplitExportDeclaration.default)(child); + { + var _child$splitExportDec; + (_child$splitExportDec = child.splitExportDeclaration) != null ? _child$splitExportDec : child.splitExportDeclaration = require("@babel/traverse").NodePath.prototype.splitExportDeclaration; + } + child.splitExportDeclaration(); }); } function removeImportExportDeclarations(programPath) { diff --git a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js index 6ada457a4db5c5..d856a197769e8f 100644 --- a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js +++ b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js @@ -7,27 +7,6 @@ exports.default = rewriteLiveReferences; var _assert = require("assert"); var _core = require("@babel/core"); var _helperSimpleAccess = require("@babel/helper-simple-access"); -const { - assignmentExpression, - cloneNode, - expressionStatement, - getOuterBindingIdentifiers, - identifier, - isArrowFunctionExpression, - isClassExpression, - isFunctionExpression, - isIdentifier, - isMemberExpression, - isVariableDeclaration, - jsxIdentifier, - jsxMemberExpression, - memberExpression, - numericLiteral, - sequenceExpression, - stringLiteral, - variableDeclaration, - variableDeclarator -} = _core.types; function isInType(path) { do { switch (path.parent.type) { @@ -96,7 +75,7 @@ function rewriteLiveReferences(programPath, metadata, wrapReference) { } return identNode; } - let namespace = identifier(meta.name); + let namespace = _core.types.identifier(meta.name); if (meta.wrap) { var _wrapReference2; namespace = (_wrapReference2 = wrapReference(namespace, meta.wrap)) != null ? _wrapReference2 : namespace; @@ -105,7 +84,7 @@ function rewriteLiveReferences(programPath, metadata, wrapReference) { return namespace; } const computed = metadata.stringSpecifiers.has(importName); - return memberExpression(namespace, computed ? stringLiteral(importName) : identifier(importName), computed); + return _core.types.memberExpression(namespace, computed ? _core.types.stringLiteral(importName) : _core.types.identifier(importName), computed); } }; programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState); @@ -127,7 +106,7 @@ const rewriteBindingInitVisitor = { const localName = id.name; const exportNames = exported.get(localName) || []; if (exportNames.length > 0) { - const statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, identifier(localName), path.scope)); + const statement = _core.types.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, _core.types.identifier(localName), path.scope)); statement._blockHoist = path.node._blockHoist; requeueInParent(path.insertAfter(statement)[0]); } @@ -146,7 +125,7 @@ const rewriteBindingInitVisitor = { let { init } = decl.node; - if (isIdentifier(id) && exported.has(id.name) && !isArrowFunctionExpression(init) && (!isFunctionExpression(init) || init.id) && (!isClassExpression(init) || init.id)) { + if (_core.types.isIdentifier(id) && exported.has(id.name) && !_core.types.isArrowFunctionExpression(init) && (!_core.types.isFunctionExpression(init) || init.id) && (!_core.types.isClassExpression(init) || init.id)) { if (!init) { if (isVar) { continue; @@ -159,7 +138,7 @@ const rewriteBindingInitVisitor = { } else { for (const localName of Object.keys(decl.getOuterBindingIdentifiers())) { if (exported.has(localName)) { - const statement = expressionStatement(buildBindingExportAssignmentExpression(metadata, exported.get(localName), identifier(localName), path.scope)); + const statement = _core.types.expressionStatement(buildBindingExportAssignmentExpression(metadata, exported.get(localName), _core.types.identifier(localName), path.scope)); statement._blockHoist = path.node._blockHoist; requeueInParent(path.insertAfter(statement)[0]); } @@ -180,7 +159,7 @@ const buildBindingExportAssignmentExpression = (metadata, exportNames, localExpr stringSpecifiers } = metadata; const computed = stringSpecifiers.has(exportName); - return assignmentExpression("=", memberExpression(identifier(exportsObjectName), computed ? stringLiteral(exportName) : identifier(exportName), computed), expr); + return _core.types.assignmentExpression("=", _core.types.memberExpression(_core.types.identifier(exportsObjectName), computed ? _core.types.stringLiteral(exportName) : _core.types.identifier(exportName), computed), expr); }, localExpr); }; const buildImportThrow = localName => { @@ -218,14 +197,14 @@ const rewriteReferencesVisitor = { callee: path.node }) || path.parentPath.isTaggedTemplateExpression({ tag: path.node - })) && isMemberExpression(ref)) { - path.replaceWith(sequenceExpression([numericLiteral(0), ref])); - } else if (path.isJSXIdentifier() && isMemberExpression(ref)) { + })) && _core.types.isMemberExpression(ref)) { + path.replaceWith(_core.types.sequenceExpression([_core.types.numericLiteral(0), ref])); + } else if (path.isJSXIdentifier() && _core.types.isMemberExpression(ref)) { const { object, property } = ref; - path.replaceWith(jsxMemberExpression(jsxIdentifier(object.name), jsxIdentifier(property.name))); + path.replaceWith(_core.types.jsxMemberExpression(_core.types.jsxIdentifier(object.name), _core.types.jsxIdentifier(property.name))); } else { path.replaceWith(ref); } @@ -256,12 +235,12 @@ const rewriteReferencesVisitor = { const importData = imported.get(localName); if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) { if (importData) { - path.replaceWith(assignmentExpression(update.operator[0] + "=", buildImportReference(importData, arg.node), buildImportThrow(localName))); + path.replaceWith(_core.types.assignmentExpression(update.operator[0] + "=", buildImportReference(importData, arg.node), buildImportThrow(localName))); } else if (update.prefix) { - path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, cloneNode(update), path.scope)); + path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.cloneNode(update), path.scope)); } else { const ref = scope.generateDeclaredUidIdentifier(localName); - path.replaceWith(sequenceExpression([assignmentExpression("=", cloneNode(ref), cloneNode(update)), buildBindingExportAssignmentExpression(this.metadata, exportedNames, identifier(localName), path.scope), cloneNode(ref)])); + path.replaceWith(_core.types.sequenceExpression([_core.types.assignmentExpression("=", _core.types.cloneNode(ref), _core.types.cloneNode(update)), buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.identifier(localName), path.scope), _core.types.cloneNode(ref)])); } } } @@ -294,7 +273,7 @@ const rewriteReferencesVisitor = { const assignment = path.node; if (importData) { assignment.left = buildImportReference(importData, left.node); - assignment.right = sequenceExpression([assignment.right, buildImportThrow(localName)]); + assignment.right = _core.types.sequenceExpression([assignment.right, buildImportThrow(localName)]); } path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment, path.scope)); requeueInParent(path); @@ -304,19 +283,19 @@ const rewriteReferencesVisitor = { const programScopeIds = Object.keys(ids).filter(localName => scope.getBinding(localName) === path.scope.getBinding(localName)); const id = programScopeIds.find(localName => imported.has(localName)); if (id) { - path.node.right = sequenceExpression([path.node.right, buildImportThrow(id)]); + path.node.right = _core.types.sequenceExpression([path.node.right, buildImportThrow(id)]); } const items = []; programScopeIds.forEach(localName => { const exportedNames = exported.get(localName) || []; if (exportedNames.length > 0) { - items.push(buildBindingExportAssignmentExpression(this.metadata, exportedNames, identifier(localName), path.scope)); + items.push(buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.identifier(localName), path.scope)); } }); if (items.length > 0) { - let node = sequenceExpression(items); + let node = _core.types.sequenceExpression(items); if (path.parentPath.isExpressionStatement()) { - node = expressionStatement(node); + node = _core.types.expressionStatement(node); node._blockHoist = path.parentPath.node._blockHoist; } const statement = path.insertAfter(node)[0]; @@ -338,11 +317,11 @@ const rewriteReferencesVisitor = { imported, scope: programScope } = this; - if (!isVariableDeclaration(left)) { + if (!_core.types.isVariableDeclaration(left)) { let didTransformExport = false, importConstViolationName; const loopBodyScope = path.get("body").scope; - for (const name of Object.keys(getOuterBindingIdentifiers(left))) { + for (const name of Object.keys(_core.types.getOuterBindingIdentifiers(left))) { if (programScope.getBinding(name) === scope.getBinding(name)) { if (exported.has(name)) { didTransformExport = true; @@ -361,13 +340,13 @@ const rewriteReferencesVisitor = { path.ensureBlock(); const bodyPath = path.get("body"); const newLoopId = scope.generateUidIdentifierBasedOnNode(left); - path.get("left").replaceWith(variableDeclaration("let", [variableDeclarator(cloneNode(newLoopId))])); + path.get("left").replaceWith(_core.types.variableDeclaration("let", [_core.types.variableDeclarator(_core.types.cloneNode(newLoopId))])); scope.registerDeclaration(path.get("left")); if (didTransformExport) { - bodyPath.unshiftContainer("body", expressionStatement(assignmentExpression("=", left, newLoopId))); + bodyPath.unshiftContainer("body", _core.types.expressionStatement(_core.types.assignmentExpression("=", left, newLoopId))); } if (importConstViolationName) { - bodyPath.unshiftContainer("body", expressionStatement(buildImportThrow(importConstViolationName))); + bodyPath.unshiftContainer("body", _core.types.expressionStatement(buildImportThrow(importConstViolationName))); } } } diff --git a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js index e79d9d1b96d601..b5376524b762bf 100644 --- a/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js +++ b/tools/eslint/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js @@ -4,21 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = rewriteThis; -var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); var _core = require("@babel/core"); -const { - numericLiteral, - unaryExpression -} = _core.types; -const rewriteThisVisitor = _core.traverse.visitors.merge([_helperEnvironmentVisitor.default, { - ThisExpression(path) { - path.replaceWith(unaryExpression("void", numericLiteral(0), true)); - } -}]); +var _traverse = require("@babel/traverse"); +let rewriteThisVisitor; function rewriteThis(programPath) { - (0, _core.traverse)(programPath.node, Object.assign({}, rewriteThisVisitor, { - noScope: true - })); + if (!rewriteThisVisitor) { + rewriteThisVisitor = _traverse.visitors.environmentVisitor({ + ThisExpression(path) { + path.replaceWith(_core.types.unaryExpression("void", _core.types.numericLiteral(0), true)); + } + }); + rewriteThisVisitor.noScope = true; + } + (0, _traverse.default)(programPath.node, rewriteThisVisitor); } //# sourceMappingURL=rewrite-this.js.map diff --git a/tools/eslint/node_modules/@babel/helper-module-transforms/package.json b/tools/eslint/node_modules/@babel/helper-module-transforms/package.json index 778cc453a52273..e4fb18582a5a69 100644 --- a/tools/eslint/node_modules/@babel/helper-module-transforms/package.json +++ b/tools/eslint/node_modules/@babel/helper-module-transforms/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-module-transforms", - "version": "7.24.8", + "version": "7.25.0", "description": "Babel helper functions for implementing ES6 module transformations", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms", @@ -15,14 +15,13 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "devDependencies": { - "@babel/core": "^7.24.8" + "@babel/core": "^7.24.9" }, "peerDependencies": { "@babel/core": "^7.0.0" diff --git a/tools/eslint/node_modules/@babel/helper-split-export-declaration/LICENSE b/tools/eslint/node_modules/@babel/helper-split-export-declaration/LICENSE deleted file mode 100644 index f31575ec773bb1..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-split-export-declaration/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/eslint/node_modules/@babel/helper-split-export-declaration/lib/index.js b/tools/eslint/node_modules/@babel/helper-split-export-declaration/lib/index.js deleted file mode 100644 index 1bbc01d6defe9d..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-split-export-declaration/lib/index.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = splitExportDeclaration; -var _t = require("@babel/types"); -const { - cloneNode, - exportNamedDeclaration, - exportSpecifier, - identifier, - variableDeclaration, - variableDeclarator -} = _t; -function splitExportDeclaration(exportDeclaration) { - if (!exportDeclaration.isExportDeclaration() || exportDeclaration.isExportAllDeclaration()) { - throw new Error("Only default and named export declarations can be split."); - } - if (exportDeclaration.isExportDefaultDeclaration()) { - const declaration = exportDeclaration.get("declaration"); - const standaloneDeclaration = declaration.isFunctionDeclaration() || declaration.isClassDeclaration(); - const exportExpr = declaration.isFunctionExpression() || declaration.isClassExpression(); - const scope = declaration.isScope() ? declaration.scope.parent : declaration.scope; - let id = declaration.node.id; - let needBindingRegistration = false; - if (!id) { - needBindingRegistration = true; - id = scope.generateUidIdentifier("default"); - if (standaloneDeclaration || exportExpr) { - declaration.node.id = cloneNode(id); - } - } else if (exportExpr && scope.hasBinding(id.name)) { - needBindingRegistration = true; - id = scope.generateUidIdentifier(id.name); - } - const updatedDeclaration = standaloneDeclaration ? declaration.node : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration.node)]); - const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier("default"))]); - exportDeclaration.insertAfter(updatedExportDeclaration); - exportDeclaration.replaceWith(updatedDeclaration); - if (needBindingRegistration) { - scope.registerDeclaration(exportDeclaration); - } - return exportDeclaration; - } else if (exportDeclaration.get("specifiers").length > 0) { - throw new Error("It doesn't make sense to split exported specifiers."); - } - const declaration = exportDeclaration.get("declaration"); - const bindingIdentifiers = declaration.getOuterBindingIdentifiers(); - const specifiers = Object.keys(bindingIdentifiers).map(name => { - return exportSpecifier(identifier(name), identifier(name)); - }); - const aliasDeclar = exportNamedDeclaration(null, specifiers); - exportDeclaration.insertAfter(aliasDeclar); - exportDeclaration.replaceWith(declaration.node); - return exportDeclaration; -} - -//# sourceMappingURL=index.js.map diff --git a/tools/eslint/node_modules/@babel/helper-split-export-declaration/package.json b/tools/eslint/node_modules/@babel/helper-split-export-declaration/package.json deleted file mode 100644 index f03c754dbd960c..00000000000000 --- a/tools/eslint/node_modules/@babel/helper-split-export-declaration/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@babel/helper-split-export-declaration", - "version": "7.24.7", - "description": "", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel.git", - "directory": "packages/babel-helper-split-export-declaration" - }, - "homepage": "https://babel.dev/docs/en/next/babel-helper-split-export-declaration", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "main": "./lib/index.js", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "devDependencies": { - "@babel/traverse": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "author": "The Babel Team (https://babel.dev/team)", - "type": "commonjs" -} \ No newline at end of file diff --git a/tools/eslint/node_modules/@babel/helpers/lib/helpers-generated.js b/tools/eslint/node_modules/@babel/helpers/lib/helpers-generated.js index 0c8c4a90ce13a1..805fc71af7b1eb 100644 --- a/tools/eslint/node_modules/@babel/helpers/lib/helpers-generated.js +++ b/tools/eslint/node_modules/@babel/helpers/lib/helpers-generated.js @@ -731,6 +731,30 @@ const helpers = exports.default = { getPrototypeOf: ["body.0.body.body.0.test.right.right.right.callee"] } }), + superPropGet: helper("7.25.0", "function _superPropertyGet(t,e,r,o){var p=get(getPrototypeOf(1&o?t.prototype:t),e,r);return 2&o?function(t){return p.apply(r,t)}:p}", { + globals: [], + locals: { + _superPropertyGet: ["body.0.id"] + }, + exportBindingAssignments: [], + exportName: "_superPropertyGet", + dependencies: { + get: ["body.0.body.body.0.declarations.0.init.callee"], + getPrototypeOf: ["body.0.body.body.0.declarations.0.init.arguments.0.callee"] + } + }), + superPropSet: helper("7.25.0", "function _superPropertySet(t,e,o,r,p,f){return set(getPrototypeOf(f?t.prototype:t),e,o,r,p)}", { + globals: [], + locals: { + _superPropertySet: ["body.0.id"] + }, + exportBindingAssignments: [], + exportName: "_superPropertySet", + dependencies: { + set: ["body.0.body.body.0.argument.callee"], + getPrototypeOf: ["body.0.body.body.0.argument.arguments.0.callee"] + } + }), taggedTemplateLiteral: helper("7.0.0-beta.0", "function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}", { globals: ["Object"], locals: { @@ -856,7 +880,7 @@ const helpers = exports.default = { arrayLikeToArray: ["body.0.body.body.0.consequent.body.0.consequent.argument.callee", "body.0.body.body.0.consequent.body.2.argument.expressions.1.alternate.consequent.callee"] } }), - usingCtx: helper("7.23.9", 'function _usingCtx(){var r="function"==typeof SuppressedError?SuppressedError:function(r,n){var e=Error();return e.name="SuppressedError",e.error=r,e.suppressed=n,e},n={},e=[];function using(r,n){if(null!=n){if(Object(n)!==n)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(r)var o=n[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(null==o&&(o=n[Symbol.dispose||Symbol.for("Symbol.dispose")]),"function"!=typeof o)throw new TypeError("Property [Symbol.dispose] is not a function.");e.push({v:n,d:o,a:r})}else r&&e.push({d:n,a:r});return n}return{e:n,u:using.bind(null,!1),a:using.bind(null,!0),d:function(){var o=this.e;function next(){for(;r=e.pop();)try{var r,t=r.d&&r.d.call(r.v);if(r.a)return Promise.resolve(t).then(next,err)}catch(r){return err(r)}if(o!==n)throw o}function err(e){return o=o!==n?new r(e,o):e,next()}return next()}}}', { + usingCtx: helper("7.23.9", 'function _usingCtx(){var r="function"==typeof SuppressedError?SuppressedError:function(r,e){var n=Error();return n.name="SuppressedError",n.error=r,n.suppressed=e,n},e={},n=[];function using(r,e){if(null!=e){if(Object(e)!==e)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(r)var o=e[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(void 0===o&&(o=e[Symbol.dispose||Symbol.for("Symbol.dispose")],r))var t=o;if("function"!=typeof o)throw new TypeError("Object is not disposable.");t&&(o=function(){try{t.call(e)}catch(r){return Promise.reject(r)}}),n.push({v:e,d:o,a:r})}else r&&n.push({d:e,a:r});return e}return{e:e,u:using.bind(null,!1),a:using.bind(null,!0),d:function(){var o,t=this.e,s=0;function next(){for(;o=n.pop();)try{if(!o.a&&1===s)return s=0,n.push(o),Promise.resolve().then(next);if(o.d){var r=o.d.call(o.v);if(o.a)return s|=2,Promise.resolve(r).then(next,err)}else s|=1}catch(r){return err(r)}if(1===s)return t!==e?Promise.reject(t):Promise.resolve();if(t!==e)throw t}function err(n){return t=t!==e?new r(n,t):n,next()}return next()}}}', { globals: ["SuppressedError", "Error", "Object", "TypeError", "Symbol", "Promise"], locals: { _usingCtx: ["body.0.id"] diff --git a/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropGet.js b/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropGet.js new file mode 100644 index 00000000000000..30c6ccbcff9f5e --- /dev/null +++ b/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropGet.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _superPropertyGet; +var _get = require("./get.js"); +var _getPrototypeOf = require("./getPrototypeOf.js"); +function _superPropertyGet(classArg, property, receiver, flags) { + var result = (0, _get.default)((0, _getPrototypeOf.default)(flags & 1 ? classArg.prototype : classArg), property, receiver); + return flags & 2 ? function (args) { + return result.apply(receiver, args); + } : result; +} + +//# sourceMappingURL=superPropGet.js.map diff --git a/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropSet.js b/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropSet.js new file mode 100644 index 00000000000000..92052aca92ee55 --- /dev/null +++ b/tools/eslint/node_modules/@babel/helpers/lib/helpers/superPropSet.js @@ -0,0 +1,13 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _superPropertySet; +var _set = require("./set.js"); +var _getPrototypeOf = require("./getPrototypeOf.js"); +function _superPropertySet(classArg, property, value, receiver, isStrict, prototype) { + return (0, _set.default)((0, _getPrototypeOf.default)(prototype ? classArg.prototype : classArg), property, value, receiver, isStrict); +} + +//# sourceMappingURL=superPropSet.js.map diff --git a/tools/eslint/node_modules/@babel/helpers/lib/helpers/usingCtx.js b/tools/eslint/node_modules/@babel/helpers/lib/helpers/usingCtx.js index b5265394d846e0..a98544cd1e72ee 100644 --- a/tools/eslint/node_modules/@babel/helpers/lib/helpers/usingCtx.js +++ b/tools/eslint/node_modules/@babel/helpers/lib/helpers/usingCtx.js @@ -22,11 +22,23 @@ function _usingCtx() { if (isAwait) { var dispose = value[Symbol.asyncDispose || Symbol.for("Symbol.asyncDispose")]; } - if (dispose == null) { + if (dispose === undefined) { dispose = value[Symbol.dispose || Symbol.for("Symbol.dispose")]; + if (isAwait) { + var inner = dispose; + } } if (typeof dispose !== "function") { - throw new TypeError(`Property [Symbol.dispose] is not a function.`); + throw new TypeError("Object is not disposable."); + } + if (inner) { + dispose = function () { + try { + inner.call(value); + } catch (e) { + return Promise.reject(e); + } + }; } stack.push({ v: value, @@ -46,19 +58,37 @@ function _usingCtx() { u: using.bind(null, false), a: using.bind(null, true), d: function () { - var error = this.e; + var error = this.e, + state = 0, + resource; function next() { while (resource = stack.pop()) { try { - var resource, - disposalResult = resource.d && resource.d.call(resource.v); - if (resource.a) { - return Promise.resolve(disposalResult).then(next, err); + if (!resource.a && state === 1) { + state = 0; + stack.push(resource); + return Promise.resolve().then(next); + } + if (resource.d) { + var disposalResult = resource.d.call(resource.v); + if (resource.a) { + state |= 2; + return Promise.resolve(disposalResult).then(next, err); + } + } else { + state |= 1; } } catch (e) { return err(e); } } + if (state === 1) { + if (error !== empty) { + return Promise.reject(error); + } else { + return Promise.resolve(); + } + } if (error !== empty) throw error; } function err(e) { diff --git a/tools/eslint/node_modules/@babel/helpers/package.json b/tools/eslint/node_modules/@babel/helpers/package.json index df6f70c20bc747..570394cb0973c1 100644 --- a/tools/eslint/node_modules/@babel/helpers/package.json +++ b/tools/eslint/node_modules/@babel/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helpers", - "version": "7.24.8", + "version": "7.25.0", "description": "Collection of helper functions used by Babel transforms.", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-helpers", @@ -15,13 +15,13 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.8" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "devDependencies": { - "@babel/generator": "^7.24.8", + "@babel/generator": "^7.25.0", "@babel/helper-plugin-test-runner": "^7.24.7", - "@babel/parser": "^7.24.8", + "@babel/parser": "^7.25.0", "regenerator-runtime": "^0.14.0" }, "engines": { diff --git a/tools/eslint/node_modules/@babel/parser/lib/index.js b/tools/eslint/node_modules/@babel/parser/lib/index.js index e792db234d6f9d..3162c10a6b11ca 100644 --- a/tools/eslint/node_modules/@babel/parser/lib/index.js +++ b/tools/eslint/node_modules/@babel/parser/lib/index.js @@ -333,8 +333,7 @@ var PipelineOperatorErrors = { PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' }; -const _excluded = ["toMessage"], - _excluded2 = ["message"]; +const _excluded = ["message"]; function defineHidden(obj, key, value) { Object.defineProperty(obj, key, { enumerable: false, @@ -342,21 +341,22 @@ function defineHidden(obj, key, value) { value }); } -function toParseErrorConstructor(_ref) { - let { - toMessage - } = _ref, - properties = _objectWithoutPropertiesLoose(_ref, _excluded); +function toParseErrorConstructor({ + toMessage, + code, + reasonCode, + syntaxPlugin +}) { + const hasMissingPlugin = reasonCode === "MissingPlugin" || reasonCode === "MissingOneOfPlugins"; return function constructor(loc, details) { const error = new SyntaxError(); - Object.assign(error, properties, { - loc, - pos: loc.index - }); - if ("missingPlugin" in details) { - Object.assign(error, { - missingPlugin: details.missingPlugin - }); + error.code = code; + error.reasonCode = reasonCode; + error.loc = loc; + error.pos = loc.index; + error.syntaxPlugin = syntaxPlugin; + if (hasMissingPlugin) { + error.missingPlugin = details.missingPlugin; } defineHidden(error, "clone", function clone(overrides = {}) { var _overrides$loc; @@ -392,15 +392,15 @@ function ParseErrorEnum(argument, syntaxPlugin) { const ParseErrorConstructors = {}; for (const reasonCode of Object.keys(argument)) { const template = argument[reasonCode]; - const _ref2 = typeof template === "string" ? { + const _ref = typeof template === "string" ? { message: () => template } : typeof template === "function" ? { message: template } : template, { message - } = _ref2, - rest = _objectWithoutPropertiesLoose(_ref2, _excluded2); + } = _ref, + rest = _objectWithoutPropertiesLoose(_ref, _excluded); const toMessage = typeof message === "string" ? () => message : message; ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ code: "BABEL_PARSER_SYNTAX_ERROR", @@ -1790,7 +1790,7 @@ class CommentsParser extends BaseParser { } } } -const lineBreak = /\r\n?|[\n\u2028\u2029]/; +const lineBreak = /\r\n|[\r\n\u2028\u2029]/; const lineBreakG = new RegExp(lineBreak.source, "g"); function isNewLine(code) { switch (code) { @@ -1803,9 +1803,16 @@ function isNewLine(code) { return false; } } +function hasNewLine(input, start, end) { + for (let i = start; i < end; i++) { + if (isNewLine(input.charCodeAt(i))) { + return true; + } + } + return false; +} const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g; -const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y"); function isWhitespace(code) { switch (code) { case 0x0009: @@ -1947,6 +1954,12 @@ class State { set containsEsc(v) { if (v) this.flags |= 2048;else this.flags &= -2049; } + get hasTopLevelAwait() { + return (this.flags & 4096) > 0; + } + set hasTopLevelAwait(v) { + if (v) this.flags |= 4096;else this.flags &= -4097; + } curPosition() { return new Position(this.curLine, this.pos - this.lineStart, this.pos); } @@ -3500,7 +3513,13 @@ function functionFlags(isAsync, isGenerator) { class UtilParser extends Tokenizer { addExtra(node, key, value, enumerable = true) { if (!node) return; - const extra = node.extra = node.extra || {}; + let { + extra + } = node; + if (extra == null) { + extra = {}; + node.extra = extra; + } if (enumerable) { extra[key] = value; } else { @@ -3544,11 +3563,10 @@ class UtilParser extends Tokenizer { return this.match(139) || this.match(8) || this.hasPrecedingLineBreak(); } hasPrecedingLineBreak() { - return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start)); + return hasNewLine(this.input, this.state.lastTokEndLoc.index, this.state.start); } hasFollowingLineBreak() { - skipWhiteSpaceToLineBreak.lastIndex = this.state.end; - return skipWhiteSpaceToLineBreak.test(this.input); + return hasNewLine(this.input, this.state.end, this.nextTokenStart()); } isLineTerminator() { return this.eat(13) || this.canInsertSemicolon(); @@ -6957,7 +6975,6 @@ class TypeScriptScopeHandler extends ScopeHandler { super.checkLocalExport(id); } } -const getOwn$1 = (object, key) => hasOwnProperty.call(object, key) && object[key]; const unwrapParenthesizedExpression = node => { return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; }; @@ -7216,25 +7233,26 @@ class LValParser extends NodeUtils { return this.finishNode(node, "AssignmentPattern"); } isValidLVal(type, isUnparenthesizedInAssign, binding) { - return getOwn$1({ - AssignmentPattern: "left", - RestElement: "argument", - ObjectProperty: "value", - ParenthesizedExpression: "expression", - ArrayPattern: "elements", - ObjectPattern: "properties" - }, type); + switch (type) { + case "AssignmentPattern": + return "left"; + case "RestElement": + return "argument"; + case "ObjectProperty": + return "value"; + case "ParenthesizedExpression": + return "expression"; + case "ArrayPattern": + return "elements"; + case "ObjectPattern": + return "properties"; + } + return false; } isOptionalMemberExpression(expression) { return expression.type === "OptionalMemberExpression"; } - checkLVal(expression, { - in: ancestor, - binding = 64, - checkClashes = false, - strictModeChanged = false, - hasParenthesizedAncestor = false - }) { + checkLVal(expression, ancestor, binding = 64, checkClashes = false, strictModeChanged = false, hasParenthesizedAncestor = false) { var _expression$extra; const type = expression.type; if (this.isObjectMethod(expression)) return; @@ -7276,20 +7294,25 @@ class LValParser extends NodeUtils { }); return; } - const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"]; + let key, isParenthesizedExpression; + if (typeof validity === "string") { + key = validity; + isParenthesizedExpression = type === "ParenthesizedExpression"; + } else { + [key, isParenthesizedExpression] = validity; + } const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" ? { type } : ancestor; - for (const child of [].concat(expression[key])) { - if (child) { - this.checkLVal(child, { - in: nextAncestor, - binding, - checkClashes, - strictModeChanged, - hasParenthesizedAncestor: isParenthesizedExpression - }); + const val = expression[key]; + if (Array.isArray(val)) { + for (const child of val) { + if (child) { + this.checkLVal(child, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression); + } } + } else if (val) { + this.checkLVal(val, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression); } } checkIdentifier(at, bindingType, strictModeChanged = false) { @@ -7337,7 +7360,6 @@ class LValParser extends NodeUtils { return true; } } -const getOwn = (object, key) => hasOwnProperty.call(object, key) && object[key]; function nonNull(x) { if (x == null) { throw new Error(`Unexpected ${x} value.`); @@ -9520,15 +9542,21 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } } isValidLVal(type, isUnparenthesizedInAssign, binding) { - return getOwn({ - TSTypeCastExpression: true, - TSParameterProperty: "parameter", - TSNonNullExpression: "expression", - TSInstantiationExpression: "expression", - TSAsExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], - TSSatisfiesExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], - TSTypeAssertion: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true] - }, type) || super.isValidLVal(type, isUnparenthesizedInAssign, binding); + switch (type) { + case "TSTypeCastExpression": + return true; + case "TSParameterProperty": + return "parameter"; + case "TSNonNullExpression": + case "TSInstantiationExpression": + return "expression"; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + return (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true]; + default: + return super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } } parseBindingAtom() { if (this.state.type === 78) { @@ -10075,107 +10103,71 @@ var v8intrinsic = superClass => class V8IntrinsicMixin extends superClass { return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); } }; -function hasPlugin(plugins, expectedConfig) { - const [expectedName, expectedOptions] = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig; - const expectedKeys = Object.keys(expectedOptions); - const expectedOptionsIsEmpty = expectedKeys.length === 0; - return plugins.some(p => { - if (typeof p === "string") { - return expectedOptionsIsEmpty && p === expectedName; - } else { - const [pluginName, pluginOptions] = p; - if (pluginName !== expectedName) { - return false; - } - for (const key of expectedKeys) { - if (pluginOptions[key] !== expectedOptions[key]) { - return false; - } - } - return true; - } - }); -} -function getPluginOption(plugins, name, option) { - const plugin = plugins.find(plugin => { - if (Array.isArray(plugin)) { - return plugin[0] === name; - } else { - return plugin === name; - } - }); - if (plugin && Array.isArray(plugin) && plugin.length > 1) { - return plugin[1][option]; - } - return null; -} const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; -function validatePlugins(plugins) { - if (hasPlugin(plugins, "decorators")) { - if (hasPlugin(plugins, "decorators-legacy")) { +function validatePlugins(pluginsMap) { + if (pluginsMap.has("decorators")) { + if (pluginsMap.has("decorators-legacy")) { throw new Error("Cannot use the decorators and decorators-legacy plugin together"); } - const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + const decoratorsBeforeExport = pluginsMap.get("decorators").decoratorsBeforeExport; if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") { throw new Error("'decoratorsBeforeExport' must be a boolean, if specified."); } - const allowCallParenthesized = getPluginOption(plugins, "decorators", "allowCallParenthesized"); + const allowCallParenthesized = pluginsMap.get("decorators").allowCallParenthesized; if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") { throw new Error("'allowCallParenthesized' must be a boolean."); } } - if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + if (pluginsMap.has("flow") && pluginsMap.has("typescript")) { throw new Error("Cannot combine flow and typescript plugins."); } - if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + if (pluginsMap.has("placeholders") && pluginsMap.has("v8intrinsic")) { throw new Error("Cannot combine placeholders and v8intrinsic plugins."); } - if (hasPlugin(plugins, "pipelineOperator")) { - const proposal = getPluginOption(plugins, "pipelineOperator", "proposal"); + if (pluginsMap.has("pipelineOperator")) { + var _pluginsMap$get; + const proposal = pluginsMap.get("pipelineOperator").proposal; if (!PIPELINE_PROPOSALS.includes(proposal)) { const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); } - const recordAndTupleConfigItem = ["recordAndTuple", { - syntaxType: "hash" - }]; - const tupleSyntaxIsHash = hasPlugin(plugins, recordAndTupleConfigItem); + const tupleSyntaxIsHash = ((_pluginsMap$get = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get.syntaxType) === "hash"; if (proposal === "hack") { - if (hasPlugin(plugins, "placeholders")) { + if (pluginsMap.has("placeholders")) { throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); } - if (hasPlugin(plugins, "v8intrinsic")) { + if (pluginsMap.has("v8intrinsic")) { throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); } - const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken"); + const topicToken = pluginsMap.get("pipelineOperator").topicToken; if (!TOPIC_TOKENS.includes(topicToken)) { const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); } if (topicToken === "#" && tupleSyntaxIsHash) { - throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(recordAndTupleConfigItem)}\`.`); + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); } } else if (proposal === "smart" && tupleSyntaxIsHash) { - throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(recordAndTupleConfigItem)}\`.`); + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); } } - if (hasPlugin(plugins, "moduleAttributes")) { + if (pluginsMap.has("moduleAttributes")) { { - if (hasPlugin(plugins, "importAssertions") || hasPlugin(plugins, "importAttributes")) { + if (pluginsMap.has("importAttributes") || pluginsMap.has("importAssertions")) { throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins."); } - const moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); + const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version; if (moduleAttributesVersionPluginOption !== "may-2020") { throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); } } } - if (hasPlugin(plugins, "importAssertions") && hasPlugin(plugins, "importAttributes")) { + if (pluginsMap.has("importAttributes") && pluginsMap.has("importAssertions")) { throw new Error("Cannot combine importAssertions and importAttributes plugins."); } - if (hasPlugin(plugins, "recordAndTuple")) { - const syntaxType = getPluginOption(plugins, "recordAndTuple", "syntaxType"); + if (pluginsMap.has("recordAndTuple")) { + const syntaxType = pluginsMap.get("recordAndTuple").syntaxType; if (syntaxType != null) { { const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; @@ -10185,12 +10177,12 @@ function validatePlugins(plugins) { } } } - if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + if (pluginsMap.has("asyncDoExpressions") && !pluginsMap.has("doExpressions")) { const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); error.missingPlugins = "doExpressions"; throw error; } - if (hasPlugin(plugins, "optionalChainingAssign") && getPluginOption(plugins, "optionalChainingAssign", "version") !== "2023-07") { + if (pluginsMap.has("optionalChainingAssign") && pluginsMap.get("optionalChainingAssign").version !== "2023-07") { throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is '2023-07'."); } } @@ -10361,9 +10353,7 @@ class ExpressionParser extends LValParser { } this.next(); node.right = this.parseMaybeAssign(); - this.checkLVal(left, { - in: this.finishNode(node, "AssignmentExpression") - }); + this.checkLVal(left, this.finishNode(node, "AssignmentExpression")); return node; } else if (ownExpressionErrors) { this.checkExpressionErrors(refExpressionErrors, true); @@ -10504,7 +10494,7 @@ class ExpressionParser extends LValParser { parseMaybeUnary(refExpressionErrors, sawUnary) { const startLoc = this.state.startLoc; const isAwait = this.isContextual(96); - if (isAwait && this.isAwaitAllowed()) { + if (isAwait && this.recordAwaitIfAllowed()) { this.next(); const expr = this.parseAwait(startLoc); if (!sawUnary) this.checkExponentialAfterUnary(expr); @@ -10553,9 +10543,7 @@ class ExpressionParser extends LValParser { parseUpdate(node, update, refExpressionErrors) { if (update) { const updateExpressionNode = node; - this.checkLVal(updateExpressionNode.argument, { - in: this.finishNode(updateExpressionNode, "UpdateExpression") - }); + this.checkLVal(updateExpressionNode.argument, this.finishNode(updateExpressionNode, "UpdateExpression")); return node; } const startLoc = this.state.startLoc; @@ -10567,9 +10555,7 @@ class ExpressionParser extends LValParser { node.prefix = false; node.argument = expr; this.next(); - this.checkLVal(expr, { - in: expr = this.finishNode(node, "UpdateExpression") - }); + this.checkLVal(expr, expr = this.finishNode(node, "UpdateExpression")); } return expr; } @@ -11641,12 +11627,7 @@ class ExpressionParser extends LValParser { type: "FormalParameters" }; for (const param of node.params) { - this.checkLVal(param, { - in: formalParameters, - binding: 5, - checkClashes, - strictModeChanged - }); + this.checkLVal(param, formalParameters, 5, checkClashes, strictModeChanged); } } parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { @@ -11767,12 +11748,12 @@ class ExpressionParser extends LValParser { } } } - isAwaitAllowed() { - if (this.prodParam.hasAwait) return true; - if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) { - return true; + recordAwaitIfAllowed() { + const isAwaitAllowed = this.prodParam.hasAwait || this.options.allowAwaitOutsideFunction && !this.scope.inFunction; + if (isAwaitAllowed && !this.scope.inFunction) { + this.state.hasTopLevelAwait = true; } - return false; + return isAwaitAllowed; } parseAwait(startLoc) { const node = this.startNodeAt(startLoc); @@ -12111,12 +12092,15 @@ class StatementParser extends ExpressionParser { program.sourceType = sourceType; program.interpreter = this.parseInterpreterDirective(); this.parseBlockBody(program, true, true, end); - if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { - for (const [localName, at] of Array.from(this.scope.undefinedExports)) { - this.raise(Errors.ModuleExportUndefined, at, { - localName - }); + if (this.inModule) { + if (!this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, at, { + localName + }); + } } + this.addExtra(program, "topLevelAwait", this.state.hasTopLevelAwait); } let finishedProgram; if (end === 139) { @@ -12236,12 +12220,12 @@ class StatementParser extends ExpressionParser { return this.parseStatementContent(flags, decorators); } parseStatementContent(flags, decorators) { - const starttype = this.state.type; + const startType = this.state.type; const node = this.startNode(); const allowDeclaration = !!(flags & 2); const allowFunctionDeclaration = !!(flags & 4); const topLevel = flags & 1; - switch (starttype) { + switch (startType) { case 60: return this.parseBreakContinueStatement(node, true); case 63: @@ -12273,7 +12257,7 @@ class StatementParser extends ExpressionParser { return this.parseTryStatement(node); case 96: if (!this.state.containsEsc && this.startsAwaitUsing()) { - if (!this.isAwaitAllowed()) { + if (!this.recordAwaitIfAllowed()) { this.raise(Errors.AwaitUsingNotInAsyncContext, node); } else if (!allowDeclaration) { this.raise(Errors.UnexpectedLexicalDeclaration, node); @@ -12340,7 +12324,7 @@ class StatementParser extends ExpressionParser { } this.next(); let result; - if (starttype === 83) { + if (startType === 83) { result = this.parseImport(node); if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { this.sawUnambiguousESM = true; @@ -12367,7 +12351,7 @@ class StatementParser extends ExpressionParser { } const maybeName = this.state.value; const expr = this.parseExpression(); - if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) { + if (tokenIsIdentifier(startType) && expr.type === "Identifier" && this.eat(14)) { return this.parseLabeledStatement(node, maybeName, expr, flags); } else { return this.parseExpressionStatement(node, expr, decorators); @@ -12520,8 +12504,9 @@ class StatementParser extends ExpressionParser { this.next(); this.state.labels.push(loopLabel); let awaitAt = null; - if (this.isAwaitAllowed() && this.eatContextual(96)) { - awaitAt = this.state.lastTokStartLoc; + if (this.isContextual(96) && this.recordAwaitIfAllowed()) { + awaitAt = this.state.startLoc; + this.next(); } this.scope.enter(0); this.expect(10); @@ -12541,7 +12526,7 @@ class StatementParser extends ExpressionParser { let kind; if (startsWithAwaitUsing) { kind = "await using"; - if (!this.isAwaitAllowed()) { + if (!this.recordAwaitIfAllowed()) { this.raise(Errors.AwaitUsingNotInAsyncContext, this.state.startLoc); } this.next(); @@ -12581,9 +12566,7 @@ class StatementParser extends ExpressionParser { this.toAssignable(init, true); const type = isForOf ? "ForOfStatement" : "ForInStatement"; this.checkLVal(init, { - in: { - type - } + type }); return this.parseForIn(node, init, awaitAt); } else { @@ -12670,11 +12653,8 @@ class StatementParser extends ExpressionParser { const param = this.parseBindingAtom(); this.scope.enter(this.options.annexB && param.type === "Identifier" ? 8 : 0); this.checkLVal(param, { - in: { - type: "CatchClause" - }, - binding: 9 - }); + type: "CatchClause" + }, 9); return param; } parseTryStatement(node) { @@ -12883,11 +12863,8 @@ class StatementParser extends ExpressionParser { } } this.checkLVal(id, { - in: { - type: "VariableDeclarator" - }, - binding: kind === "var" ? 5 : 8201 - }); + type: "VariableDeclarator" + }, kind === "var" ? 5 : 8201); decl.id = id; } parseAsyncFunctionExpression(node) { @@ -13732,11 +13709,8 @@ class StatementParser extends ExpressionParser { } finishImportSpecifier(specifier, type, bindingType = 8201) { this.checkLVal(specifier.local, { - in: { - type - }, - binding: bindingType - }); + type + }, bindingType); return this.finishNode(specifier, type); } parseImportAttributes() { @@ -13902,12 +13876,12 @@ class StatementParser extends ExpressionParser { } } class Parser extends StatementParser { - constructor(options, input) { + constructor(options, input, pluginsMap) { options = getOptions(options); super(options, input); this.options = options; this.initializeScopes(); - this.plugins = pluginsMap(this.options.plugins); + this.plugins = pluginsMap; this.filename = options.sourceFilename; } getScopeHandler() { @@ -13925,14 +13899,6 @@ class Parser extends StatementParser { return file; } } -function pluginsMap(plugins) { - const pluginMap = new Map(); - for (const plugin of plugins) { - const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; - if (!pluginMap.has(name)) pluginMap.set(name, options || {}); - } - return pluginMap; -} function parse(input, options) { var _options; if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { @@ -13981,23 +13947,40 @@ function generateExportedTokenTypes(internalTokenTypes) { const tokTypes = generateExportedTokenTypes(tt); function getParser(options, input) { let cls = Parser; + const pluginsMap = new Map(); if (options != null && options.plugins) { - validatePlugins(options.plugins); - cls = getParserClass(options.plugins); + for (const plugin of options.plugins) { + let name, opts; + if (typeof plugin === "string") { + name = plugin; + } else { + [name, opts] = plugin; + } + if (!pluginsMap.has(name)) { + pluginsMap.set(name, opts || {}); + } + } + validatePlugins(pluginsMap); + cls = getParserClass(pluginsMap); } - return new cls(options, input); + return new cls(options, input, pluginsMap); } -const parserClassCache = {}; -function getParserClass(pluginsFromOptions) { - const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name)); - const key = pluginList.join("/"); - let cls = parserClassCache[key]; +const parserClassCache = new Map(); +function getParserClass(pluginsMap) { + const pluginList = []; + for (const name of mixinPluginNames) { + if (pluginsMap.has(name)) { + pluginList.push(name); + } + } + const key = pluginList.join("|"); + let cls = parserClassCache.get(key); if (!cls) { cls = Parser; for (const plugin of pluginList) { cls = mixinPlugins[plugin](cls); } - parserClassCache[key] = cls; + parserClassCache.set(key, cls); } return cls; } diff --git a/tools/eslint/node_modules/@babel/parser/package.json b/tools/eslint/node_modules/@babel/parser/package.json index 0bcae8fcb07161..a45dca175b566d 100644 --- a/tools/eslint/node_modules/@babel/parser/package.json +++ b/tools/eslint/node_modules/@babel/parser/package.json @@ -1,6 +1,6 @@ { "name": "@babel/parser", - "version": "7.24.8", + "version": "7.25.0", "description": "A JavaScript parser", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-parser", @@ -39,7 +39,7 @@ "@babel/helper-fixtures": "^7.24.8", "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", - "@babel/types": "^7.24.8", + "@babel/types": "^7.25.0", "charcodes": "^0.2.0" }, "bin": "./bin/babel-parser.js", diff --git a/tools/eslint/node_modules/@babel/template/lib/populate.js b/tools/eslint/node_modules/@babel/template/lib/populate.js index fb67269f060d2b..35e5f6f71ba6ce 100644 --- a/tools/eslint/node_modules/@babel/template/lib/populate.js +++ b/tools/eslint/node_modules/@babel/template/lib/populate.js @@ -98,9 +98,24 @@ function applyReplacement(placeholder, ast, replacement) { throw new Error("Cannot replace single expression with an array."); } } + function set(parent, key, value) { + const node = parent[key]; + parent[key] = value; + if (node.type === "Identifier") { + if (node.typeAnnotation) { + value.typeAnnotation = node.typeAnnotation; + } + if (node.optional) { + value.optional = node.optional; + } + if (node.decorators) { + value.decorators = node.decorators; + } + } + } if (index === undefined) { validate(parent, key, replacement); - parent[key] = replacement; + set(parent, key, replacement); } else { const items = parent[key].slice(); if (placeholder.type === "statement" || placeholder.type === "param") { @@ -109,10 +124,10 @@ function applyReplacement(placeholder, ast, replacement) { } else if (Array.isArray(replacement)) { items.splice(index, 1, ...replacement); } else { - items[index] = replacement; + set(items, index, replacement); } } else { - items[index] = replacement; + set(items, index, replacement); } validate(parent, key, items); parent[key] = items; diff --git a/tools/eslint/node_modules/@babel/template/package.json b/tools/eslint/node_modules/@babel/template/package.json index dd388169537f1b..f5691778402cb8 100644 --- a/tools/eslint/node_modules/@babel/template/package.json +++ b/tools/eslint/node_modules/@babel/template/package.json @@ -1,6 +1,6 @@ { "name": "@babel/template", - "version": "7.24.7", + "version": "7.25.0", "description": "Generate an AST from a string template.", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-template", @@ -17,8 +17,8 @@ "main": "./lib/index.js", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" diff --git a/tools/eslint/node_modules/@babel/traverse/lib/path/context.js b/tools/eslint/node_modules/@babel/traverse/lib/path/context.js index 929bdc65b4f5e5..70a97099cc47a7 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/path/context.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/path/context.js @@ -14,6 +14,7 @@ exports.isBlacklisted = exports.isDenylisted = isDenylisted; exports.popContext = popContext; exports.pushContext = pushContext; exports.requeue = requeue; +exports.requeueComputedKeyAndDecorators = requeueComputedKeyAndDecorators; exports.resync = resync; exports.setContext = setContext; exports.setKey = setKey; @@ -26,6 +27,7 @@ exports.visit = visit; var _traverseNode = require("../traverse-node.js"); var _index = require("./index.js"); var _removal = require("./removal.js"); +var t = require("@babel/types"); function call(key) { const opts = this.opts; this.debug(key); @@ -209,6 +211,20 @@ function requeue(pathToQueue = this) { context.maybeQueue(pathToQueue); } } +function requeueComputedKeyAndDecorators() { + const { + context, + node + } = this; + if (!t.isPrivate(node) && node.computed) { + context.maybeQueue(this.get("key")); + } + if (node.decorators) { + for (const decorator of this.get("decorators")) { + context.maybeQueue(decorator); + } + } +} function _getQueueContexts() { let path = this; let contexts = this.contexts; diff --git a/tools/eslint/node_modules/@babel/traverse/lib/path/conversion.js b/tools/eslint/node_modules/@babel/traverse/lib/path/conversion.js index a7884c7ce0a3e3..4f06a577e847c8 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/path/conversion.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/path/conversion.js @@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", { }); exports.arrowFunctionToExpression = arrowFunctionToExpression; exports.ensureBlock = ensureBlock; +exports.ensureFunctionName = ensureFunctionName; +exports.splitExportDeclaration = splitExportDeclaration; exports.toComputedKey = toComputedKey; exports.unwrapFunctionEnvironment = unwrapFunctionEnvironment; var _t = require("@babel/types"); -var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); -var _helperFunctionName = require("@babel/helper-function-name"); +var _template = require("@babel/template"); var _visitors = require("../visitors.js"); const { arrowFunctionExpression, @@ -36,7 +37,18 @@ const { super: _super, thisExpression, toExpression, - unaryExpression + unaryExpression, + toBindingIdentifierName, + isFunction, + isAssignmentPattern, + isRestElement, + getFunctionName, + cloneNode, + variableDeclaration, + variableDeclarator, + exportNamedDeclaration, + exportSpecifier, + inherits } = _t; function toComputedKey() { let key; @@ -110,10 +122,15 @@ function arrowFunctionToExpression({ if (!this.isArrowFunctionExpression()) { throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression."); } + let self = this; + if (!noNewArrows) { + var _self$ensureFunctionN; + self = (_self$ensureFunctionN = self.ensureFunctionName(false)) != null ? _self$ensureFunctionN : self; + } const { thisBinding, fnPath: fn - } = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow, allowInsertArrowWithRest); + } = hoistFunctionEnvironment(self, noNewArrows, allowInsertArrow, allowInsertArrowWithRest); fn.ensureBlock(); setType(fn, "FunctionExpression"); if (!noNewArrows) { @@ -125,19 +142,19 @@ function arrowFunctionToExpression({ }); } fn.get("body").unshiftContainer("body", expressionStatement(callExpression(this.hub.addHelper("newArrowCheck"), [thisExpression(), checkBinding ? identifier(checkBinding.name) : identifier(thisBinding)]))); - fn.replaceWith(callExpression(memberExpression((0, _helperFunctionName.default)(this, true) || fn.node, identifier("bind")), [checkBinding ? identifier(checkBinding.name) : thisExpression()])); + fn.replaceWith(callExpression(memberExpression(fn.node, identifier("bind")), [checkBinding ? identifier(checkBinding.name) : thisExpression()])); return fn.get("callee.object"); } return fn; } -const getSuperCallsVisitor = (0, _visitors.merge)([{ +const getSuperCallsVisitor = (0, _visitors.environmentVisitor)({ CallExpression(child, { allSuperCalls }) { if (!child.get("callee").isSuper()) return; allSuperCalls.push(child); } -}, _helperEnvironmentVisitor.default]); +}); function hoistFunctionEnvironment(fnPath, noNewArrows = true, allowInsertArrow = true, allowInsertArrowWithRest = true) { let arrowParent; let thisEnvFn = fnPath.findParent(p => { @@ -324,7 +341,7 @@ function standardizeSuperProperty(superProp) { function hasSuperClass(thisEnvFn) { return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass; } -const assignSuperThisVisitor = (0, _visitors.merge)([{ +const assignSuperThisVisitor = (0, _visitors.environmentVisitor)({ CallExpression(child, { supers, thisBinding @@ -334,7 +351,7 @@ const assignSuperThisVisitor = (0, _visitors.merge)([{ supers.add(child.node); child.replaceWithMultiple([child.node, assignmentExpression("=", identifier(thisBinding), identifier("this"))]); } -}, _helperEnvironmentVisitor.default]); +}); function getThisBinding(thisEnvFn, inConstructor) { return getBinding(thisEnvFn, "this", thisBinding => { if (!inConstructor || !hasSuperClass(thisEnvFn)) return thisExpression(); @@ -384,7 +401,7 @@ function getBinding(thisEnvFn, key, init) { } return data; } -const getScopeInformationVisitor = (0, _visitors.merge)([{ +const getScopeInformationVisitor = (0, _visitors.environmentVisitor)({ ThisExpression(child, { thisPaths }) { @@ -442,7 +459,7 @@ const getScopeInformationVisitor = (0, _visitors.merge)([{ })) return; newTargetPaths.push(child); } -}, _helperEnvironmentVisitor.default]); +}); function getScopeInformation(fnPath) { const thisPaths = []; const argumentsPaths = []; @@ -464,5 +481,128 @@ function getScopeInformation(fnPath) { superCalls }; } +function splitExportDeclaration() { + if (!this.isExportDeclaration() || this.isExportAllDeclaration()) { + throw new Error("Only default and named export declarations can be split."); + } + if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0) { + throw new Error("It doesn't make sense to split exported specifiers."); + } + const declaration = this.get("declaration"); + if (this.isExportDefaultDeclaration()) { + const standaloneDeclaration = declaration.isFunctionDeclaration() || declaration.isClassDeclaration(); + const exportExpr = declaration.isFunctionExpression() || declaration.isClassExpression(); + const scope = declaration.isScope() ? declaration.scope.parent : declaration.scope; + let id = declaration.node.id; + let needBindingRegistration = false; + if (!id) { + needBindingRegistration = true; + id = scope.generateUidIdentifier("default"); + if (standaloneDeclaration || exportExpr) { + declaration.node.id = cloneNode(id); + } + } else if (exportExpr && scope.hasBinding(id.name)) { + needBindingRegistration = true; + id = scope.generateUidIdentifier(id.name); + } + const updatedDeclaration = standaloneDeclaration ? declaration.node : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration.node)]); + const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier("default"))]); + this.insertAfter(updatedExportDeclaration); + this.replaceWith(updatedDeclaration); + if (needBindingRegistration) { + scope.registerDeclaration(this); + } + return this; + } else if (this.get("specifiers").length > 0) { + throw new Error("It doesn't make sense to split exported specifiers."); + } + const bindingIdentifiers = declaration.getOuterBindingIdentifiers(); + const specifiers = Object.keys(bindingIdentifiers).map(name => { + return exportSpecifier(identifier(name), identifier(name)); + }); + const aliasDeclar = exportNamedDeclaration(null, specifiers); + this.insertAfter(aliasDeclar); + this.replaceWith(declaration.node); + return this; +} +const refersOuterBindingVisitor = { + "ReferencedIdentifier|BindingIdentifier"(path, state) { + if (path.node.name !== state.name) return; + state.needsRename = true; + path.stop(); + }, + Scope(path, state) { + if (path.scope.hasOwnBinding(state.name)) { + path.skip(); + } + } +}; +function ensureFunctionName(supportUnicodeId) { + if (this.node.id) return this; + const res = getFunctionName(this.node, this.parent); + if (res == null) return this; + let { + name + } = res; + if (!supportUnicodeId && /[\uD800-\uDFFF]/.test(name)) { + return null; + } + if (name.startsWith("get ") || name.startsWith("set ")) { + return null; + } + name = toBindingIdentifierName(name.replace(/[/ ]/g, "_")); + const id = identifier(name); + inherits(id, res.originalNode); + const state = { + needsRename: false, + name + }; + const { + scope + } = this; + const binding = scope.getOwnBinding(name); + if (binding) { + if (binding.kind === "param") { + state.needsRename = true; + } else {} + } else if (scope.parent.hasBinding(name) || scope.hasGlobal(name)) { + this.traverse(refersOuterBindingVisitor, state); + } + if (!state.needsRename) { + this.node.id = id; + scope.getProgramParent().references[id.name] = true; + return this; + } + if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) { + scope.rename(id.name); + this.node.id = id; + scope.getProgramParent().references[id.name] = true; + return this; + } + if (!isFunction(this.node)) return null; + const key = scope.generateUidIdentifier(id.name); + const params = []; + for (let i = 0, len = getFunctionArity(this.node); i < len; i++) { + params.push(scope.generateUidIdentifier("x")); + } + const call = _template.default.expression.ast` + (function (${key}) { + function ${id}(${params}) { + return ${cloneNode(key)}.apply(this, arguments); + } + + ${cloneNode(id)}.toString = function () { + return ${cloneNode(key)}.toString(); + } + + return ${cloneNode(id)}; + })(${toExpression(this.node)}) + `; + return this.replaceWith(call)[0].get("arguments.0"); +} +function getFunctionArity(node) { + const count = node.params.findIndex(param => isAssignmentPattern(param) || isRestElement(param)); + return count === -1 ? node.params.length : count; +} //# sourceMappingURL=conversion.js.map diff --git a/tools/eslint/node_modules/@babel/traverse/lib/path/family.js b/tools/eslint/node_modules/@babel/traverse/lib/path/family.js index 377a4642b7eb05..0c734cc56adc3d 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/path/family.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/path/family.js @@ -8,6 +8,7 @@ exports._getPattern = _getPattern; exports.get = get; exports.getAllNextSiblings = getAllNextSiblings; exports.getAllPrevSiblings = getAllPrevSiblings; +exports.getAssignmentIdentifiers = getAssignmentIdentifiers; exports.getBindingIdentifierPaths = getBindingIdentifierPaths; exports.getBindingIdentifiers = getBindingIdentifiers; exports.getCompletionRecords = getCompletionRecords; @@ -20,6 +21,7 @@ exports.getSibling = getSibling; var _index = require("./index.js"); var _t = require("@babel/types"); const { + getAssignmentIdentifiers: _getAssignmentIdentifiers, getBindingIdentifiers: _getBindingIdentifiers, getOuterBindingIdentifiers: _getOuterBindingIdentifiers, numericLiteral, @@ -274,6 +276,9 @@ function _getPattern(parts, context) { } return path; } +function getAssignmentIdentifiers() { + return _getAssignmentIdentifiers(this.node); +} function getBindingIdentifiers(duplicates) { return _getBindingIdentifiers(this.node, duplicates); } diff --git a/tools/eslint/node_modules/@babel/traverse/lib/path/index.js b/tools/eslint/node_modules/@babel/traverse/lib/path/index.js index b40493f15d9007..ce3898cdcbce7a 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/path/index.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/path/index.js @@ -178,6 +178,8 @@ const methods = { ensureBlock: NodePath_conversion.ensureBlock, unwrapFunctionEnvironment: NodePath_conversion.unwrapFunctionEnvironment, arrowFunctionToExpression: NodePath_conversion.arrowFunctionToExpression, + splitExportDeclaration: NodePath_conversion.splitExportDeclaration, + ensureFunctionName: NodePath_conversion.ensureFunctionName, matchesPattern: NodePath_introspection.matchesPattern, has: NodePath_introspection.has, isStatic: NodePath_introspection.isStatic, @@ -211,6 +213,7 @@ const methods = { setup: NodePath_context.setup, setKey: NodePath_context.setKey, requeue: NodePath_context.requeue, + requeueComputedKeyAndDecorators: NodePath_context.requeueComputedKeyAndDecorators, remove: NodePath_removal.remove, insertBefore: NodePath_modification.insertBefore, insertAfter: NodePath_modification.insertAfter, @@ -226,6 +229,7 @@ const methods = { getAllNextSiblings: NodePath_family.getAllNextSiblings, getAllPrevSiblings: NodePath_family.getAllPrevSiblings, get: NodePath_family.get, + getAssignmentIdentifiers: NodePath_family.getAssignmentIdentifiers, getBindingIdentifiers: NodePath_family.getBindingIdentifiers, getOuterBindingIdentifiers: NodePath_family.getOuterBindingIdentifiers, getBindingIdentifierPaths: NodePath_family.getBindingIdentifierPaths, diff --git a/tools/eslint/node_modules/@babel/traverse/lib/path/replacement.js b/tools/eslint/node_modules/@babel/traverse/lib/path/replacement.js index afcd8b7c4ea75d..f4f946e3aebb0d 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/path/replacement.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/path/replacement.js @@ -16,7 +16,6 @@ var _cache = require("../cache.js"); var _modification = require("./modification.js"); var _parser = require("@babel/parser"); var _t = require("@babel/types"); -var _helperHoistVariables = require("@babel/helper-hoist-variables"); const { FUNCTION_TYPES, arrowFunctionExpression, @@ -160,12 +159,10 @@ function replaceExpressionWithStatements(nodes) { const container = arrowFunctionExpression([], blockStatement(nodes)); this.replaceWith(callExpression(container, [])); const callee = this.get("callee"); - (0, _helperHoistVariables.default)(callee.get("body"), id => { - this.scope.push({ - id - }); - }, "var"); - const completionRecords = this.get("callee").getCompletionRecords(); + callee.get("body").scope.hoistVariables(id => this.scope.push({ + id + })); + const completionRecords = callee.getCompletionRecords(); for (const path of completionRecords) { if (!path.isExpressionStatement()) continue; const loop = path.findParent(path => path.isLoop()); diff --git a/tools/eslint/node_modules/@babel/traverse/lib/scope/index.js b/tools/eslint/node_modules/@babel/traverse/lib/scope/index.js index 350da1a39f8cc5..f77f44e916a1b5 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/scope/index.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/scope/index.js @@ -14,6 +14,7 @@ var _cache = require("../cache.js"); var _visitors = require("../visitors.js"); const { NOT_LOCAL_BINDING, + assignmentExpression, callExpression, cloneNode, getBindingIdentifiers, @@ -45,6 +46,7 @@ const { isThisExpression, isUnaryExpression, isVariableDeclaration, + expressionStatement, matchesPattern, memberExpression, numericLiteral, @@ -58,7 +60,8 @@ const { isMetaProperty, isPrivateName, isExportDeclaration, - buildUndefinedNode + buildUndefinedNode, + sequenceExpression } = _t; function gatherNodeParts(node, parts) { switch (node == null ? void 0 : node.type) { @@ -515,7 +518,7 @@ class Scope { return buildUndefinedNode(); } registerConstantViolation(path) { - const ids = path.getBindingIdentifiers(); + const ids = path.getAssignmentIdentifiers(); for (const name of Object.keys(ids)) { var _this$getBinding; (_this$getBinding = this.getBinding(name)) == null || _this$getBinding.reassign(path); @@ -701,7 +704,7 @@ class Scope { path.traverse(collectorVisitor, state); this.crawling = false; for (const path of state.assignments) { - const ids = path.getBindingIdentifiers(); + const ids = path.getAssignmentIdentifiers(); for (const name of Object.keys(ids)) { if (path.scope.getBinding(name)) continue; programParent.addGlobal(ids[name]); @@ -902,6 +905,55 @@ class Scope { } } while (scope = scope.parent); } + hoistVariables(emit = id => this.push({ + id + })) { + this.crawl(); + const seen = new Set(); + for (const name of Object.keys(this.bindings)) { + const binding = this.bindings[name]; + if (!binding) continue; + const { + path + } = binding; + if (!path.isVariableDeclarator()) continue; + const { + parent, + parentPath + } = path; + if (parent.kind !== "var" || seen.has(parent)) continue; + seen.add(path.parent); + let firstId; + const init = []; + for (const decl of parent.declarations) { + var _firstId; + (_firstId = firstId) != null ? _firstId : firstId = decl.id; + if (decl.init) { + init.push(assignmentExpression("=", decl.id, decl.init)); + } + const ids = Object.keys(getBindingIdentifiers(decl, false, true, true)); + for (const name of ids) { + emit(identifier(name), decl.init != null); + } + } + if (parentPath.parentPath.isFor({ + left: parent + })) { + parentPath.replaceWith(firstId); + } else if (init.length === 0) { + parentPath.remove(); + } else { + const expr = init.length === 1 ? init[0] : sequenceExpression(init); + if (parentPath.parentPath.isForStatement({ + init: parent + })) { + parentPath.replaceWith(expr); + } else { + parentPath.replaceWith(expressionStatement(expr)); + } + } + } + } } exports.default = Scope; Scope.globals = Object.keys(_globals.builtin); diff --git a/tools/eslint/node_modules/@babel/traverse/lib/scope/lib/renamer.js b/tools/eslint/node_modules/@babel/traverse/lib/scope/lib/renamer.js index 0c69566a776ae3..e1119c123a5e28 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/scope/lib/renamer.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/scope/lib/renamer.js @@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; -var _helperSplitExportDeclaration = require("@babel/helper-split-export-declaration"); var t = require("@babel/types"); -var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); var _traverseNode = require("../../traverse-node.js"); var _visitors = require("../../visitors.js"); const renameVisitor = { @@ -21,7 +19,7 @@ const renameVisitor = { if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { path.skip(); if (path.isMethod()) { - (0, _helperEnvironmentVisitor.requeueComputedKeyAndDecorators)(path); + path.requeueComputedKeyAndDecorators(); } } }, @@ -42,7 +40,7 @@ const renameVisitor = { }, "AssignmentExpression|Declaration|VariableDeclarator"(path, state) { if (path.isVariableDeclaration()) return; - const ids = path.getOuterBindingIdentifiers(); + const ids = path.isAssignmentExpression() ? path.getAssignmentIdentifiers() : path.getOuterBindingIdentifiers(); for (const name in ids) { if (name === state.oldName) ids[name].name = state.newName; } @@ -70,7 +68,7 @@ class Renamer { if (maybeExportDeclar.isExportAllDeclaration()) { return; } - (0, _helperSplitExportDeclaration.default)(maybeExportDeclar); + maybeExportDeclar.splitExportDeclaration(); } maybeConvertFromClassFunctionDeclaration(path) { return path; diff --git a/tools/eslint/node_modules/@babel/traverse/lib/visitors.js b/tools/eslint/node_modules/@babel/traverse/lib/visitors.js index 4ea6578fe058c4..7ba7ef17f3d752 100644 --- a/tools/eslint/node_modules/@babel/traverse/lib/visitors.js +++ b/tools/eslint/node_modules/@babel/traverse/lib/visitors.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); +exports.environmentVisitor = environmentVisitor; exports.explode = explode$1; exports.isExplodedVisitor = isExplodedVisitor; exports.merge = merge; @@ -217,5 +218,22 @@ function mergePair(dest, src) { dest[phase] = [].concat(dest[phase] || [], src[phase]); } } +const _environmentVisitor = { + FunctionParent(path) { + if (path.isArrowFunctionExpression()) return; + path.skip(); + if (path.isMethod()) { + path.requeueComputedKeyAndDecorators(); + } + }, + Property(path) { + if (path.isObjectProperty()) return; + path.skip(); + path.requeueComputedKeyAndDecorators(); + } +}; +function environmentVisitor(visitor) { + return merge([_environmentVisitor, visitor]); +} //# sourceMappingURL=visitors.js.map diff --git a/tools/eslint/node_modules/@babel/traverse/package.json b/tools/eslint/node_modules/@babel/traverse/package.json index 9d826f53bb40f2..96aae7df9b31ca 100644 --- a/tools/eslint/node_modules/@babel/traverse/package.json +++ b/tools/eslint/node_modules/@babel/traverse/package.json @@ -1,6 +1,6 @@ { "name": "@babel/traverse", - "version": "7.24.8", + "version": "7.25.0", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-traverse", @@ -17,18 +17,15 @@ "main": "./lib/index.js", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0", "debug": "^4.3.1", "globals": "^11.1.0" }, "devDependencies": { - "@babel/core": "^7.24.8", + "@babel/core": "^7.24.9", "@babel/helper-plugin-test-runner": "^7.24.7" }, "engines": { diff --git a/tools/eslint/node_modules/@babel/types/lib/clone/cloneNode.js b/tools/eslint/node_modules/@babel/types/lib/clone/cloneNode.js index 851004806bc3af..f4686ffd85affd 100644 --- a/tools/eslint/node_modules/@babel/types/lib/clone/cloneNode.js +++ b/tools/eslint/node_modules/@babel/types/lib/clone/cloneNode.js @@ -42,6 +42,9 @@ function cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) if (hasOwn(node, "typeAnnotation")) { newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation; } + if (hasOwn(node, "decorators")) { + newNode.decorators = deep ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache) : node.decorators; + } } else if (!hasOwn(_index.NODE_FIELDS, type)) { throw new Error(`Unknown node type: "${type}"`); } else { diff --git a/tools/eslint/node_modules/@babel/types/lib/index.js b/tools/eslint/node_modules/@babel/types/lib/index.js index 84b756f0526f2e..82808948c118b8 100644 --- a/tools/eslint/node_modules/@babel/types/lib/index.js +++ b/tools/eslint/node_modules/@babel/types/lib/index.js @@ -37,8 +37,10 @@ var _exportNames = { removeProperties: true, removePropertiesDeep: true, removeTypeDuplicates: true, + getAssignmentIdentifiers: true, getBindingIdentifiers: true, getOuterBindingIdentifiers: true, + getFunctionName: true, traverse: true, traverseFast: true, shallowEqual: true, @@ -158,12 +160,24 @@ Object.defineProperty(exports, "ensureBlock", { return _ensureBlock.default; } }); +Object.defineProperty(exports, "getAssignmentIdentifiers", { + enumerable: true, + get: function () { + return _getAssignmentIdentifiers.default; + } +}); Object.defineProperty(exports, "getBindingIdentifiers", { enumerable: true, get: function () { return _getBindingIdentifiers.default; } }); +Object.defineProperty(exports, "getFunctionName", { + enumerable: true, + get: function () { + return _getFunctionName.default; + } +}); Object.defineProperty(exports, "getOuterBindingIdentifiers", { enumerable: true, get: function () { @@ -517,8 +531,10 @@ var _prependToMemberExpression = require("./modifications/prependToMemberExpress var _removeProperties = require("./modifications/removeProperties.js"); var _removePropertiesDeep = require("./modifications/removePropertiesDeep.js"); var _removeTypeDuplicates = require("./modifications/flow/removeTypeDuplicates.js"); +var _getAssignmentIdentifiers = require("./retrievers/getAssignmentIdentifiers.js"); var _getBindingIdentifiers = require("./retrievers/getBindingIdentifiers.js"); var _getOuterBindingIdentifiers = require("./retrievers/getOuterBindingIdentifiers.js"); +var _getFunctionName = require("./retrievers/getFunctionName.js"); var _traverse = require("./traverse/traverse.js"); Object.keys(_traverse).forEach(function (key) { if (key === "default" || key === "__esModule") return; diff --git a/tools/eslint/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js b/tools/eslint/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js new file mode 100644 index 00000000000000..fb8db3157e112e --- /dev/null +++ b/tools/eslint/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js @@ -0,0 +1,48 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getAssignmentIdentifiers; +function getAssignmentIdentifiers(node) { + const search = [].concat(node); + const ids = Object.create(null); + while (search.length) { + const id = search.pop(); + if (!id) continue; + switch (id.type) { + case "ArrayPattern": + search.push(...id.elements); + break; + case "AssignmentExpression": + case "AssignmentPattern": + case "ForInStatement": + case "ForOfStatement": + search.push(id.left); + break; + case "ObjectPattern": + search.push(...id.properties); + break; + case "ObjectProperty": + search.push(id.value); + break; + case "RestElement": + case "UpdateExpression": + search.push(id.argument); + break; + case "UnaryExpression": + if (id.operator === "delete") { + search.push(id.argument); + } + break; + case "Identifier": + ids[id.name] = id; + break; + default: + break; + } + } + return ids; +} + +//# sourceMappingURL=getAssignmentIdentifiers.js.map diff --git a/tools/eslint/node_modules/@babel/types/lib/retrievers/getFunctionName.js b/tools/eslint/node_modules/@babel/types/lib/retrievers/getFunctionName.js new file mode 100644 index 00000000000000..43d33d78fdb0a8 --- /dev/null +++ b/tools/eslint/node_modules/@babel/types/lib/retrievers/getFunctionName.js @@ -0,0 +1,63 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getFunctionName; +var _index = require("../validators/generated/index.js"); +function getNameFromLiteralId(id) { + if ((0, _index.isNullLiteral)(id)) { + return "null"; + } + if ((0, _index.isRegExpLiteral)(id)) { + return `/${id.pattern}/${id.flags}`; + } + if ((0, _index.isTemplateLiteral)(id)) { + return id.quasis.map(quasi => quasi.value.raw).join(""); + } + if (id.value !== undefined) { + return String(id.value); + } + return null; +} +function getObjectMemberKey(node) { + if (!node.computed || (0, _index.isLiteral)(node.key)) { + return node.key; + } +} +function getFunctionName(node, parent) { + if ("id" in node && node.id) { + return { + name: node.id.name, + originalNode: node.id + }; + } + let prefix = ""; + let id; + if ((0, _index.isObjectProperty)(parent, { + value: node + })) { + id = getObjectMemberKey(parent); + } else if ((0, _index.isObjectMethod)(node) || (0, _index.isClassMethod)(node)) { + id = getObjectMemberKey(node); + if (node.kind === "get") prefix = "get ";else if (node.kind === "set") prefix = "set "; + } else if ((0, _index.isVariableDeclarator)(parent, { + init: node + })) { + id = parent.id; + } else if ((0, _index.isAssignmentExpression)(parent, { + operator: "=", + right: node + })) { + id = parent.left; + } + if (!id) return null; + const name = (0, _index.isLiteral)(id) ? getNameFromLiteralId(id) : (0, _index.isIdentifier)(id) ? id.name : (0, _index.isPrivateName)(id) ? id.id.name : null; + if (name == null) return null; + return { + name: prefix + name, + originalNode: id + }; +} + +//# sourceMappingURL=getFunctionName.js.map diff --git a/tools/eslint/node_modules/@babel/types/package.json b/tools/eslint/node_modules/@babel/types/package.json index fe1109e547f198..d8b57e2a8a50ad 100644 --- a/tools/eslint/node_modules/@babel/types/package.json +++ b/tools/eslint/node_modules/@babel/types/package.json @@ -1,6 +1,6 @@ { "name": "@babel/types", - "version": "7.24.8", + "version": "7.25.0", "description": "Babel Types is a Lodash-esque utility library for AST nodes", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-types", @@ -17,7 +17,7 @@ "main": "./lib/index.js", "types": "./lib/index-legacy.d.ts", "typesVersions": { - ">=3.7": { + ">=4.1": { "lib/index-legacy.d.ts": [ "lib/index.d.ts" ] @@ -29,8 +29,8 @@ "to-fast-properties": "^2.0.0" }, "devDependencies": { - "@babel/generator": "^7.24.8", - "@babel/parser": "^7.24.8", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.0", "glob": "^7.2.0" }, "engines": { diff --git a/tools/eslint/node_modules/@eslint/config-array/dist/cjs/index.cjs b/tools/eslint/node_modules/@eslint/config-array/dist/cjs/index.cjs index 0a4b034e6f60bb..9768999f251003 100644 --- a/tools/eslint/node_modules/@eslint/config-array/dist/cjs/index.cjs +++ b/tools/eslint/node_modules/@eslint/config-array/dist/cjs/index.cjs @@ -1170,6 +1170,11 @@ class ConfigArray extends Array { .relative(this.basePath, directoryPath) .replace(/\\/gu, "/"); + // basePath directory can never be ignored + if (relativeDirectoryPath === "") { + return false; + } + if (relativeDirectoryPath.startsWith("..")) { return true; } diff --git a/tools/eslint/node_modules/@eslint/config-array/dist/esm/index.js b/tools/eslint/node_modules/@eslint/config-array/dist/esm/index.js index ce238f280e5c58..249c55e90b8197 100644 --- a/tools/eslint/node_modules/@eslint/config-array/dist/esm/index.js +++ b/tools/eslint/node_modules/@eslint/config-array/dist/esm/index.js @@ -1169,6 +1169,11 @@ class ConfigArray extends Array { .relative(this.basePath, directoryPath) .replace(/\\/gu, "/"); + // basePath directory can never be ignored + if (relativeDirectoryPath === "") { + return false; + } + if (relativeDirectoryPath.startsWith("..")) { return true; } diff --git a/tools/eslint/node_modules/@eslint/config-array/package.json b/tools/eslint/node_modules/@eslint/config-array/package.json index 5e7f838e47cc4e..0315920daffcb9 100644 --- a/tools/eslint/node_modules/@eslint/config-array/package.json +++ b/tools/eslint/node_modules/@eslint/config-array/package.json @@ -1,6 +1,6 @@ { "name": "@eslint/config-array", - "version": "0.17.0", + "version": "0.17.1", "description": "General purpose glob-based configuration matching.", "author": "Nicholas C. Zakas", "type": "module", diff --git a/tools/eslint/node_modules/@eslint/js/package.json b/tools/eslint/node_modules/@eslint/js/package.json index 898afe3bd8a615..bac2bd6e4eda11 100644 --- a/tools/eslint/node_modules/@eslint/js/package.json +++ b/tools/eslint/node_modules/@eslint/js/package.json @@ -1,6 +1,6 @@ { "name": "@eslint/js", - "version": "9.7.0", + "version": "9.8.0", "description": "ESLint JavaScript language implementation", "main": "./src/index.js", "scripts": {}, diff --git a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/configs.js b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/configs.js index 4841b0bd40b78d..18be8aac74fff4 100644 --- a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/configs.js +++ b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/configs.js @@ -75,7 +75,7 @@ function createAllConfigs(plugin, name, flat, filter) { Object.entries(plugin.rules).filter( ([key, rule]) => ( // Only include fixable rules - rule.meta.fixable && !rule.meta.deprecated && key === rule.meta.docs.url.split("/").pop() && (!filter ) + rule.meta.fixable && !rule.meta.deprecated && key === rule.meta.docs.url.split("/").pop() && (!filter) ) ).map(([key]) => [`${name}/${key}`, 2]) ); diff --git a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/indent.js b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/indent.js index 7f3bec52653ce5..cdea878097146c 100644 --- a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/indent.js +++ b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/indent.js @@ -604,7 +604,7 @@ var indent = utils.createRule({ } function validateTokenIndent(token, desiredIndent) { const indentation = tokenInfo.getTokenIndent(token); - return indentation === desiredIndent || indentation.includes(" ") && indentation.includes(" "); + return indentation === desiredIndent; } function isOuterIIFE(node) { if (!node.parent || node.parent.type !== "CallExpression" || node.parent.callee !== node) diff --git a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/no-extra-parens.js b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/no-extra-parens.js index e84b7dcaf76459..282eb46c9350a9 100644 --- a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/no-extra-parens.js +++ b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/dist/no-extra-parens.js @@ -243,8 +243,7 @@ var noExtraParens = utils.createRule({ function checkCallNew(node) { const callee = node.callee; if (hasExcessParensWithPrecedence(callee, precedence(node))) { - if (hasDoubleExcessParens(callee) || !(isIIFE(node) || // @ts-expect-error comment above - callee.type === "NewExpression" && !isNewExpressionWithParens(callee) && !(node.type === "NewExpression" && !isNewExpressionWithParens(node)) || node.type === "NewExpression" && callee.type === "MemberExpression" && doesMemberExpressionContainCallExpression(callee) || (!("optional" in node) || !node.optional) && callee.type === "ChainExpression")) { + if (hasDoubleExcessParens(callee) || !(isIIFE(node) || callee.type === "NewExpression" && !isNewExpressionWithParens(callee) && !(node.type === "NewExpression" && !isNewExpressionWithParens(node)) || node.type === "NewExpression" && callee.type === "MemberExpression" && doesMemberExpressionContainCallExpression(callee) || (!("optional" in node) || !node.optional) && callee.type === "ChainExpression")) { report(node.callee); } } diff --git a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/package.json b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/package.json index 2b5c6051b4bd6f..abeb6140ea69a0 100644 --- a/tools/eslint/node_modules/@stylistic/eslint-plugin-js/package.json +++ b/tools/eslint/node_modules/@stylistic/eslint-plugin-js/package.json @@ -1,6 +1,6 @@ { "name": "@stylistic/eslint-plugin-js", - "version": "2.3.0", + "version": "2.4.0", "author": "Anthony Fu ", "license": "MIT", "homepage": "https://github.com/eslint-stylistic/eslint-stylistic#readme", @@ -109,14 +109,14 @@ "eslint": ">=8.40.0" }, "dependencies": { - "@types/eslint": "^8.56.10", - "acorn": "^8.11.3", + "@types/eslint": "^9.6.0", + "acorn": "^8.12.1", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1" + "espree": "^10.1.0" }, "devDependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/parser": "^7.12.0", + "@typescript-eslint/parser": "^7.17.0", "escape-string-regexp": "^5.0.0" }, "scripts": { diff --git a/tools/eslint/node_modules/@types/eslint/package.json b/tools/eslint/node_modules/@types/eslint/package.json index fa6917a992ed5f..42b664db311e5e 100644 --- a/tools/eslint/node_modules/@types/eslint/package.json +++ b/tools/eslint/node_modules/@types/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@types/eslint", - "version": "8.56.10", + "version": "9.6.0", "description": "TypeScript definitions for eslint", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint", "license": "MIT", @@ -65,6 +65,6 @@ "@types/estree": "*", "@types/json-schema": "*" }, - "typesPublisherContentHash": "522d3c76ab9a1be04075a38852c1f9c8c64f6722d17428f2cbbddc55e0477b81", - "typeScriptVersion": "4.7" + "typesPublisherContentHash": "b9dc2442a6de9477777294005e6b8dcf6c0dee1bdcf1fe79fea879291a522175", + "typeScriptVersion": "4.8" } \ No newline at end of file diff --git a/tools/eslint/node_modules/debug/package.json b/tools/eslint/node_modules/debug/package.json index cb67103857af1f..8eea05520554eb 100644 --- a/tools/eslint/node_modules/debug/package.json +++ b/tools/eslint/node_modules/debug/package.json @@ -1,6 +1,6 @@ { "name": "debug", - "version": "4.3.5", + "version": "4.3.6", "repository": { "type": "git", "url": "git://github.com/debug-js/debug.git" diff --git a/tools/eslint/node_modules/debug/src/browser.js b/tools/eslint/node_modules/debug/src/browser.js index cd0fc35d1ee11e..8d808e5889da5f 100644 --- a/tools/eslint/node_modules/debug/src/browser.js +++ b/tools/eslint/node_modules/debug/src/browser.js @@ -125,6 +125,8 @@ function useColors() { return false; } + let m; + // Is webkit? http://stackoverflow.com/a/16459606/376773 // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || @@ -132,7 +134,7 @@ function useColors() { (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || // Is firefox >= v31? // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || // Double check webkit in userAgent just in case we are in a worker (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); } diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/defaultTagOrder.cjs b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/defaultTagOrder.cjs index f458909d3a602d..3960cf8fff7ae2 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/defaultTagOrder.cjs +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/defaultTagOrder.cjs @@ -11,7 +11,7 @@ const defaultTagOrder = [{ // Module/file-level 'module', 'exports', 'file', 'fileoverview', 'overview', 'import', // Identifying (name, type) - 'typedef', 'interface', 'record', 'template', 'name', 'kind', 'type', 'alias', 'external', 'host', 'callback', 'func', 'function', 'method', 'class', 'constructor', + 'template', 'typedef', 'interface', 'record', 'name', 'kind', 'type', 'alias', 'external', 'host', 'callback', 'func', 'function', 'method', 'class', 'constructor', // Relationships 'modifies', 'mixes', 'mixin', 'mixinClass', 'mixinFunction', 'namespace', 'borrows', 'constructs', 'lends', 'implements', 'requires', // Long descriptions diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/index.cjs b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/index.cjs index 5f76dec7793803..46a3c83add77ba 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/index.cjs +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/index.cjs @@ -13,6 +13,7 @@ var _checkParamNames = _interopRequireDefault(require("./rules/checkParamNames.c var _checkPropertyNames = _interopRequireDefault(require("./rules/checkPropertyNames.cjs")); var _checkSyntax = _interopRequireDefault(require("./rules/checkSyntax.cjs")); var _checkTagNames = _interopRequireDefault(require("./rules/checkTagNames.cjs")); +var _checkTemplateNames = _interopRequireDefault(require("./rules/checkTemplateNames.cjs")); var _checkTypes = _interopRequireDefault(require("./rules/checkTypes.cjs")); var _checkValues = _interopRequireDefault(require("./rules/checkValues.cjs")); var _convertToJsdocComments = _interopRequireDefault(require("./rules/convertToJsdocComments.cjs")); @@ -87,6 +88,7 @@ const index = { 'check-property-names': _checkPropertyNames.default, 'check-syntax': _checkSyntax.default, 'check-tag-names': _checkTagNames.default, + 'check-template-names': _checkTemplateNames.default, 'check-types': _checkTypes.default, 'check-values': _checkValues.default, 'convert-to-jsdoc-comments': _convertToJsdocComments.default, @@ -160,6 +162,7 @@ const createRecommendedRuleset = (warnOrError, flatName) => { 'jsdoc/check-property-names': warnOrError, 'jsdoc/check-syntax': 'off', 'jsdoc/check-tag-names': warnOrError, + 'jsdoc/check-template-names': 'off', 'jsdoc/check-types': warnOrError, 'jsdoc/check-values': warnOrError, 'jsdoc/convert-to-jsdoc-comments': 'off', diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTemplateNames.cjs b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTemplateNames.cjs new file mode 100644 index 00000000000000..9842d6890cf575 --- /dev/null +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTemplateNames.cjs @@ -0,0 +1,127 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _jsdoccomment = require("@es-joy/jsdoccomment"); +var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc.cjs")); +function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +var _default = exports.default = (0, _iterateJsdoc.default)(({ + context, + utils, + node, + settings, + report +}) => { + const { + mode + } = settings; + const templateTags = utils.getTags('template'); + const usedNames = new Set(); + /** + * @param {import('@typescript-eslint/types').TSESTree.TSTypeAliasDeclaration} aliasDeclaration + */ + const checkParameters = aliasDeclaration => { + /* c8 ignore next -- Guard */ + const { + params + } = aliasDeclaration.typeParameters ?? { + params: [] + }; + for (const { + name: { + name + } + } of params) { + usedNames.add(name); + } + for (const tag of templateTags) { + const { + name + } = tag; + const names = name.split(/,\s*/); + for (const name of names) { + if (!usedNames.has(name)) { + report(`@template ${name} not in use`, null, tag); + } + } + } + }; + const handleTypeAliases = () => { + var _nde$declaration; + const nde = /** @type {import('@typescript-eslint/types').TSESTree.Node} */ + node; + if (!nde) { + return; + } + switch (nde.type) { + case 'ExportNamedDeclaration': + if (((_nde$declaration = nde.declaration) === null || _nde$declaration === void 0 ? void 0 : _nde$declaration.type) === 'TSTypeAliasDeclaration') { + checkParameters(nde.declaration); + } + break; + case 'TSTypeAliasDeclaration': + checkParameters(nde); + break; + } + }; + const typedefTags = utils.getTags('typedef'); + if (!typedefTags.length || typedefTags.length >= 2) { + handleTypeAliases(); + return; + } + + /** + * @param {string} potentialType + */ + const checkForUsedTypes = potentialType => { + let parsedType; + try { + parsedType = mode === 'permissive' ? (0, _jsdoccomment.tryParse)( /** @type {string} */potentialType) : (0, _jsdoccomment.parse)( /** @type {string} */potentialType, mode); + } catch { + return; + } + (0, _jsdoccomment.traverse)(parsedType, nde => { + const { + type, + value + } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */nde; + if (type === 'JsdocTypeName' && /^[A-Z]$/.test(value)) { + usedNames.add(value); + } + }); + }; + const potentialTypedefType = typedefTags[0].type; + checkForUsedTypes(potentialTypedefType); + const tagName = /** @type {string} */utils.getPreferredTagName({ + tagName: 'property' + }); + const propertyTags = utils.getTags(tagName); + for (const propertyTag of propertyTags) { + checkForUsedTypes(propertyTag.type); + } + for (const tag of templateTags) { + const { + name + } = tag; + const names = name.split(/,\s*/); + for (const name of names) { + if (!usedNames.has(name)) { + report(`@template ${name} not in use`, null, tag); + } + } + } +}, { + iterateAllJsdocs: true, + meta: { + docs: { + description: 'Checks that any `@template` names are actually used in the connected `@typedef` or type alias.', + url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header' + }, + schema: [], + type: 'suggestion' + } +}); +module.exports = exports.default; +//# sourceMappingURL=checkTemplateNames.cjs.map \ No newline at end of file diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireTemplate.cjs b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireTemplate.cjs index b81f45f18d4df0..6a68e5d7db0c4e 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireTemplate.cjs +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireTemplate.cjs @@ -83,22 +83,45 @@ var _default = exports.default = (0, _iterateJsdoc.default)(({ handleTypeAliases(); return; } - const potentialType = typedefTags[0].type; - const parsedType = mode === 'permissive' ? (0, _jsdoccomment.tryParse)( /** @type {string} */potentialType) : (0, _jsdoccomment.parse)( /** @type {string} */potentialType, mode); - (0, _jsdoccomment.traverse)(parsedType, nde => { - const { - type, - value - } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */nde; - if (type === 'JsdocTypeName' && /^[A-Z]$/.test(value)) { - usedNames.add(value); + const usedNameToTag = new Map(); + + /** + * @param {import('comment-parser').Spec} potentialTag + */ + const checkForUsedTypes = potentialTag => { + let parsedType; + try { + parsedType = mode === 'permissive' ? (0, _jsdoccomment.tryParse)( /** @type {string} */potentialTag.type) : (0, _jsdoccomment.parse)( /** @type {string} */potentialTag.type, mode); + } catch { + return; } + (0, _jsdoccomment.traverse)(parsedType, nde => { + const { + type, + value + } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */nde; + if (type === 'JsdocTypeName' && /^[A-Z]$/.test(value)) { + usedNames.add(value); + if (!usedNameToTag.has(value)) { + usedNameToTag.set(value, potentialTag); + } + } + }); + }; + const potentialTypedef = typedefTags[0]; + checkForUsedTypes(potentialTypedef); + const tagName = /** @type {string} */utils.getPreferredTagName({ + tagName: 'property' }); + const propertyTags = utils.getTags(tagName); + for (const propertyTag of propertyTags) { + checkForUsedTypes(propertyTag); + } // Could check against whitelist/blacklist for (const usedName of usedNames) { if (!templateNames.includes(usedName)) { - report(`Missing @template ${usedName}`, null, typedefTags[0]); + report(`Missing @template ${usedName}`, null, usedNameToTag.get(usedName)); } } }, { diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/classes/range.js b/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/classes/range.js index 117b45a2b8e055..ceee23144d3b89 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/classes/range.js +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/classes/range.js @@ -1,3 +1,5 @@ +const SPACE_CHARACTERS = /\s+/g + // hoisted class for cyclic dependency class Range { constructor (range, options) { @@ -18,7 +20,7 @@ class Range { // just put it in the set and return this.raw = range.value this.set = [[range]] - this.format() + this.formatted = undefined return this } @@ -29,10 +31,7 @@ class Range { // First reduce all whitespace as much as possible so we do not have to rely // on potentially slow regexes like \s*. This is then stored and used for // future error messages as well. - this.raw = range - .trim() - .split(/\s+/) - .join(' ') + this.raw = range.trim().replace(SPACE_CHARACTERS, ' ') // First, split on || this.set = this.raw @@ -66,14 +65,29 @@ class Range { } } - this.format() + this.formatted = undefined + } + + get range () { + if (this.formatted === undefined) { + this.formatted = '' + for (let i = 0; i < this.set.length; i++) { + if (i > 0) { + this.formatted += '||' + } + const comps = this.set[i] + for (let k = 0; k < comps.length; k++) { + if (k > 0) { + this.formatted += ' ' + } + this.formatted += comps[k].toString().trim() + } + } + } + return this.formatted } format () { - this.range = this.set - .map((comps) => comps.join(' ').trim()) - .join('||') - .trim() return this.range } diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/package.json b/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/package.json index cb8def45184df1..663d3701b7e6b0 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/package.json +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/node_modules/semver/package.json @@ -1,6 +1,6 @@ { "name": "semver", - "version": "7.6.2", + "version": "7.6.3", "description": "The semantic version parser used by npm.", "main": "index.js", "scripts": { diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/package.json b/tools/eslint/node_modules/eslint-plugin-jsdoc/package.json index 4ee9c3c83147fd..0ab9d6c33c9f96 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/package.json +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/package.json @@ -12,19 +12,19 @@ "escape-string-regexp": "^4.0.0", "esquery": "^1.6.0", "parse-imports": "^2.1.1", - "semver": "^7.6.2", + "semver": "^7.6.3", "spdx-expression-parse": "^4.0.0", - "synckit": "^0.9.0" + "synckit": "^0.9.1" }, "description": "JSDoc linting rules for ESLint.", "devDependencies": { - "@babel/cli": "^7.24.7", - "@babel/core": "^7.24.7", - "@babel/eslint-parser": "^7.24.7", - "@babel/node": "^7.24.7", + "@babel/cli": "^7.24.8", + "@babel/core": "^7.24.9", + "@babel/eslint-parser": "^7.24.8", + "@babel/node": "^7.24.8", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-transform-flow-strip-types": "^7.24.7", - "@babel/preset-env": "^7.24.7", + "@babel/preset-env": "^7.24.8", "@es-joy/escodegen": "^3.5.1", "@es-joy/jsdoc-eslint-parser": "^0.21.1", "@hkdobrev/run-if-changed": "^0.3.1", @@ -39,10 +39,10 @@ "@types/json-schema": "^7.0.15", "@types/lodash.defaultsdeep": "^4.6.9", "@types/mocha": "^10.0.7", - "@types/node": "^20.14.10", + "@types/node": "^20.14.11", "@types/semver": "^7.5.8", "@types/spdx-expression-parse": "^3.0.5", - "@typescript-eslint/types": "^7.16.0", + "@typescript-eslint/types": "^7.16.1", "babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-istanbul": "^7.0.0", "babel-plugin-transform-import-meta": "^2.2.1", @@ -51,19 +51,19 @@ "chai": "^5.1.1", "cross-env": "^7.0.3", "decamelize": "^6.0.0", - "eslint": "9.6.0", - "eslint-config-canonical": "~43.0.13", + "eslint": "9.7.0", + "eslint-config-canonical": "~43.0.14", "espree": "^10.1.0", - "gitdown": "^4.0.0", + "gitdown": "^4.1.1", "glob": "^10.4.2", "globals": "^15.8.0", - "husky": "^9.0.11", + "husky": "^9.1.1", "jsdoc-type-pratt-parser": "^4.0.0", "json-schema": "^0.4.0", "lint-staged": "^15.2.7", "lodash.defaultsdeep": "^4.6.1", "mocha": "^10.6.0", - "open-editor": "^4.1.1", + "open-editor": "^5.0.0", "replace": "^1.2.2", "rimraf": "^5.0.7", "semantic-release": "^24.0.0", @@ -144,5 +144,5 @@ "test-cov": "cross-env TIMING=1 c8 --reporter text npm run test-no-cov", "test-index": "npm run test-no-cov -- test/rules/index.js" }, - "version": "48.7.0" + "version": "48.8.3" } diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/defaultTagOrder.js b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/defaultTagOrder.js index 6bcf0e8ebcee30..326bdb7da6ea6e 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/defaultTagOrder.js +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/defaultTagOrder.js @@ -14,10 +14,10 @@ const defaultTagOrder = [ 'import', // Identifying (name, type) + 'template', 'typedef', 'interface', 'record', - 'template', 'name', 'kind', 'type', diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/index.js b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/index.js index a6a6bae644556a..aa750fb6d2f296 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/index.js +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/index.js @@ -7,6 +7,7 @@ import checkParamNames from './rules/checkParamNames.js'; import checkPropertyNames from './rules/checkPropertyNames.js'; import checkSyntax from './rules/checkSyntax.js'; import checkTagNames from './rules/checkTagNames.js'; +import checkTemplateNames from './rules/checkTemplateNames.js'; import checkTypes from './rules/checkTypes.js'; import checkValues from './rules/checkValues.js'; import convertToJsdocComments from './rules/convertToJsdocComments.js'; @@ -81,6 +82,7 @@ const index = { 'check-property-names': checkPropertyNames, 'check-syntax': checkSyntax, 'check-tag-names': checkTagNames, + 'check-template-names': checkTemplateNames, 'check-types': checkTypes, 'check-values': checkValues, 'convert-to-jsdoc-comments': convertToJsdocComments, @@ -155,6 +157,7 @@ const createRecommendedRuleset = (warnOrError, flatName) => { 'jsdoc/check-property-names': warnOrError, 'jsdoc/check-syntax': 'off', 'jsdoc/check-tag-names': warnOrError, + 'jsdoc/check-template-names': 'off', 'jsdoc/check-types': warnOrError, 'jsdoc/check-values': warnOrError, 'jsdoc/convert-to-jsdoc-comments': 'off', diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/checkTemplateNames.js b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/checkTemplateNames.js new file mode 100644 index 00000000000000..a7480d0aab40c4 --- /dev/null +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/checkTemplateNames.js @@ -0,0 +1,121 @@ +import { + parse as parseType, + traverse, + tryParse as tryParseType, +} from '@es-joy/jsdoccomment'; +import iterateJsdoc from '../iterateJsdoc.js'; + +export default iterateJsdoc(({ + context, + utils, + node, + settings, + report, +}) => { + const { + mode + } = settings; + + const templateTags = utils.getTags('template'); + + const usedNames = new Set(); + /** + * @param {import('@typescript-eslint/types').TSESTree.TSTypeAliasDeclaration} aliasDeclaration + */ + const checkParameters = (aliasDeclaration) => { + /* c8 ignore next -- Guard */ + const {params} = aliasDeclaration.typeParameters ?? {params: []}; + for (const {name: {name}} of params) { + usedNames.add(name); + } + for (const tag of templateTags) { + const {name} = tag; + const names = name.split(/,\s*/); + for (const name of names) { + if (!usedNames.has(name)) { + report(`@template ${name} not in use`, null, tag); + } + } + } + }; + + const handleTypeAliases = () => { + const nde = /** @type {import('@typescript-eslint/types').TSESTree.Node} */ ( + node + ); + if (!nde) { + return; + } + switch (nde.type) { + case 'ExportNamedDeclaration': + if (nde.declaration?.type === 'TSTypeAliasDeclaration') { + checkParameters(nde.declaration); + } + break; + case 'TSTypeAliasDeclaration': + checkParameters(nde); + break; + } + }; + + const typedefTags = utils.getTags('typedef'); + if (!typedefTags.length || typedefTags.length >= 2) { + handleTypeAliases(); + return; + } + + /** + * @param {string} potentialType + */ + const checkForUsedTypes = (potentialType) => { + let parsedType; + try { + parsedType = mode === 'permissive' ? + tryParseType(/** @type {string} */ (potentialType)) : + parseType(/** @type {string} */ (potentialType), mode); + } catch { + return; + } + + traverse(parsedType, (nde) => { + const { + type, + value, + } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */ (nde); + if (type === 'JsdocTypeName' && (/^[A-Z]$/).test(value)) { + usedNames.add(value); + } + }); + }; + + const potentialTypedefType = typedefTags[0].type; + checkForUsedTypes(potentialTypedefType); + + const tagName = /** @type {string} */ (utils.getPreferredTagName({ + tagName: 'property', + })); + const propertyTags = utils.getTags(tagName); + for (const propertyTag of propertyTags) { + checkForUsedTypes(propertyTag.type); + } + + for (const tag of templateTags) { + const {name} = tag; + const names = name.split(/,\s*/); + for (const name of names) { + if (!usedNames.has(name)) { + report(`@template ${name} not in use`, null, tag); + } + } + } +}, { + iterateAllJsdocs: true, + meta: { + docs: { + description: 'Checks that any `@template` names are actually used in the connected `@typedef` or type alias.', + url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header', + }, + schema: [], + type: 'suggestion', + }, +}); diff --git a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/requireTemplate.js b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/requireTemplate.js index 015902eb0e8993..6d4bf3e8f9cb6f 100644 --- a/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/requireTemplate.js +++ b/tools/eslint/node_modules/eslint-plugin-jsdoc/src/rules/requireTemplate.js @@ -75,25 +75,50 @@ export default iterateJsdoc(({ return; } - const potentialType = typedefTags[0].type; - const parsedType = mode === 'permissive' ? - tryParseType(/** @type {string} */ (potentialType)) : - parseType(/** @type {string} */ (potentialType), mode) + const usedNameToTag = new Map(); - traverse(parsedType, (nde) => { - const { - type, - value, - } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */ (nde); - if (type === 'JsdocTypeName' && (/^[A-Z]$/).test(value)) { - usedNames.add(value); + /** + * @param {import('comment-parser').Spec} potentialTag + */ + const checkForUsedTypes = (potentialTag) => { + let parsedType; + try { + parsedType = mode === 'permissive' ? + tryParseType(/** @type {string} */ (potentialTag.type)) : + parseType(/** @type {string} */ (potentialTag.type), mode) + } catch { + return; } - }); + + traverse(parsedType, (nde) => { + const { + type, + value, + } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */ (nde); + if (type === 'JsdocTypeName' && (/^[A-Z]$/).test(value)) { + usedNames.add(value); + if (!usedNameToTag.has(value)) { + usedNameToTag.set(value, potentialTag); + } + } + }); + }; + + const potentialTypedef = typedefTags[0]; + checkForUsedTypes(potentialTypedef); + + const tagName = /** @type {string} */ (utils.getPreferredTagName({ + tagName: 'property', + })); + const propertyTags = utils.getTags(tagName); + for (const propertyTag of propertyTags) { + checkForUsedTypes(propertyTag); + } // Could check against whitelist/blacklist for (const usedName of usedNames) { if (!templateNames.includes(usedName)) { - report(`Missing @template ${usedName}`, null, typedefTags[0]); + report(`Missing @template ${usedName}`, null, usedNameToTag.get(usedName)); } } }, { diff --git a/tools/eslint/node_modules/eslint/lib/cli.js b/tools/eslint/node_modules/eslint/lib/cli.js index 6ee9e537982c97..6ba4fe2ef63a95 100644 --- a/tools/eslint/node_modules/eslint/lib/cli.js +++ b/tools/eslint/node_modules/eslint/lib/cli.js @@ -26,7 +26,6 @@ const fs = require("node:fs"), { normalizeSeverityToString } = require("./shared/severity"); const { Legacy: { naming } } = require("@eslint/eslintrc"); const { ModuleImporter } = require("@humanwhocodes/module-importer"); -const { inactiveFlags, activeFlags } = require("./shared/flags"); const debug = require("debug")("eslint:cli"); //------------------------------------------------------------------------------ @@ -488,25 +487,6 @@ const cli = { const ActiveESLint = usingFlatConfig ? ESLint : LegacyESLint; const eslintOptions = await translateOptions(options, usingFlatConfig ? "flat" : "eslintrc"); - - if (eslintOptions.flags) { - debug("Checking for inactive flags"); - - for (const flag of eslintOptions.flags) { - if (inactiveFlags.has(flag)) { - log.warn(`InactiveFlag: The '${flag}' flag is no longer active: ${inactiveFlags.get(flag)}`); - continue; - } - - if (activeFlags.has(flag)) { - continue; - } - - log.error(`InvalidFlag: The '${flag}' flag is invalid.`); - return 2; - } - } - const engine = new ActiveESLint(eslintOptions); let results; diff --git a/tools/eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js b/tools/eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js index 7baf2ea26c864f..f672fc883156ec 100644 --- a/tools/eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +++ b/tools/eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js @@ -916,6 +916,25 @@ class SourceCode extends TokenStore { return ancestorsStartingAtParent.reverse(); } + + /** + * Returns the locatin of the given node or token. + * @param {ASTNode|Token} nodeOrToken The node or token to get the location of. + * @returns {SourceLocation} The location of the node or token. + */ + getLoc(nodeOrToken) { + return nodeOrToken.loc; + } + + /** + * Returns the range of the given node or token. + * @param {ASTNode|Token} nodeOrToken The node or token to get the range of. + * @returns {[number, number]} The range of the node or token. + */ + getRange(nodeOrToken) { + return nodeOrToken.range; + } + /* eslint-enable class-methods-use-this -- node is owned by SourceCode */ /** diff --git a/tools/eslint/node_modules/eslint/lib/linter/apply-disable-directives.js b/tools/eslint/node_modules/eslint/lib/linter/apply-disable-directives.js index 723bcf55015c2d..ba7e58906a88da 100644 --- a/tools/eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +++ b/tools/eslint/node_modules/eslint/lib/linter/apply-disable-directives.js @@ -61,15 +61,18 @@ function groupByParentDirective(directives) { * Creates removal details for a set of directives within the same comment. * @param {Directive[]} directives Unused directives to be removed. * @param {Token} node The backing Comment token. + * @param {SourceCode} sourceCode The source code object for the file being linted. * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems. */ -function createIndividualDirectivesRemoval(directives, node) { +function createIndividualDirectivesRemoval(directives, node, sourceCode) { + + const range = sourceCode.getRange(node); /* * `node.value` starts right after `//` or `/*`. * All calculated offsets will be relative to this index. */ - const commentValueStart = node.range[0] + "//".length; + const commentValueStart = range[0] + "//".length; // Find where the list of rules starts. `\S+` matches with the directive name (e.g. `eslint-disable-line`) const listStartOffset = /^\s*\S+\s+/u.exec(node.value)[0].length; @@ -165,10 +168,11 @@ function createIndividualDirectivesRemoval(directives, node) { * Creates a description of deleting an entire unused disable directive. * @param {Directive[]} directives Unused directives to be removed. * @param {Token} node The backing Comment token. + * @param {SourceCode} sourceCode The source code object for the file being linted. * @returns {{ description, fix, unprocessedDirective }} Details for later creation of an output problem. */ -function createDirectiveRemoval(directives, node) { - const { range } = node; +function createDirectiveRemoval(directives, node, sourceCode) { + const range = sourceCode.getRange(node); const ruleIds = directives.filter(directive => directive.ruleId).map(directive => `'${directive.ruleId}'`); return { @@ -186,9 +190,10 @@ function createDirectiveRemoval(directives, node) { /** * Parses details from directives to create output Problems. * @param {Iterable} allDirectives Unused directives to be removed. + * @param {SourceCode} sourceCode The source code object for the file being linted. * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems. */ -function processUnusedDirectives(allDirectives) { +function processUnusedDirectives(allDirectives, sourceCode) { const directiveGroups = groupByParentDirective(allDirectives); return directiveGroups.flatMap( @@ -201,8 +206,8 @@ function processUnusedDirectives(allDirectives) { } return remainingRuleIds.size - ? createIndividualDirectivesRemoval(directives, parentDirective.node) - : [createDirectiveRemoval(directives, parentDirective.node)]; + ? createIndividualDirectivesRemoval(directives, parentDirective.node, sourceCode) + : [createDirectiveRemoval(directives, parentDirective.node, sourceCode)]; } ); } @@ -309,6 +314,7 @@ function collectUsedEnableDirectives(directives) { function applyDirectives(options) { const problems = []; const usedDisableDirectives = new Set(); + const { sourceCode } = options; for (const problem of options.problems) { let disableDirectivesForProblem = []; @@ -370,8 +376,8 @@ function applyDirectives(options) { } } - const processed = processUnusedDirectives(unusedDisableDirectivesToReport) - .concat(processUnusedDirectives(unusedEnableDirectivesToReport)); + const processed = processUnusedDirectives(unusedDisableDirectivesToReport, sourceCode) + .concat(processUnusedDirectives(unusedEnableDirectivesToReport, sourceCode)); const columnOffset = options.language.columnStart === 1 ? 0 : 1; const lineOffset = options.language.lineStart === 1 ? 0 : 1; @@ -390,11 +396,14 @@ function applyDirectives(options) { ? `Unused eslint-disable directive (no problems were reported from ${description}).` : "Unused eslint-disable directive (no problems were reported)."; } + + const loc = sourceCode.getLoc(parentDirective.node); + return { ruleId: null, message, - line: type === "disable-next-line" ? parentDirective.node.loc.start.line + lineOffset : line, - column: type === "disable-next-line" ? parentDirective.node.loc.start.column + columnOffset : column, + line: type === "disable-next-line" ? loc.start.line + lineOffset : line, + column: type === "disable-next-line" ? loc.start.column + columnOffset : column, severity: options.reportUnusedDisableDirectives === "warn" ? 1 : 2, nodeType: null, ...options.disableFixes ? {} : { fix } @@ -409,6 +418,7 @@ function applyDirectives(options) { * of reported problems, adds the suppression information to the problems. * @param {Object} options Information about directives and problems * @param {Language} options.language The language being linted. + * @param {SourceCode} options.sourceCode The source code object for the file being linted. * @param {{ * type: ("disable"|"enable"|"disable-line"|"disable-next-line"), * ruleId: (string|null), @@ -427,7 +437,7 @@ function applyDirectives(options) { * @returns {{ruleId: (string|null), line: number, column: number, suppressions?: {kind: string, justification: string}}[]} * An object with a list of reported problems, the suppressed of which contain the suppression information. */ -module.exports = ({ language, directives, disableFixes, problems, configuredRules, ruleFilter, reportUnusedDisableDirectives = "off" }) => { +module.exports = ({ language, sourceCode, directives, disableFixes, problems, configuredRules, ruleFilter, reportUnusedDisableDirectives = "off" }) => { const blockDirectives = directives .filter(directive => directive.type === "disable" || directive.type === "enable") .map(directive => Object.assign({}, directive, { unprocessedDirective: directive })) @@ -477,6 +487,7 @@ module.exports = ({ language, directives, disableFixes, problems, configuredRule const blockDirectivesResult = applyDirectives({ language, + sourceCode, problems, directives: blockDirectives, disableFixes, @@ -485,6 +496,7 @@ module.exports = ({ language, directives, disableFixes, problems, configuredRule }); const lineDirectivesResult = applyDirectives({ language, + sourceCode, problems: blockDirectivesResult.problems, directives: lineDirectives, disableFixes, diff --git a/tools/eslint/node_modules/eslint/lib/linter/linter.js b/tools/eslint/node_modules/eslint/lib/linter/linter.js index 86b51b6488fbf1..e5d4d2c789c584 100644 --- a/tools/eslint/node_modules/eslint/lib/linter/linter.js +++ b/tools/eslint/node_modules/eslint/lib/linter/linter.js @@ -45,7 +45,7 @@ const { RuleValidator } = require("../config/rule-validator"); const { assertIsRuleSeverity } = require("../config/flat-config-schema"); const { normalizeSeverityToString } = require("../shared/severity"); const jslang = require("../languages/js"); -const { activeFlags } = require("../shared/flags"); +const { activeFlags, inactiveFlags } = require("../shared/flags"); const debug = require("debug")("eslint:linter"); const MAX_AUTOFIX_PASSES = 10; const DEFAULT_PARSER_NAME = "espree"; @@ -323,9 +323,10 @@ function createLintingProblem(options) { * @param {ASTNode|token} options.node The Comment node/token. * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules * @param {Language} language The language to use to adjust the location information. + * @param {SourceCode} sourceCode The SourceCode object to get comments from. * @returns {Object} Directives and problems from the comment */ -function createDisableDirectives({ type, value, justification, node }, ruleMapper, language) { +function createDisableDirectives({ type, value, justification, node }, ruleMapper, language, sourceCode) { const ruleIds = Object.keys(commentParser.parseListConfig(value)); const directiveRules = ruleIds.length ? ruleIds : [null]; const result = { @@ -336,11 +337,15 @@ function createDisableDirectives({ type, value, justification, node }, ruleMappe for (const ruleId of directiveRules) { + const loc = sourceCode.getLoc(node); + // push to directives, if the rule is defined(including null, e.g. /*eslint enable*/) if (ruleId === null || !!ruleMapper(ruleId)) { + + if (type === "disable-next-line") { const { line, column } = updateLocationInformation( - node.loc.end, + loc.end, language ); @@ -354,7 +359,7 @@ function createDisableDirectives({ type, value, justification, node }, ruleMappe }); } else { const { line, column } = updateLocationInformation( - node.loc.start, + loc.start, language ); @@ -368,7 +373,7 @@ function createDisableDirectives({ type, value, justification, node }, ruleMappe }); } } else { - result.directiveProblems.push(createLintingProblem({ ruleId, loc: node.loc, language })); + result.directiveProblems.push(createLintingProblem({ ruleId, loc, language })); } } return result; @@ -410,25 +415,27 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) return; } + const loc = sourceCode.getLoc(comment); + if (warnInlineConfig) { const kind = comment.type === "Block" ? `/*${directiveText}*/` : `//${directiveText}`; problems.push(createLintingProblem({ ruleId: null, message: `'${kind}' has no effect because you have 'noInlineConfig' setting in ${warnInlineConfig}.`, - loc: comment.loc, + loc, severity: 1 })); return; } - if (directiveText === "eslint-disable-line" && comment.loc.start.line !== comment.loc.end.line) { + if (directiveText === "eslint-disable-line" && loc.start.line !== loc.end.line) { const message = `${directiveText} comment should not span multiple lines.`; problems.push(createLintingProblem({ ruleId: null, message, - loc: comment.loc + loc })); return; } @@ -446,7 +453,7 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) value: directiveValue, justification: justificationPart, node: comment - }, ruleMapper, jslang); + }, ruleMapper, jslang, sourceCode); disableDirectives.push(...directives); problems.push(...directiveProblems); @@ -467,7 +474,7 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) } catch (err) { problems.push(createLintingProblem({ ruleId: null, - loc: comment.loc, + loc, message: err.message })); continue; @@ -494,14 +501,14 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) const ruleValue = parseResult.config[name]; if (!rule) { - problems.push(createLintingProblem({ ruleId: name, loc: comment.loc })); + problems.push(createLintingProblem({ ruleId: name, loc })); return; } if (Object.hasOwn(configuredRules, name)) { problems.push(createLintingProblem({ message: `Rule "${name}" is already configured by another configuration comment in the preceding code. This configuration is ignored.`, - loc: comment.loc + loc })); return; } @@ -563,7 +570,7 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) problems.push(createLintingProblem({ ruleId: name, message: err.message, - loc: comment.loc + loc })); // do not apply the config, if found invalid options. @@ -575,7 +582,7 @@ function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) } else { const problem = createLintingProblem({ ruleId: null, - loc: comment.loc, + loc, message: parseResult.error.message }); @@ -623,7 +630,7 @@ function getDirectiveCommentsForFlatConfig(sourceCode, ruleMapper, language) { }))); directivesSources.forEach(directive => { - const { directives, directiveProblems } = createDisableDirectives(directive, ruleMapper, language); + const { directives, directiveProblems } = createDisableDirectives(directive, ruleMapper, language, sourceCode); disableDirectives.push(...directives); problems.push(...directiveProblems); @@ -1282,9 +1289,20 @@ class Linter { * @param {"flat"|"eslintrc"} [config.configType="flat"] the type of config used. */ constructor({ cwd, configType = "flat", flags = [] } = {}) { + + flags.forEach(flag => { + if (inactiveFlags.has(flag)) { + throw new Error(`The flag '${flag}' is inactive: ${inactiveFlags.get(flag)}`); + } + + if (!activeFlags.has(flag)) { + throw new Error(`Unknown flag '${flag}'.`); + } + }); + internalSlotsMap.set(this, { cwd: normalizeCwd(cwd), - flags: flags.filter(flag => activeFlags.has(flag)), + flags, lastConfigArray: null, lastSourceCode: null, lastSuppressedMessages: [], @@ -1462,7 +1480,7 @@ class Linter { debug("An error occurred while traversing"); debug("Filename:", options.filename); if (err.currentNode) { - const { line } = err.currentNode.loc.start; + const { line } = sourceCode.getLoc(err.currentNode).start; debug("Line:", line); err.message += `:${line}`; @@ -1480,6 +1498,7 @@ class Linter { return applyDisableDirectives({ language: jslang, + sourceCode, directives: commentDirectives.disableDirectives, disableFixes: options.disableFixes, problems: lintingProblems @@ -1759,10 +1778,14 @@ class Linter { if (options.warnInlineConfig) { if (sourceCode.getInlineConfigNodes) { sourceCode.getInlineConfigNodes().forEach(node => { + + const loc = sourceCode.getLoc(node); + const range = sourceCode.getRange(node); + inlineConfigProblems.push(createLintingProblem({ ruleId: null, - message: `'${sourceCode.text.slice(node.range[0], node.range[1])}' has no effect because you have 'noInlineConfig' setting in ${options.warnInlineConfig}.`, - loc: node.loc, + message: `'${sourceCode.text.slice(range[0], range[1])}' has no effect because you have 'noInlineConfig' setting in ${options.warnInlineConfig}.`, + loc, severity: 1, language: config.language })); @@ -1942,7 +1965,7 @@ class Linter { debug("An error occurred while traversing"); debug("Filename:", options.filename); if (err.currentNode) { - const { line } = err.currentNode.loc.start; + const { line } = sourceCode.getLoc(err.currentNode).start; debug("Line:", line); err.message += `:${line}`; @@ -1961,6 +1984,7 @@ class Linter { return applyDisableDirectives({ language: config.language, + sourceCode, directives: commentDirectives.disableDirectives, disableFixes: options.disableFixes, problems: lintingProblems diff --git a/tools/eslint/node_modules/eslint/lib/linter/report-translator.js b/tools/eslint/node_modules/eslint/lib/linter/report-translator.js index 88355ceb6bf7cd..0b81d783040b6e 100644 --- a/tools/eslint/node_modules/eslint/lib/linter/report-translator.js +++ b/tools/eslint/node_modules/eslint/lib/linter/report-translator.js @@ -10,7 +10,7 @@ //------------------------------------------------------------------------------ const assert = require("node:assert"); -const ruleFixer = require("./rule-fixer"); +const { RuleFixer } = require("./rule-fixer"); const { interpolate } = require("./interpolate"); //------------------------------------------------------------------------------ @@ -91,13 +91,10 @@ function assertValidNodeInfo(descriptor) { * from the `node` of the original descriptor, or infers the `start` from the `loc` of the original descriptor. */ function normalizeReportLoc(descriptor) { - if (descriptor.loc) { - if (descriptor.loc.start) { - return descriptor.loc; - } - return { start: descriptor.loc, end: null }; + if (descriptor.loc.start) { + return descriptor.loc; } - return descriptor.node.loc; + return { start: descriptor.loc, end: null }; } /** @@ -190,6 +187,8 @@ function normalizeFixes(descriptor, sourceCode) { return null; } + const ruleFixer = new RuleFixer({ sourceCode }); + // @type {null | Fix | Fix[] | IterableIterator} const fix = descriptor.fix(ruleFixer); @@ -335,6 +334,7 @@ module.exports = function createReportTranslator(metadata) { return (...args) => { const descriptor = normalizeMultiArgReportCall(...args); const messages = metadata.messageIds; + const { sourceCode } = metadata; assertValidNodeInfo(descriptor); @@ -367,9 +367,9 @@ module.exports = function createReportTranslator(metadata) { node: descriptor.node, message: interpolate(computedMessage, descriptor.data), messageId: descriptor.messageId, - loc: normalizeReportLoc(descriptor), - fix: metadata.disableFixes ? null : normalizeFixes(descriptor, metadata.sourceCode), - suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, metadata.sourceCode, messages), + loc: descriptor.loc ? normalizeReportLoc(descriptor) : sourceCode.getLoc(descriptor.node), + fix: metadata.disableFixes ? null : normalizeFixes(descriptor, sourceCode), + suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, sourceCode, messages), language: metadata.language }); }; diff --git a/tools/eslint/node_modules/eslint/lib/linter/rule-fixer.js b/tools/eslint/node_modules/eslint/lib/linter/rule-fixer.js index bdd80d13b162d4..f9c45feb5f3eb3 100644 --- a/tools/eslint/node_modules/eslint/lib/linter/rule-fixer.js +++ b/tools/eslint/node_modules/eslint/lib/linter/rule-fixer.js @@ -4,6 +4,8 @@ */ "use strict"; +/* eslint class-methods-use-this: off -- Methods desired on instance */ + //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ @@ -35,8 +37,22 @@ function insertTextAt(index, text) { /** * Creates code fixing commands for rules. */ +class RuleFixer { -const ruleFixer = Object.freeze({ + /** + * The source code object representing the text to be fixed. + * @type {SourceCode} + */ + #sourceCode; + + /** + * Creates a new instance. + * @param {Object} options The options for the fixer. + * @param {SourceCode} options.sourceCode The source code object representing the text to be fixed. + */ + constructor({ sourceCode }) { + this.#sourceCode = sourceCode; + } /** * Creates a fix command that inserts text after the given node or token. @@ -46,8 +62,10 @@ const ruleFixer = Object.freeze({ * @returns {Object} The fix command. */ insertTextAfter(nodeOrToken, text) { - return this.insertTextAfterRange(nodeOrToken.range, text); - }, + const range = this.#sourceCode.getRange(nodeOrToken); + + return this.insertTextAfterRange(range, text); + } /** * Creates a fix command that inserts text after the specified range in the source text. @@ -59,7 +77,7 @@ const ruleFixer = Object.freeze({ */ insertTextAfterRange(range, text) { return insertTextAt(range[1], text); - }, + } /** * Creates a fix command that inserts text before the given node or token. @@ -69,8 +87,10 @@ const ruleFixer = Object.freeze({ * @returns {Object} The fix command. */ insertTextBefore(nodeOrToken, text) { - return this.insertTextBeforeRange(nodeOrToken.range, text); - }, + const range = this.#sourceCode.getRange(nodeOrToken); + + return this.insertTextBeforeRange(range, text); + } /** * Creates a fix command that inserts text before the specified range in the source text. @@ -82,7 +102,7 @@ const ruleFixer = Object.freeze({ */ insertTextBeforeRange(range, text) { return insertTextAt(range[0], text); - }, + } /** * Creates a fix command that replaces text at the node or token. @@ -92,8 +112,10 @@ const ruleFixer = Object.freeze({ * @returns {Object} The fix command. */ replaceText(nodeOrToken, text) { - return this.replaceTextRange(nodeOrToken.range, text); - }, + const range = this.#sourceCode.getRange(nodeOrToken); + + return this.replaceTextRange(range, text); + } /** * Creates a fix command that replaces text at the specified range in the source text. @@ -108,7 +130,7 @@ const ruleFixer = Object.freeze({ range, text }; - }, + } /** * Creates a fix command that removes the node or token from the source. @@ -117,8 +139,10 @@ const ruleFixer = Object.freeze({ * @returns {Object} The fix command. */ remove(nodeOrToken) { - return this.removeRange(nodeOrToken.range); - }, + const range = this.#sourceCode.getRange(nodeOrToken); + + return this.removeRange(range); + } /** * Creates a fix command that removes the specified range of text from the source. @@ -133,8 +157,7 @@ const ruleFixer = Object.freeze({ text: "" }; } - -}); +} -module.exports = ruleFixer; +module.exports = { RuleFixer }; diff --git a/tools/eslint/node_modules/eslint/lib/shared/flags.js b/tools/eslint/node_modules/eslint/lib/shared/flags.js index 555f818e4871b0..b05c92403dd94f 100644 --- a/tools/eslint/node_modules/eslint/lib/shared/flags.js +++ b/tools/eslint/node_modules/eslint/lib/shared/flags.js @@ -9,7 +9,7 @@ * @type {Map} */ const activeFlags = new Map([ - ["test_only", "This flag is only used for testing."] + ["test_only", "Used only for testing."] ]); /** @@ -17,7 +17,7 @@ const activeFlags = new Map([ * @type {Map} */ const inactiveFlags = new Map([ - ["test_only_old", "This flag is no longer used for testing."] + ["test_only_old", "Used only for testing."] ]); module.exports = { diff --git a/tools/eslint/node_modules/eslint/package.json b/tools/eslint/node_modules/eslint/package.json index 84a83dde8c1065..c3e772bd609f2c 100644 --- a/tools/eslint/node_modules/eslint/package.json +++ b/tools/eslint/node_modules/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "9.7.0", + "version": "9.8.0", "author": "Nicholas C. Zakas ", "description": "An AST-based pattern checker for JavaScript.", "bin": { @@ -68,9 +68,9 @@ "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.0", + "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.7.0", + "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -104,7 +104,8 @@ "devDependencies": { "@babel/core": "^7.4.3", "@babel/preset-env": "^7.4.3", - "@eslint/core": "^0.1.0", + "@eslint/core": "^0.2.0", + "@eslint/json": "^0.2.0", "@types/estree": "^1.0.5", "@types/node": "^20.11.5", "@wdio/browser-runner": "^8.38.3", diff --git a/tools/eslint/node_modules/node-releases/data/processed/envs.json b/tools/eslint/node_modules/node-releases/data/processed/envs.json index 00998c00a104fd..8f6cd4edb3c9bd 100644 --- a/tools/eslint/node_modules/node-releases/data/processed/envs.json +++ b/tools/eslint/node_modules/node-releases/data/processed/envs.json @@ -1 +1 @@ -[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.3.8.0"},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.5.1.0"},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.2.0"},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.8.25"},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false,"v8":"3.6.6.6"},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false,"v8":"3.8.6.0"},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false,"v8":"3.11.10.10"},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false,"v8":"3.11.10.15"},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false,"v8":"3.14.5.8"},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false,"v8":"3.17.13.0"},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false,"v8":"3.28.73.0"},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false,"v8":"4.5.103.30"},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false,"v8":"4.5.103.33"},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false,"v8":"4.5.103.43"},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false,"v8":"4.5.103.45"},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true,"v8":"4.5.103.53"},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false,"v8":"4.6.85.28"},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false,"v8":"4.6.85.32"},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false,"v8":"5.0.71.47"},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false,"v8":"5.0.71.52"},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false,"v8":"5.0.71.60"},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false,"v8":"5.1.281.81"},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false,"v8":"5.1.281.93"},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false,"v8":"5.1.281.102"},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false,"v8":"5.1.281.108"},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false,"v8":"5.4.500.43"},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false,"v8":"5.4.500.48"},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false,"v8":"5.5.372.40"},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false,"v8":"5.5.372.41"},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false,"v8":"6.1.534.46"},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false,"v8":"6.2.414.66"},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false,"v8":"6.2.414.75"},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false,"v8":"6.2.414.77"},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true,"v8":"6.2.414.78"},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false,"v8":"6.2.414.44"},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false,"v8":"6.6.346.24"},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false,"v8":"6.6.346.27"},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false,"v8":"6.7.288.43"},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false,"v8":"6.8.275.24"},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false,"v8":"6.8.275.30"},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false,"v8":"7.0.276.28"},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false,"v8":"7.0.276.32"},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false,"v8":"7.7.299.11"},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false,"v8":"7.9.317.23"},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false,"v8":"8.1.307.30"},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false,"v8":"8.3.110.9"},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false,"v8":"8.6.395.16"},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false,"v8":"9.0.257.17"},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false,"v8":"9.0.257.24"},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false,"v8":"9.1.269.36"},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false,"v8":"9.1.269.38"},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false,"v8":"9.3.345.16"},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false,"v8":"9.3.345.19"},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.20.0","date":"2023-03-28","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false,"v8":"9.5.172.21"},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false,"v8":"9.5.172.25"},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false,"v8":"9.6.180.14"},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.15.0","date":"2023-03-05","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.16.0","date":"2023-04-12","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.17.0","date":"2023-07-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.18.0","date":"2023-09-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.19.0","date":"2023-11-29","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false,"v8":"10.7.193.13"},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false,"v8":"10.7.193.20"},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false,"v8":"10.8.168.20"},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false,"v8":"10.8.168.21"},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.7.0","date":"2023-02-21","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.8.0","date":"2023-03-14","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.9.0","date":"2023-04-10","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"20.0.0","date":"2023-04-17","lts":false,"security":false,"v8":"11.3.244.4"},{"name":"nodejs","version":"20.1.0","date":"2023-05-03","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.2.0","date":"2023-05-16","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.3.0","date":"2023-06-08","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.4.0","date":"2023-07-04","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.5.0","date":"2023-07-19","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.6.0","date":"2023-08-23","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.7.0","date":"2023-09-18","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.8.0","date":"2023-09-28","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.9.0","date":"2023-10-24","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.10.0","date":"2023-11-22","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"21.0.0","date":"2023-10-17","lts":false,"security":false,"v8":"11.8.172.13"},{"name":"nodejs","version":"21.1.0","date":"2023-10-24","lts":false,"security":false,"v8":"11.8.172.15"},{"name":"nodejs","version":"21.2.0","date":"2023-11-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.3.0","date":"2023-11-30","lts":false,"security":false,"v8":"11.8.172.17"}] \ No newline at end of file +[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.3.8.0"},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.5.1.0"},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.2.0"},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.8.25"},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false,"v8":"3.6.6.6"},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false,"v8":"3.8.6.0"},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false,"v8":"3.11.10.10"},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false,"v8":"3.11.10.15"},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false,"v8":"3.14.5.8"},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false,"v8":"3.17.13.0"},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false,"v8":"3.28.73.0"},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false,"v8":"4.5.103.30"},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false,"v8":"4.5.103.33"},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false,"v8":"4.5.103.43"},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false,"v8":"4.5.103.45"},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true,"v8":"4.5.103.53"},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false,"v8":"4.6.85.28"},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false,"v8":"4.6.85.32"},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false,"v8":"5.0.71.47"},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false,"v8":"5.0.71.52"},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false,"v8":"5.0.71.60"},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false,"v8":"5.1.281.81"},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false,"v8":"5.1.281.93"},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false,"v8":"5.1.281.102"},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false,"v8":"5.1.281.108"},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false,"v8":"5.4.500.43"},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false,"v8":"5.4.500.48"},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false,"v8":"5.5.372.40"},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false,"v8":"5.5.372.41"},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false,"v8":"6.1.534.46"},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false,"v8":"6.2.414.66"},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false,"v8":"6.2.414.75"},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false,"v8":"6.2.414.77"},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true,"v8":"6.2.414.78"},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false,"v8":"6.2.414.44"},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false,"v8":"6.6.346.24"},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false,"v8":"6.6.346.27"},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false,"v8":"6.7.288.43"},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false,"v8":"6.8.275.24"},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false,"v8":"6.8.275.30"},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false,"v8":"7.0.276.28"},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false,"v8":"7.0.276.32"},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false,"v8":"7.7.299.11"},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false,"v8":"7.9.317.23"},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false,"v8":"8.1.307.30"},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false,"v8":"8.3.110.9"},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false,"v8":"8.6.395.16"},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false,"v8":"9.0.257.17"},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false,"v8":"9.0.257.24"},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false,"v8":"9.1.269.36"},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false,"v8":"9.1.269.38"},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false,"v8":"9.3.345.16"},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false,"v8":"9.3.345.19"},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.20.0","date":"2023-03-28","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false,"v8":"9.5.172.21"},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false,"v8":"9.5.172.25"},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false,"v8":"9.6.180.14"},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.15.0","date":"2023-03-05","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.16.0","date":"2023-04-12","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.17.0","date":"2023-07-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.18.0","date":"2023-09-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.19.0","date":"2023-11-29","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.20.0","date":"2024-03-26","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false,"v8":"10.7.193.13"},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false,"v8":"10.7.193.20"},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false,"v8":"10.8.168.20"},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false,"v8":"10.8.168.21"},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.7.0","date":"2023-02-21","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.8.0","date":"2023-03-14","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.9.0","date":"2023-04-10","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"20.0.0","date":"2023-04-17","lts":false,"security":false,"v8":"11.3.244.4"},{"name":"nodejs","version":"20.1.0","date":"2023-05-03","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.2.0","date":"2023-05-16","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.3.0","date":"2023-06-08","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.4.0","date":"2023-07-04","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.5.0","date":"2023-07-19","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.6.0","date":"2023-08-23","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.7.0","date":"2023-09-18","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.8.0","date":"2023-09-28","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.9.0","date":"2023-10-24","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.10.0","date":"2023-11-22","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.11.0","date":"2024-01-09","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.12.0","date":"2024-03-26","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.13.0","date":"2024-05-07","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.14.0","date":"2024-05-28","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.15.0","date":"2024-06-20","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"21.0.0","date":"2023-10-17","lts":false,"security":false,"v8":"11.8.172.13"},{"name":"nodejs","version":"21.1.0","date":"2023-10-24","lts":false,"security":false,"v8":"11.8.172.15"},{"name":"nodejs","version":"21.2.0","date":"2023-11-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.3.0","date":"2023-11-30","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.4.0","date":"2023-12-05","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.5.0","date":"2023-12-19","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.6.0","date":"2024-01-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.7.0","date":"2024-03-06","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"22.0.0","date":"2024-04-24","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.1.0","date":"2024-05-02","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.2.0","date":"2024-05-15","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.3.0","date":"2024-06-11","lts":false,"security":false,"v8":"12.4.254.20"},{"name":"nodejs","version":"22.4.0","date":"2024-07-02","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.5.0","date":"2024-07-17","lts":false,"security":false,"v8":"12.4.254.21"}] \ No newline at end of file diff --git a/tools/eslint/node_modules/node-releases/data/release-schedule/release-schedule.json b/tools/eslint/node_modules/node-releases/data/release-schedule/release-schedule.json index 167314aa2ea19d..633bd3c3881853 100644 --- a/tools/eslint/node_modules/node-releases/data/release-schedule/release-schedule.json +++ b/tools/eslint/node_modules/node-releases/data/release-schedule/release-schedule.json @@ -1 +1 @@ -{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2023-09-11","codename":"Gallium"},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":"Hydrogen"},"v19":{"start":"2022-10-18","maintenance":"2023-04-01","end":"2023-06-01"},"v20":{"start":"2023-04-18","lts":"2023-10-24","maintenance":"2024-10-22","end":"2026-04-30","codename":"Iron"},"v21":{"start":"2023-10-17","maintenance":"2024-04-01","end":"2024-06-01"},"v22":{"start":"2024-04-23","lts":"2024-10-29","maintenance":"2025-10-21","end":"2027-04-30","codename":""},"v23":{"start":"2024-10-15","maintenance":"2025-04-01","end":"2025-06-01"},"v24":{"start":"2025-04-22","lts":"2025-10-28","maintenance":"2026-10-20","end":"2028-04-30","codename":""}} \ No newline at end of file +{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2023-09-11","codename":"Gallium"},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":"Hydrogen"},"v19":{"start":"2022-10-18","maintenance":"2023-04-01","end":"2023-06-01"},"v20":{"start":"2023-04-18","lts":"2023-10-24","maintenance":"2024-10-22","end":"2026-04-30","codename":"Iron"},"v21":{"start":"2023-10-17","maintenance":"2024-04-01","end":"2024-06-01"},"v22":{"start":"2024-04-24","lts":"2024-10-29","maintenance":"2025-10-21","end":"2027-04-30","codename":""},"v23":{"start":"2024-10-15","maintenance":"2025-04-01","end":"2025-06-01"},"v24":{"start":"2025-04-22","lts":"2025-10-28","maintenance":"2026-10-20","end":"2028-04-30","codename":""}} \ No newline at end of file diff --git a/tools/eslint/node_modules/node-releases/package.json b/tools/eslint/node_modules/node-releases/package.json index b3334e92900a73..2d7d9b246b92b7 100644 --- a/tools/eslint/node_modules/node-releases/package.json +++ b/tools/eslint/node_modules/node-releases/package.json @@ -1,12 +1,15 @@ { "name": "node-releases", - "version": "2.0.14", + "version": "2.0.18", "description": "Node.js releases data", "type": "module", "scripts": { "build": "node scripts/build.js" }, - "repository": "chicoxyzzy/node-releases", + "repository": { + "type": "git", + "url": "git+https://github.com/chicoxyzzy/node-releases.git" + }, "keywords": [ "nodejs", "releases" diff --git a/tools/eslint/node_modules/synckit/lib/index.cjs b/tools/eslint/node_modules/synckit/lib/index.cjs index 8f6ade969d14af..8a289dbc5c0850 100644 --- a/tools/eslint/node_modules/synckit/lib/index.cjs +++ b/tools/eslint/node_modules/synckit/lib/index.cjs @@ -2,7 +2,7 @@ var node_crypto = require('node:crypto'); var fs = require('node:fs'); -var node_module = require('node:module'); +var module$1 = require('node:module'); var path = require('node:path'); var node_url = require('node:url'); var node_worker_threads = require('node:worker_threads'); @@ -49,6 +49,7 @@ const { SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER } = process.env; +const IS_NODE_20 = Number(process.versions.node.split(".")[0]) >= 20; const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0; const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV == null ? void 0 : SYNCKIT_EXEC_ARGV.split(",")) || []; const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER; @@ -94,7 +95,7 @@ function createSyncFn(workerPath, timeoutOrOptions) { syncFnCache.set(workerPath, syncFn); return syncFn; } -const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : ( +const cjsRequire = typeof require === "undefined" ? module$1.createRequire(import_meta.url) : ( /* istanbul ignore next */ require ); @@ -193,6 +194,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { jsUseEsm = cjsRequire(pkg).type === "module"; } } + let resolvedPnpLoaderPath; if (process.versions.pnp) { const nodeOptions = NODE_OPTIONS == null ? void 0 : NODE_OPTIONS.split(/\s+/); let pnpApiPath; @@ -206,8 +208,14 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { execArgv = ["-r", pnpApiPath, ...execArgv]; const pnpLoaderPath = path.resolve(pnpApiPath, "../.pnp.loader.mjs"); if (isFile(pnpLoaderPath)) { - const experimentalLoader = node_url.pathToFileURL(pnpLoaderPath).toString(); - execArgv = ["--experimental-loader", experimentalLoader, ...execArgv]; + resolvedPnpLoaderPath = node_url.pathToFileURL(pnpLoaderPath).toString(); + if (!IS_NODE_20) { + execArgv = [ + "--experimental-loader", + resolvedPnpLoaderPath, + ...execArgv + ]; + } } } } @@ -218,6 +226,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { tsRunner, tsUseEsm, workerPath, + pnpLoaderPath: resolvedPnpLoaderPath, execArgv }; }; @@ -282,6 +291,7 @@ function startWorkerThread(workerPath, { tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, + pnpLoaderPath, execArgv: finalExecArgv } = setupTsRunner(workerPath, { execArgv, tsRunner }); const workerPathUrl = node_url.pathToFileURL(finalWorkerPath); @@ -329,7 +339,7 @@ function startWorkerThread(workerPath, { )};${encodeImportModule(finalWorkerPath, "require")}` : workerPathUrl, { eval: useEval, - workerData: { sharedBuffer, workerPort }, + workerData: { sharedBuffer, workerPort, pnpLoaderPath }, transferList: [workerPort, ...transferList], execArgv: finalExecArgv } @@ -365,7 +375,10 @@ function runAsWorker(fn) { if (!node_worker_threads.workerData) { return; } - const { workerPort, sharedBuffer: sharedBuffer2 } = node_worker_threads.workerData; + const { workerPort, sharedBuffer: sharedBuffer2, pnpLoaderPath } = node_worker_threads.workerData; + if (pnpLoaderPath && IS_NODE_20) { + module$1.register(pnpLoaderPath); + } const sharedBufferView2 = new Int32Array(sharedBuffer2, 0, 1); node_worker_threads.parentPort.on( "message", diff --git a/tools/eslint/node_modules/synckit/lib/index.js b/tools/eslint/node_modules/synckit/lib/index.js index 91bf9c07faf41f..31922c2ce7f94f 100644 --- a/tools/eslint/node_modules/synckit/lib/index.js +++ b/tools/eslint/node_modules/synckit/lib/index.js @@ -1,7 +1,7 @@ import { __awaiter } from "tslib"; import { createHash } from 'node:crypto'; import fs from 'node:fs'; -import { createRequire } from 'node:module'; +import module from 'node:module'; import path from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads'; @@ -16,6 +16,7 @@ export const TsRunner = { TSX: 'tsx', }; const { NODE_OPTIONS, SYNCKIT_EXEC_ARGV, SYNCKIT_GLOBAL_SHIMS, SYNCKIT_TIMEOUT, SYNCKIT_TS_RUNNER, } = process.env; +const IS_NODE_20 = Number(process.versions.node.split('.')[0]) >= 20; export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined; export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV === null || SYNCKIT_EXEC_ARGV === void 0 ? void 0 : SYNCKIT_EXEC_ARGV.split(',')) || []; export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER; @@ -58,7 +59,7 @@ export function createSyncFn(workerPath, timeoutOrOptions) { return syncFn; } const cjsRequire = typeof require === 'undefined' - ? createRequire(import.meta.url) + ? module.createRequire(import.meta.url) : require; const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`); export const isFile = (path) => { @@ -164,6 +165,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { cjsRequire(pkg).type === 'module'; } } + let resolvedPnpLoaderPath; if (process.versions.pnp) { const nodeOptions = NODE_OPTIONS === null || NODE_OPTIONS === void 0 ? void 0 : NODE_OPTIONS.split(/\s+/); let pnpApiPath; @@ -178,8 +180,14 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { execArgv = ['-r', pnpApiPath, ...execArgv]; const pnpLoaderPath = path.resolve(pnpApiPath, '../.pnp.loader.mjs'); if (isFile(pnpLoaderPath)) { - const experimentalLoader = pathToFileURL(pnpLoaderPath).toString(); - execArgv = ['--experimental-loader', experimentalLoader, ...execArgv]; + resolvedPnpLoaderPath = pathToFileURL(pnpLoaderPath).toString(); + if (!IS_NODE_20) { + execArgv = [ + '--experimental-loader', + resolvedPnpLoaderPath, + ...execArgv, + ]; + } } } } @@ -190,6 +198,7 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => { tsRunner, tsUseEsm, workerPath, + pnpLoaderPath: resolvedPnpLoaderPath, execArgv, }; }; @@ -258,7 +267,7 @@ export const generateGlobals = (workerPath, globalShims, type = 'import') => { }; function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, transferList = [], globalShims = DEFAULT_GLOBAL_SHIMS, } = {}) { const { port1: mainPort, port2: workerPort } = new MessageChannel(); - const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner }); + const { isTs, ext, jsUseEsm, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, pnpLoaderPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner }); const workerPathUrl = pathToFileURL(finalWorkerPath); if (/\.[cm]ts$/.test(finalWorkerPath)) { const isTsxSupported = !tsUseEsm || @@ -292,7 +301,7 @@ function startWorkerThread(workerPath, { timeout = DEFAULT_TIMEOUT, execArgv = D ? `${generateGlobals(finalWorkerPath, finalGlobalShims, 'require')};${encodeImportModule(finalWorkerPath, 'require')}` : workerPathUrl, { eval: useEval, - workerData: { sharedBuffer, workerPort }, + workerData: { sharedBuffer, workerPort, pnpLoaderPath }, transferList: [workerPort, ...transferList], execArgv: finalExecArgv, }); @@ -323,7 +332,10 @@ export function runAsWorker(fn) { if (!workerData) { return; } - const { workerPort, sharedBuffer } = workerData; + const { workerPort, sharedBuffer, pnpLoaderPath } = workerData; + if (pnpLoaderPath && IS_NODE_20) { + module.register(pnpLoaderPath); + } const sharedBufferView = new Int32Array(sharedBuffer, 0, 1); parentPort.on('message', ({ id, args }) => { ; diff --git a/tools/eslint/node_modules/synckit/package.json b/tools/eslint/node_modules/synckit/package.json index f14713e992059b..2ba4e474b7ae43 100644 --- a/tools/eslint/node_modules/synckit/package.json +++ b/tools/eslint/node_modules/synckit/package.json @@ -1,6 +1,6 @@ { "name": "synckit", - "version": "0.9.0", + "version": "0.9.1", "type": "module", "description": "Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.", "repository": "git+https://github.com/un-ts/synckit.git", @@ -24,6 +24,7 @@ ], "keywords": [ "deasync", + "make-synchronized", "make-synchronous", "sync", "sync-exec", diff --git a/tools/eslint/package-lock.json b/tools/eslint/package-lock.json index 91c716f1901f14..425095dfa922da 100644 --- a/tools/eslint/package-lock.json +++ b/tools/eslint/package-lock.json @@ -8,13 +8,13 @@ "name": "eslint-tools", "version": "0.0.0", "dependencies": { - "@babel/core": "^7.24.8", - "@babel/eslint-parser": "^7.24.8", + "@babel/core": "^7.24.9", + "@babel/eslint-parser": "^7.25.0", "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@stylistic/eslint-plugin-js": "^2.3.0", - "eslint": "^9.7.0", + "@stylistic/eslint-plugin-js": "^2.4.0", + "eslint": "^9.8.0", "eslint-formatter-tap": "^8.40.0", - "eslint-plugin-jsdoc": "^48.7.0", + "eslint-plugin-jsdoc": "^48.8.3", "eslint-plugin-markdown": "^5.1.0", "globals": "^15.8.0" } @@ -46,30 +46,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", - "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", + "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.8.tgz", - "integrity": "sha512-6AWcmZC/MZCO0yKys4uhg5NlxL0ESF3K6IAaoQ+xSXvPyPyxNWRafP+GDbI88Oh68O7QkJgmEtedWPM9U0pZNg==", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", + "@babel/generator": "^7.24.9", "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", "@babel/helpers": "^7.24.8", "@babel/parser": "^7.24.8", "@babel/template": "^7.24.7", "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -85,9 +85,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz", - "integrity": "sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.0.tgz", + "integrity": "sha512-mlcTKuQAjczDRwWLIxv+Q925jaMUO8Jl5dxmWJSSGVYfZ4rKMp8daQvVC3rM1G2v8V+/fO0yIVTSLS+2zcB8rg==", "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -103,12 +103,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", - "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.24.8", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -133,43 +133,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", @@ -184,16 +147,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.8.tgz", - "integrity": "sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz", + "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==", "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -224,18 +186,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", @@ -264,13 +214,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", - "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "license": "MIT", "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.8" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -292,9 +242,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", + "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", "license": "MIT", "bin": { "parser": "bin/babel-parser.js" @@ -319,33 +269,30 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", - "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", + "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -363,9 +310,9 @@ } }, "node_modules/@babel/types": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.8.tgz", - "integrity": "sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", + "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", @@ -427,9 +374,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", - "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.4", @@ -476,9 +423,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", - "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", + "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -624,15 +571,15 @@ } }, "node_modules/@stylistic/eslint-plugin-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.3.0.tgz", - "integrity": "sha512-lQwoiYb0Fs6Yc5QS3uT8+T9CPKK2Eoxc3H8EnYJgM26v/DgtW+1lvy2WNgyBflU+ThShZaHm3a6CdD9QeKx23w==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.4.0.tgz", + "integrity": "sha512-ScIYDFAwNz+ELr3KfAZMuYMCUq7Q6TdEEIq4RBRR77EHucpDrwi5Kx2d0VdYxb4s4o6nOtSkJmY9MCZupDYJow==", "license": "MIT", "dependencies": { - "@types/eslint": "^8.56.10", - "acorn": "^8.11.3", + "@types/eslint": "^9.6.0", + "acorn": "^8.12.1", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1" + "espree": "^10.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -654,9 +601,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", "license": "MIT", "dependencies": { "@types/estree": "*", @@ -935,9 +882,9 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -988,16 +935,16 @@ } }, "node_modules/eslint": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", - "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", + "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.0", + "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.7.0", + "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -1051,9 +998,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "48.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.7.0.tgz", - "integrity": "sha512-5oiVf7Y+ZxGYQTlLq81X72n+S+hjvS/u0upAdbpPEeaIZILK3MKN8lm/6QqKioBjm/qZ0B5XpMQUtc2fUkqXAg==", + "version": "48.8.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.8.3.tgz", + "integrity": "sha512-AtIvwwW9D17MRkM0Z0y3/xZYaa9mdAvJrkY6fU/HNUwGbmMtHVvK4qRM9CDixGVtfNrQitb8c6zQtdh6cTOvLg==", "license": "BSD-3-Clause", "dependencies": { "@es-joy/jsdoccomment": "~0.46.0", @@ -1063,9 +1010,9 @@ "escape-string-regexp": "^4.0.0", "esquery": "^1.6.0", "parse-imports": "^2.1.1", - "semver": "^7.6.2", + "semver": "^7.6.3", "spdx-expression-parse": "^4.0.0", - "synckit": "^0.9.0" + "synckit": "^0.9.1" }, "engines": { "node": ">=18" @@ -1087,9 +1034,9 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -1766,9 +1713,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "license": "MIT" }, "node_modules/optionator": { @@ -2060,9 +2007,9 @@ } }, "node_modules/synckit": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", - "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", "license": "MIT", "dependencies": { "@pkgr/core": "^0.1.0", diff --git a/tools/eslint/package.json b/tools/eslint/package.json index 4e24a0c9e889ab..2eba4f66d4ae12 100644 --- a/tools/eslint/package.json +++ b/tools/eslint/package.json @@ -7,13 +7,13 @@ "electron-to-chromium": "1.4.806" }, "dependencies": { - "@babel/core": "^7.24.8", - "@babel/eslint-parser": "^7.24.8", + "@babel/core": "^7.24.9", + "@babel/eslint-parser": "^7.25.0", "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@stylistic/eslint-plugin-js": "^2.3.0", - "eslint": "^9.7.0", + "@stylistic/eslint-plugin-js": "^2.4.0", + "eslint": "^9.8.0", "eslint-formatter-tap": "^8.40.0", - "eslint-plugin-jsdoc": "^48.7.0", + "eslint-plugin-jsdoc": "^48.8.3", "eslint-plugin-markdown": "^5.1.0", "globals": "^15.8.0" }