From febafae1614f51cee06fc29f580b590a1597731e Mon Sep 17 00:00:00 2001 From: Veeti Haapsamo <veeti@garden.io> Date: Thu, 2 Feb 2023 19:15:11 +0200 Subject: [PATCH] chore: switch from tslint to eslint (#3651) --- .eslintrc | 32 + .eslintrc.autogenerated.js | 302 +++++ cli/bin/garden | 6 +- cli/package.json | 7 +- cli/src/add-version-files.ts | 4 +- cli/src/build-pkg.ts | 4 +- cli/src/cli.ts | 2 +- cli/src/generate-docs.ts | 4 +- cli/tslint.json | 10 - core/package.json | 14 +- core/src/cli/cli.ts | 2 +- core/src/commands/custom.ts | 2 +- core/src/commands/get/get-doddi.ts | 2 +- core/src/commands/get/get-eysi.ts | 2 +- core/src/config/common.ts | 20 +- core/src/docs/generate.ts | 4 +- core/src/docs/table-of-contents.ts | 2 +- core/src/docs/template-strings.ts | 2 +- core/src/lib/minimist.ts | 2 +- core/src/lib/p-memoize.ts | 2 +- core/src/plugins/kubernetes/api.ts | 5 +- core/src/plugins/kubernetes/port-forward.ts | 3 +- core/src/proxy.ts | 2 +- core/src/util/profiling.ts | 3 +- core/src/util/streams.ts | 1 - core/src/util/util.ts | 3 +- core/test/helpers.ts | 2 +- .../plugins/kubernetes/container/container.ts | 2 +- .../src/plugins/kubernetes/container/logs.ts | 2 +- core/test/setup.ts | 2 +- .../unit/src/build-staging/build-staging.ts | 2 +- core/test/unit/src/commands/build.ts | 2 +- core/test/unit/src/commands/dev.ts | 2 +- .../src/config/template-contexts/module.ts | 2 +- core/test/unit/src/garden.ts | 1 - core/test/unit/src/router/base.ts | 1 - core/test/unit/src/router/build.ts | 2 +- core/test/unit/src/template-string.ts | 2 +- core/test/unit/src/util/util.ts | 4 +- core/tslint.json | 10 - e2e/e2e-project.ts | 4 +- e2e/helpers.ts | 1 + e2e/package.json | 7 +- e2e/run-garden.ts | 18 +- e2e/test/pre-release.ts | 6 +- e2e/tslint.json | 10 - package.json | 12 +- plugins/conftest-container/package.json | 2 +- plugins/conftest-container/tslint.json | 10 - plugins/conftest-kubernetes/package.json | 2 +- plugins/conftest-kubernetes/tslint.json | 10 - plugins/conftest/package.json | 2 +- plugins/conftest/tslint.json | 10 - plugins/jib/package.json | 2 +- plugins/jib/test/index.ts | 2 +- plugins/jib/test/util.ts | 2 +- plugins/jib/tslint.json | 10 - plugins/pulumi/helpers.ts | 1 - plugins/pulumi/package.json | 2 +- plugins/pulumi/tslint.json | 10 - plugins/terraform/package.json | 2 +- plugins/terraform/tslint.json | 10 - sdk/package.json | 7 +- sdk/tslint.json | 10 - tslint.base.json | 59 - yarn.lock | 1024 +++++++++++++++-- 66 files changed, 1345 insertions(+), 368 deletions(-) create mode 100644 .eslintrc create mode 100644 .eslintrc.autogenerated.js delete mode 100644 cli/tslint.json delete mode 100644 core/tslint.json delete mode 100644 e2e/tslint.json delete mode 100644 plugins/conftest-container/tslint.json delete mode 100644 plugins/conftest-kubernetes/tslint.json delete mode 100644 plugins/conftest/tslint.json delete mode 100644 plugins/jib/tslint.json delete mode 100644 plugins/pulumi/tslint.json delete mode 100644 plugins/terraform/tslint.json delete mode 100644 sdk/tslint.json delete mode 100644 tslint.base.json diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..1320d63c73 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,32 @@ +{ + "extends": [".eslintrc.autogenerated.js"], + "rules": { + "@typescript-eslint/no-floating-promises": "warn", + "@typescript-eslint/no-shadow": [ + "warn", + { + "hoist": "all" + } + ], + "@typescript-eslint/quotes": [ + "error", + "double", + { + "avoidEscape": true, + "allowTemplateLiterals": true + } + ], + "arrow-body-style": "off", + "jsdoc/check-indentation": "off", + "jsdoc/newline-after-description": "off", + "max-len": [ + "warn", + { + "code": 120, + "ignoreStrings": true, + "ignoreComments": true, + "ignoreTemplateLiterals": true + } + ] + } +} diff --git a/.eslintrc.autogenerated.js b/.eslintrc.autogenerated.js new file mode 100644 index 0000000000..4c52604f08 --- /dev/null +++ b/.eslintrc.autogenerated.js @@ -0,0 +1,302 @@ +/* +👋 Hi! This file was autogenerated by tslint-to-eslint-config. +https://github.com/typescript-eslint/tslint-to-eslint-config + +It represents the closest reasonable ESLint configuration to this +project's original TSLint configuration. + +We recommend eventually switching this configuration to extend from +the recommended rulesets in typescript-eslint. +https://github.com/typescript-eslint/tslint-to-eslint-config/blob/master/docs/FAQs.md + +Happy linting! 💖 +*/ +module.exports = { + "env": { + "browser": true, + "es6": true, + "node": true + }, + "extends": [ + "prettier" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "eslint-plugin-react", + "eslint-plugin-jsdoc", + "eslint-plugin-no-null", + "@typescript-eslint", + ], + "root": true, + "rules": { + "@babel/object-curly-spacing": "off", + "@babel/semi": "off", + "@typescript-eslint/brace-style": "off", + "@typescript-eslint/comma-dangle": "off", + "@typescript-eslint/comma-spacing": "off", + "@typescript-eslint/func-call-spacing": "off", + "@typescript-eslint/indent": [ + "off", + 2 + ], + "@typescript-eslint/keyword-spacing": "off", + "@typescript-eslint/member-delimiter-style": [ + "error", + { + "multiline": { + "delimiter": "none", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "variable", + "format": [ + "camelCase", + "UPPER_CASE", + "PascalCase" + ], + "leadingUnderscore": "allow", + "trailingUnderscore": "forbid" + } + ], + "@typescript-eslint/no-extra-parens": "off", + "@typescript-eslint/no-extra-semi": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-shadow": [ + "error", + { + "hoist": "all" + } + ], + "@typescript-eslint/object-curly-spacing": "off", + "@typescript-eslint/quotes": [ + "error", + "double", + { + "avoidEscape": true + } + ], + "@typescript-eslint/semi": [ + "error", + "never" + ], + "@typescript-eslint/space-before-blocks": "off", + "@typescript-eslint/space-before-function-paren": "off", + "@typescript-eslint/space-infix-ops": "off", + "@typescript-eslint/type-annotation-spacing": "off", + "array-bracket-newline": "off", + "array-bracket-spacing": "off", + "array-element-newline": "off", + "arrow-body-style": "error", + "arrow-parens": [ + "off", + "always" + ], + "arrow-spacing": "off", + "babel/object-curly-spacing": "off", + "babel/quotes": "off", + "babel/semi": "off", + "block-spacing": "off", + "brace-style": [ + "off", + "off" + ], + "comma-dangle": "off", + "comma-spacing": "off", + "comma-style": "off", + "computed-property-spacing": "off", + "curly": "error", + "dot-location": "off", + "eol-last": "error", + "eqeqeq": [ + "error", + "always" + ], + "flowtype/boolean-style": "off", + "flowtype/delimiter-dangle": "off", + "flowtype/generic-spacing": "off", + "flowtype/object-type-curly-spacing": "off", + "flowtype/object-type-delimiter": "off", + "flowtype/quotes": "off", + "flowtype/semi": "off", + "flowtype/space-after-type-colon": "off", + "flowtype/space-before-generic-bracket": "off", + "flowtype/space-before-type-colon": "off", + "flowtype/union-intersection-spacing": "off", + "func-call-spacing": "off", + "function-call-argument-newline": "off", + "function-paren-newline": "off", + "generator-star": "off", + "generator-star-spacing": "off", + "id-denylist": "error", + "id-match": "error", + "implicit-arrow-linebreak": "off", + "indent": "off", + "indent-legacy": "off", + "jsdoc/check-alignment": "error", + "jsdoc/check-indentation": "error", + "jsdoc/newline-after-description": "error", + "jsx-quotes": "off", + "key-spacing": "off", + "keyword-spacing": "off", + "linebreak-style": "off", + "lines-around-comment": "off", + "max-len": [ + "warn", + { + "code": 120 + } + ], + "multiline-ternary": "off", + "new-parens": "off", + "newline-per-chained-call": "off", + "no-arrow-condition": "off", + "no-comma-dangle": "off", + "no-confusing-arrow": "off", + "no-console": [ + "error", + { + "allow": [ + "warn", + "dir", + "time", + "timeEnd", + "timeLog", + "trace", + "assert", + "clear", + "count", + "countReset", + "group", + "groupEnd", + "table", + "debug", + "info", + "dirxml", + "groupCollapsed", + "Console", + "profile", + "profileEnd", + "timeStamp", + "context" + ] + } + ], + "no-debugger": "error", + "no-eval": "error", + "no-extra-parens": "off", + "no-extra-semi": "off", + "no-fallthrough": "error", + "no-floating-decimal": "off", + "no-invalid-this": "error", + "no-irregular-whitespace": "off", + "no-mixed-operators": "off", + "no-mixed-spaces-and-tabs": "off", + "no-multi-spaces": "off", + "no-multiple-empty-lines": "error", + "no-null/no-null": "off", + "no-reserved-keys": "off", + "no-shadow": "off", + "no-space-before-semi": "off", + "no-spaced-func": "off", + "no-tabs": "off", + "no-trailing-spaces": "error", + "no-underscore-dangle": "off", + "no-unexpected-multiline": "off", + "no-var": "error", + "no-whitespace-before-property": "off", + "no-wrap-func": "off", + "nonblock-statement-body-position": "off", + "object-curly-newline": "off", + "object-curly-spacing": "off", + "object-property-newline": "off", + "object-shorthand": "error", + "one-var": [ + "error", + "never" + ], + "one-var-declaration-per-line": "off", + "operator-linebreak": "off", + "padded-blocks": [ + "off", + { + "blocks": "never" + }, + { + "allowSingleLineBlocks": true + } + ], + "prefer-template": "off", + "quote-props": [ + "error", + "consistent-as-needed" + ], + "quotes": "off", + "radix": "error", + "react/jsx-child-element-spacing": "off", + "react/jsx-closing-bracket-location": "off", + "react/jsx-closing-tag-location": "off", + "react/jsx-curly-newline": "off", + "react/jsx-curly-spacing": "off", + "react/jsx-equals-spacing": "off", + "react/jsx-first-prop-new-line": "off", + "react/jsx-indent": "off", + "react/jsx-indent-props": "off", + "react/jsx-max-props-per-line": "off", + "react/jsx-newline": "off", + "react/jsx-one-expression-per-line": "off", + "react/jsx-props-no-multi-spaces": "off", + "react/jsx-space-before-closing": "off", + "react/jsx-tag-spacing": [ + "off", + { + "afterOpening": "allow", + "closingSlash": "allow" + } + ], + "react/jsx-wrap-multilines": "off", + "rest-spread-spacing": "off", + "semi": "off", + "semi-spacing": "off", + "semi-style": "off", + "space-after-function-name": "off", + "space-after-keywords": "off", + "space-before-blocks": "off", + "space-before-function-paren": "off", + "space-before-function-parentheses": "off", + "space-before-keywords": "off", + "space-in-brackets": "off", + "space-in-parens": [ + "off", + "never" + ], + "space-infix-ops": "off", + "space-return-throw-case": "off", + "space-unary-ops": "off", + "space-unary-word-ops": "off", + "standard/array-bracket-even-spacing": "off", + "standard/computed-property-even-spacing": "off", + "standard/object-curly-even-spacing": "off", + "switch-colon-spacing": "off", + "template-curly-spacing": "off", + "template-tag-spacing": "off", + "unicode-bom": "off", + "unicorn/empty-brace-spaces": "off", + "unicorn/no-nested-ternary": "off", + "unicorn/number-literal-case": "off", + "wrap-iife": "off", + "wrap-regex": "off", + "yield-star-spacing": "off" + } +}; diff --git a/cli/bin/garden b/cli/bin/garden index 7263f7a928..076dc3e4ee 100755 --- a/cli/bin/garden +++ b/cli/bin/garden @@ -14,7 +14,7 @@ if (process.env.GARDEN_ENABLE_PROFILING === "1" || process.env.GARDEN_ENABLE_PRO Mod.prototype.require = function () { const start = performance.now() - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this const mod = req.apply(this, arguments) profiler.log("require", start) // Aggregate of all requires @@ -26,7 +26,7 @@ if (process.env.GARDEN_ENABLE_PROFILING === "1" || process.env.GARDEN_ENABLE_PRO profiler.log(prefix + split[split.length - 1], start) } else { profiler.log(prefix + moduleName, start) - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this profiler.log(prefix + basename(this.filename) + ":" + moduleName, start) } @@ -37,5 +37,5 @@ if (process.env.GARDEN_ENABLE_PROFILING === "1" || process.env.GARDEN_ENABLE_PRO require("source-map-support").install() const cli = require("../build/src/cli") -// tslint:disable-next-line: no-floating-promises +// eslint-disable-next-line @typescript-eslint/no-floating-promises cli.runCli() diff --git a/cli/package.json b/cli/package.json index c353406aa9..0a1d29feb3 100644 --- a/cli/package.json +++ b/cli/package.json @@ -45,11 +45,6 @@ "postinstall-postinstall": "^2.1.0", "prettier": "^2.1.0", "split2": "^3.2.2", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-microsoft-contrib": "^6.2.0", - "tslint-no-unused": "^0.2.0-alpha.1", - "tslint-plugin-prettier": "^2.3.0", "typescript": "^4.7.4", "username": "^5.1.0" }, @@ -60,7 +55,7 @@ "clean": "shx rm -rf build dist", "fix-format": "prettier --write \"{src,test}/**/*.ts\"", "generate-docs": "node ./build/src/generate-docs.js", - "lint": "tslint -p .", + "lint": "eslint -c ../.eslintrc --ext .ts src/", "postinstall": "patch-package", "test": "mocha" }, diff --git a/cli/src/add-version-files.ts b/cli/src/add-version-files.ts index 8790a0fca1..8dd03ab96c 100644 --- a/cli/src/add-version-files.ts +++ b/cli/src/add-version-files.ts @@ -37,7 +37,7 @@ async function addVersionFiles() { const vcsHandler = new GitHandler(STATIC_DIR, garden.gardenDirPath, garden.dotIgnoreFile, new TreeCache()) const treeVersion = await vcsHandler.getTreeVersion(garden.log, garden.projectName, config) - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(`${config.name} -> ${relative(STATIC_DIR, versionFilePath)}`) return writeTreeVersionFile(path, treeVersion) @@ -45,7 +45,7 @@ async function addVersionFiles() { } addVersionFiles().catch((err) => { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.error(err) process.exit(1) }) diff --git a/cli/src/build-pkg.ts b/cli/src/build-pkg.ts index 93dfd78b7c..0822d5ddba 100644 --- a/cli/src/build-pkg.ts +++ b/cli/src/build-pkg.ts @@ -29,7 +29,7 @@ const distPath = resolve(repoRoot, "dist") // Allow larger heap size than default const nodeOptions = ["max-old-space-size=4096"] -// tslint:disable: no-console +/* eslint-disable no-console */ interface TargetHandlerParams { targetName: string @@ -301,7 +301,7 @@ async function tarball(targetName: string, version: string): Promise<void> { hash.end() const sha256 = hash.read() - // tslint:disable-next-line: no-floating-promises + // eslint-disable-next-line @typescript-eslint/no-floating-promises writeFile(hashPath, sha256 + "\n") .catch(reject) .then(_resolve) diff --git a/cli/src/cli.ts b/cli/src/cli.ts index 5720f512b6..81bcbfc489 100644 --- a/cli/src/cli.ts +++ b/cli/src/cli.ts @@ -41,7 +41,7 @@ export async function runCli({ result = await cli.run({ args, exitOnError }) code = result.code } catch (err) { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(err.message) code = 1 } finally { diff --git a/cli/src/generate-docs.ts b/cli/src/generate-docs.ts index fe9106779a..508a3ea8fc 100644 --- a/cli/src/generate-docs.ts +++ b/cli/src/generate-docs.ts @@ -30,12 +30,12 @@ const plugins = [...getBundledPlugins(), ...getSupportedPlugins()] generateDocs(resolve(GARDEN_CLI_ROOT, "..", "docs"), plugins) .then(() => { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log("Done!") process.exit(0) }) .catch((err) => { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.error(err) process.exit(1) }) diff --git a/cli/tslint.json b/cli/tslint.json deleted file mode 100644 index 9c1d50455e..0000000000 --- a/cli/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/core/package.json b/core/package.json index d0abb2e61c..6005dbf138 100644 --- a/core/package.json +++ b/core/package.json @@ -222,8 +222,15 @@ "@types/which": "^1.3.2", "@types/wrap-ansi": "^3.0.0", "@types/write-file-atomic": "^4.0.0", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "amplitude-js": "^6.2.0", "chai": "^4.2.0", + "eslint": "^8.33.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-jsdoc": "^39.7.5", + "eslint-plugin-no-null": "^1.0.2", + "eslint-plugin-react": "^7.32.2", "finalhandler": "^1.1.2", "gulp": "^4.0.2", "gulp-pegjs": "^0.2.0", @@ -245,11 +252,6 @@ "testdouble-chai": "^0.5.0", "timekeeper": "^2.2.0", "touch": "^3.1.0", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-microsoft-contrib": "^6.2.0", - "tslint-no-unused": "^0.2.0-alpha.1", - "tslint-plugin-prettier": "^2.3.0", "type-fest": "^2.5.4", "typescript": "^4.7.4", "utility-types": "^3.10.0" @@ -260,7 +262,7 @@ "clean": "shx rm -rf build", "dev": "gulp pegjs-watch", "fix-format": "prettier --write \"{src,test}/**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../.eslintrc --ignore-pattern 'src/lib/**' --ext .ts src/", "migration:generate": "typeorm migration:generate --config ormconfig.js -n", "_integ": "mocha --config .mocharc.integ.yml", "integ-kind": "GARDEN_INTEG_TEST_MODE=local GARDEN_SKIP_TESTS=\"cluster-buildkit cluster-buildkit-rootless kaniko remote-only\" yarn _integ", diff --git a/core/src/cli/cli.ts b/core/src/cli/cli.ts index 7cfa331cb5..d8598fba0e 100644 --- a/core/src/cli/cli.ts +++ b/core/src/cli/cli.ts @@ -552,7 +552,7 @@ ${renderCommands(commands)} async function done(abortCode: number, consoleOutput: string, result: any = {}) { if (exitOnError) { logger && logger.stop() - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(consoleOutput) await waitForOutputFlush() await shutdown(abortCode) diff --git a/core/src/commands/custom.ts b/core/src/commands/custom.ts index 969c0e5546..8a43a1247c 100644 --- a/core/src/commands/custom.ts +++ b/core/src/commands/custom.ts @@ -241,7 +241,7 @@ export async function getCustomCommands(builtinCommands: (Command | CommandGroup } if (builtinNames.includes(r.name)) { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log( chalk.yellow( `Ignoring custom command ${r.name} because it conflicts with a built-in command with the same name` diff --git a/core/src/commands/get/get-doddi.ts b/core/src/commands/get/get-doddi.ts index d7ef992fd3..b79b653a46 100644 --- a/core/src/commands/get/get-doddi.ts +++ b/core/src/commands/get/get-doddi.ts @@ -30,7 +30,7 @@ export class GetDoddiCommand extends Command { async action(): Promise<CommandResult> { const image = (await readFile(join(STATIC_DIR, "doddi.txt"))).toString() - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(image) try { diff --git a/core/src/commands/get/get-eysi.ts b/core/src/commands/get/get-eysi.ts index e809f1e80c..9b316096c4 100644 --- a/core/src/commands/get/get-eysi.ts +++ b/core/src/commands/get/get-eysi.ts @@ -30,7 +30,7 @@ export class GetEysiCommand extends Command { async action(): Promise<CommandResult> { const eysi = (await readFile(join(STATIC_DIR, "eysi.txt"))).toString() - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(eysi) try { diff --git a/core/src/config/common.ts b/core/src/config/common.ts index ec659c8147..80de2aaf52 100644 --- a/core/src/config/common.ts +++ b/core/src/config/common.ts @@ -198,7 +198,7 @@ export let joi: Schema = Joi.extend({ rules: { allowGlobs: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_setFlag("allowGlobs", true) }, validate(value) { @@ -208,7 +208,7 @@ export let joi: Schema = Joi.extend({ }, absoluteOnly: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule("absoluteOnly") }, validate(value, { error }) { @@ -221,7 +221,7 @@ export let joi: Schema = Joi.extend({ }, filenameOnly: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule("filenameOnly") }, validate(value, { error }) { @@ -234,7 +234,7 @@ export let joi: Schema = Joi.extend({ }, relativeOnly: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule("relativeOnly") }, validate(value, { error }) { @@ -247,7 +247,7 @@ export let joi: Schema = Joi.extend({ }, subPathOnly: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule("subPathOnly") }, validate(value, { error }) { @@ -282,7 +282,7 @@ joi = joi.extend({ rules: { requireHash: { method() { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule("requireHash") }, validate(value, { error }) { @@ -358,9 +358,9 @@ joi = joi.extend({ rules: { jsonSchema: { method(jsonSchema: object) { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this this.$_setFlag("jsonSchema", jsonSchema) - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_addRule(<any>{ name: "jsonSchema", args: { jsonSchema } }) }, args: [ @@ -580,7 +580,7 @@ joi = joi.extend({ }, ], method(value: string) { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_setFlag("kind", value.toLowerCase()) }, validate(value) { @@ -596,7 +596,7 @@ joi = joi.extend({ }, ], method(value: string) { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this return this.$_setFlag("name", value) }, validate(value) { diff --git a/core/src/docs/generate.ts b/core/src/docs/generate.ts index c1ed92fbb1..66a8e208e9 100644 --- a/core/src/docs/generate.ts +++ b/core/src/docs/generate.ts @@ -26,8 +26,9 @@ import { renderActionTypeReference } from "./action-type" import { ActionKind } from "../plugin/action-types" import { DEFAULT_API_VERSION } from "../constants" +/* eslint-disable no-console */ + export async function generateDocs(targetDir: string, plugins: GardenPluginReference[]) { - // tslint:disable: no-console const docsRoot = resolve(process.cwd(), targetDir) console.log("Updating command references...") @@ -44,7 +45,6 @@ export async function generateDocs(targetDir: string, plugins: GardenPluginRefer } export async function writeConfigReferenceDocs(docsRoot: string, plugins: GardenPlugin[]) { - // tslint:disable: no-console const referenceDir = resolve(docsRoot, "reference") const providers = [ diff --git a/core/src/docs/table-of-contents.ts b/core/src/docs/table-of-contents.ts index 1ef38d5ac6..a10583d9a9 100644 --- a/core/src/docs/table-of-contents.ts +++ b/core/src/docs/table-of-contents.ts @@ -175,7 +175,7 @@ export function generateTableOfContents(docsRoot: string): string { } export async function writeTableOfContents(docsRoot: string, outputFileName: string) { - // tslint:disable: no-console + /* eslint-disable no-console */ const toWrite = generateTableOfContents(docsRoot) const tocPath = resolve(docsRoot, outputFileName) await createFile(tocPath) diff --git a/core/src/docs/template-strings.ts b/core/src/docs/template-strings.ts index e08688249d..c4404fa8da 100644 --- a/core/src/docs/template-strings.ts +++ b/core/src/docs/template-strings.ts @@ -91,7 +91,7 @@ const contexts: ContextSpec[] = [ ] export function writeTemplateStringReferenceDocs(docsRoot: string) { - // tslint:disable: no-console + /* eslint-disable no-console */ const referenceDir = resolve(docsRoot, "reference") const outputDir = resolve(referenceDir, "template-strings") const templatesDir = resolve(TEMPLATES_DIR, "template-strings") diff --git a/core/src/lib/minimist.ts b/core/src/lib/minimist.ts index aeb3e4efd8..f2fe99ad58 100644 --- a/core/src/lib/minimist.ts +++ b/core/src/lib/minimist.ts @@ -87,7 +87,7 @@ export function customMinimist(args, opts: minimist.Opts): minimist.ParsedArgs { function setKey(obj, keys, value) { let o = obj for (let i = 0; i < keys.length - 1; i++) { - // tslint:disable-next-line: no-shadowed-variable + // eslint-disable-next-line no-shadowed-variable let key = keys[i] if (key === "__proto__") { return diff --git a/core/src/lib/p-memoize.ts b/core/src/lib/p-memoize.ts index ba82da9c37..8e336e522c 100644 --- a/core/src/lib/p-memoize.ts +++ b/core/src/lib/p-memoize.ts @@ -104,7 +104,7 @@ export function pMemoizeDecorator<FunctionToMemoize extends AnyAsyncFunction, Ca delete descriptor.writable descriptor.get = function () { - // tslint:disable: no-invalid-this + // eslint-disable: no-invalid-this if (!instanceMap.has(this)) { const value = pMemoize(input, options) as FunctionToMemoize instanceMap.set(this, value) diff --git a/core/src/plugins/kubernetes/api.ts b/core/src/plugins/kubernetes/api.ts index b99c22a931..3b7ab1b098 100644 --- a/core/src/plugins/kubernetes/api.ts +++ b/core/src/plugins/kubernetes/api.ts @@ -6,8 +6,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -// No idea why tslint complains over this line -// tslint:disable-next-line:no-unused import { IncomingMessage } from "http" import { ReadStream } from "tty" import Bluebird from "bluebird" @@ -153,7 +151,7 @@ type WrappedList<T extends List> = T["items"] extends Array<infer V> ? Kubernete type WrappedApi<T> = { // Wrap each API method [P in keyof T]: - T[P] extends (...args: infer A) => Promise<{ response: IncomingMessage, body: infer U }> + T[P] extends (...args: infer A) => Promise<{ response: IncomingMessage; body: infer U }> ? ( // If so we wrap it and return the `body` part of the output directly and... // If it's a list, we cast to a KubernetesServerList, which in turn wraps the array type @@ -827,6 +825,7 @@ export class KubeApi { /** * Create an ad-hoc Pod. Use this method to handle race-condition cases when creating Pods. + * * @throws {KubernetesError} */ async createPod(namespace: string, pod: KubernetesPod) { diff --git a/core/src/plugins/kubernetes/port-forward.ts b/core/src/plugins/kubernetes/port-forward.ts index c55145e352..7bf9f53d9a 100644 --- a/core/src/plugins/kubernetes/port-forward.ts +++ b/core/src/plugins/kubernetes/port-forward.ts @@ -160,7 +160,7 @@ export async function getPortForward({ registeredPortForwards[key] = portForward resolved = true // Setting a sleep because kubectl returns a bit early sometimes - // tslint:disable-next-line: no-floating-promises + // eslint-disable-next-line @typescript-eslint/no-floating-promises sleep(250).then(() => resolve(portForward)) } }) @@ -168,7 +168,6 @@ export async function getPortForward({ proc.stderr!.on("data", (line) => { log.silly(`[${targetResource} port forwarder] ${line}`) output += line - // tslint:disable-next-line: max-line-length // Following this: https://github.com/nkubala/skaffold/blob/0d52436f792b862e06311c42065afd8e2363771c/pkg/skaffold/kubernetes/portforward/kubectl_forwarder.go#L177 // Note: It'd be much more robust to avoid kubectl here, but it's more work to implement. if ( diff --git a/core/src/proxy.ts b/core/src/proxy.ts index c06a3a0d02..655110f76d 100644 --- a/core/src/proxy.ts +++ b/core/src/proxy.ts @@ -186,7 +186,7 @@ async function createProxy({ garden, graph, log, action, spec }: StartPortProxyP // net.Server.listen doesn't call the handler until a connection is established, in which // case we can actually go ahead and contact the remote. Indeed, we need to in case the remote // responds on connection. - // tslint:disable-next-line: no-floating-promises + // eslint-disable-next-line @typescript-eslint/no-floating-promises getRemote() const writeToRemote = (remote: Socket, data: Buffer) => { diff --git a/core/src/util/profiling.ts b/core/src/util/profiling.ts index 24d334a980..53f390bda2 100644 --- a/core/src/util/profiling.ts +++ b/core/src/util/profiling.ts @@ -124,7 +124,6 @@ export function getDefaultProfiler() { /** * Class decorator that collects profiling data on every method invocation (if GARDEN_ENABLE_PROFILING is true). */ -// tslint:disable-next-line: function-name export function Profile(profiler?: Profiler) { if (!profiler) { profiler = getDefaultProfiler() @@ -145,7 +144,7 @@ export function Profile(profiler?: Profiler) { const wrapped = function (this: any, ...args: any[]) { const start = performance.now() - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this const result = originalMethod.apply(this, args) if (!profiler!.isEnabled()) { diff --git a/core/src/util/streams.ts b/core/src/util/streams.ts index 2e5acada77..6669879ef1 100644 --- a/core/src/util/streams.ts +++ b/core/src/util/streams.ts @@ -32,7 +32,6 @@ export class SortedStreamIntersection<T> extends Readable { this.started = false } - // tslint:disable-next-line: function-name _read() { if (!this.started) { this.start() diff --git a/core/src/util/util.ts b/core/src/util/util.ts index d67b8893be..b85c1a0bed 100644 --- a/core/src/util/util.ts +++ b/core/src/util/util.ts @@ -90,7 +90,7 @@ export async function shutdown(code?: number) { // This is a good place to log exitHookNames if needed. if (!testFlags.disableShutdown) { if (gardenEnv.GARDEN_ENABLE_PROFILING) { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(getDefaultProfiler().report()) } process.exit(code) @@ -809,7 +809,6 @@ export class StringCollector extends Writable { }) } - // tslint:disable-next-line: function-name _write(chunk: Buffer, _: string, callback: () => void) { this.chunks.push(Buffer.from(chunk)) callback() diff --git a/core/test/helpers.ts b/core/test/helpers.ts index dece0b46f2..dffaf3a159 100644 --- a/core/test/helpers.ts +++ b/core/test/helpers.ts @@ -92,7 +92,7 @@ export function getExampleDir(name: string) { } export async function profileBlock(description: string, block: () => Promise<any>) { - // tslint:disable: no-console + /* eslint-disable no-console */ const startTime = new Date().getTime() const result = await block() const executionTime = new Date().getTime() - startTime diff --git a/core/test/integ/src/plugins/kubernetes/container/container.ts b/core/test/integ/src/plugins/kubernetes/container/container.ts index b99f759d98..444a3e6cc8 100644 --- a/core/test/integ/src/plugins/kubernetes/container/container.ts +++ b/core/test/integ/src/plugins/kubernetes/container/container.ts @@ -53,7 +53,7 @@ export async function getContainerTestGarden(environmentName: string = defaultEn await api.upsert({ kind: "Secret", namespace: "default", obj: authSecret, log: garden.log }) } catch (err) { // This is expected when running without access to gcloud (e.g. in minikube tests) - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log("Warning: Unable to decrypt docker auth secret") const authSecret: KubernetesResource<V1Secret> = { apiVersion: "v1", diff --git a/core/test/integ/src/plugins/kubernetes/container/logs.ts b/core/test/integ/src/plugins/kubernetes/container/logs.ts index b436238851..74f3f21a62 100644 --- a/core/test/integ/src/plugins/kubernetes/container/logs.ts +++ b/core/test/integ/src/plugins/kubernetes/container/logs.ts @@ -234,7 +234,7 @@ describe("kubernetes", () => { // Start following logs even when no services is deployed // (we don't wait for the Promise since it won't resolve unless we close the connection) - // tslint:disable-next-line: no-floating-promises + // eslint-disable-next-line @typescript-eslint/no-floating-promises logsFollower.followLogs({ limitBytes: null }) await sleep(1500) diff --git a/core/test/setup.ts b/core/test/setup.ts index b1723dc34b..0aaf60e335 100644 --- a/core/test/setup.ts +++ b/core/test/setup.ts @@ -26,7 +26,7 @@ exports.mochaHooks = { }, async afterAll() { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(getDefaultProfiler().report()) await Bluebird.map(Object.values(testProjectTempDirs), (d) => d.cleanup()) }, diff --git a/core/test/unit/src/build-staging/build-staging.ts b/core/test/unit/src/build-staging/build-staging.ts index 144f7ee064..67625bbc46 100644 --- a/core/test/unit/src/build-staging/build-staging.ts +++ b/core/test/unit/src/build-staging/build-staging.ts @@ -386,7 +386,7 @@ function commonSyncTests(legacyBuildSync: boolean) { const notCopiedPath = join(buildDirD, "B", "build", "unused.txt") expect(await pathExists(notCopiedPath)).to.eql(false) } catch (e) { - // tslint:disable-next-line: no-console + // eslint-disable-next-line no-console console.log(nodetree(buildStaging.buildDirPath)) throw e } diff --git a/core/test/unit/src/commands/build.ts b/core/test/unit/src/commands/build.ts index 4cb9013777..0c648f2d07 100644 --- a/core/test/unit/src/commands/build.ts +++ b/core/test/unit/src/commands/build.ts @@ -63,7 +63,7 @@ describe("BuildCommand", () => { }, }) - // tslint:disable-next-line: no-shadowed-variable + // eslint-disable-next-line no-shadowed-variable function getBuildModuleResultVersion(result: ProcessCommandResult, moduleName: string): string { const buildActionResults = result!.graphResults const moduleKey = nodeKey("build", moduleName) diff --git a/core/test/unit/src/commands/dev.ts b/core/test/unit/src/commands/dev.ts index 61c6f2be52..171ea2d925 100644 --- a/core/test/unit/src/commands/dev.ts +++ b/core/test/unit/src/commands/dev.ts @@ -41,7 +41,7 @@ describe("DevCommand", () => { // } // }) // .catch((err) => { - // // tslint:disable-next-line: no-console + // // eslint-disable-next-line no-console // console.error(err) // }) diff --git a/core/test/unit/src/config/template-contexts/module.ts b/core/test/unit/src/config/template-contexts/module.ts index b05ad04488..87865132e1 100644 --- a/core/test/unit/src/config/template-contexts/module.ts +++ b/core/test/unit/src/config/template-contexts/module.ts @@ -144,7 +144,7 @@ describe("ModuleConfigContext", () => { before(async () => { const modules = graph.getModules() deployA = graph.getDeploy("service-a") - // tslint:disable-next-line: no-unused + // eslint-disable-next-line no-unused const deployB = graph.getDeploy("service-b") // const testB = graph.getTest("test-b") module = graph.getModule("module-b") diff --git a/core/test/unit/src/garden.ts b/core/test/unit/src/garden.ts index 5fa73d8b63..98c5a042f2 100644 --- a/core/test/unit/src/garden.ts +++ b/core/test/unit/src/garden.ts @@ -3824,7 +3824,6 @@ describe("Garden", () => { await expectError(() => garden.resolveModules({ log: garden.log }), { contains: [ "Failed resolving one or more modules:", - // tslint:disable-next-line: max-line-length "foo: Error validating configuration for module 'foo' (base schema from 'base' plugin): key .base is required", ], }) diff --git a/core/test/unit/src/router/base.ts b/core/test/unit/src/router/base.ts index c14e399c58..9331433829 100644 --- a/core/test/unit/src/router/base.ts +++ b/core/test/unit/src/router/base.ts @@ -143,7 +143,6 @@ describe("BaseActionRouter", () => { context("when no providers extend the action type with requested handler", () => { // TODO - // tslint:disable-next-line: max-line-length // https://github.com/garden-io/garden/blob/bbe493b16baf35150e2a883bcb5613ef13d54dcd/core/test/unit/src/actions.ts#L1072 }) diff --git a/core/test/unit/src/router/build.ts b/core/test/unit/src/router/build.ts index 990fdc9409..791c6dcf7c 100644 --- a/core/test/unit/src/router/build.ts +++ b/core/test/unit/src/router/build.ts @@ -20,7 +20,7 @@ describe("build actions", () => { let graph: ConfigGraph let log: LogEntry let actionRouter: ActionRouter - // tslint:disable-next-line: no-unused + // eslint-disable-next-line no-unused let returnWrongOutputsCfgKey: string let resolvedBuildAction: ResolvedBuildAction let module: GardenModule diff --git a/core/test/unit/src/template-string.ts b/core/test/unit/src/template-string.ts index 18725beb70..5387a0171b 100644 --- a/core/test/unit/src/template-string.ts +++ b/core/test/unit/src/template-string.ts @@ -19,7 +19,7 @@ import { expectError } from "../../helpers" import stripAnsi = require("strip-ansi") import { dedent } from "../../../src/util/string" -/* tslint:disable:no-invalid-template-strings */ +/* eslint-disable no-invalid-template-strings */ class TestContext extends ConfigContext { constructor(context) { diff --git a/core/test/unit/src/util/util.ts b/core/test/unit/src/util/util.ts index 96ace4a5f5..d03b64e98e 100644 --- a/core/test/unit/src/util/util.ts +++ b/core/test/unit/src/util/util.ts @@ -107,7 +107,7 @@ describe("util", () => { before(function () { // These tests depend the underlying OS and are only executed on macOS and linux if (!isLinuxOrDarwin()) { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this this.skip() } }) @@ -171,7 +171,7 @@ describe("util", () => { before(function () { // These tests depend on the underlying OS and are only executed on macOS and linux if (!isLinuxOrDarwin()) { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this this.skip() } }) diff --git a/core/tslint.json b/core/tslint.json deleted file mode 100644 index 9c1d50455e..0000000000 --- a/core/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/e2e/e2e-project.ts b/e2e/e2e-project.ts index 431b4a85ad..d44f7a6a8d 100755 --- a/e2e/e2e-project.ts +++ b/e2e/e2e-project.ts @@ -35,11 +35,11 @@ Example: ./core/bin/e2e-project.ts --binPath=/path/to/garden --project=demo-proj ` async function run() { - // tslint:disable: no-console + /* eslint-disable no-console */ const project = parsedArgs.project if (!project) { - throw new Error(`Must specify project name with --project parameter`) + throw new Error("Must specify project name with --project parameter") } // Abort if examples dir is dirty to prevent changes being checked out diff --git a/e2e/helpers.ts b/e2e/helpers.ts index 6931131dfe..a5e1b9d018 100644 --- a/e2e/helpers.ts +++ b/e2e/helpers.ts @@ -42,6 +42,7 @@ export async function deleteExampleNamespaces(namespaces: string[]) { // Note: we don't wait for the kubectl command to return, since that's basically a fire-and-forget and would cost // a lot of time to wait for. deleteNamespacesKubectl(namespacesToDelete).catch((err) => { + // eslint-disable-next-line console.error(chalk.red.bold(`Error when cleaning namespaces: ${err.message}`)) }) } diff --git a/e2e/package.json b/e2e/package.json index 48ec120aaf..42683a9272 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -38,11 +38,6 @@ "prettier": "^2.1.1", "split2": "^4.1.0", "ts-node": "^10.8.2", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-microsoft-contrib": "^6.2.0", - "tslint-no-unused": "^0.2.0-alpha.1", - "tslint-plugin-prettier": "^2.3.0", "typescript": "^4.7.4" }, "scripts": { @@ -51,6 +46,6 @@ "dev": "tsc --build . -w --preserveWatchOutput", "e2e-project": "ts-node e2e-project.ts", "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p ." + "lint": "eslint -c ../.eslintrc --ignore-pattern 'projects/**' --ext .ts ." } } diff --git a/e2e/run-garden.ts b/e2e/run-garden.ts index be6d3a6707..e9accbd91f 100644 --- a/e2e/run-garden.ts +++ b/e2e/run-garden.ts @@ -27,14 +27,12 @@ export const showLog = !!parsedArgs.showlog const DEFAULT_ARGS = ["--logger-type", "json", "--log-level", "silly"] const logActivityIntervalMsec = 60 * 1000 // How frequently to log a message while waiting for proc to finish -// tslint:disable: no-console +/* eslint-disable no-console */ export function waitingForChangesStep(): WatchTestStep { return { description: "tasks completed, waiting for code changes", - condition: async (logEntries: JsonLogEntry[]) => { - return searchLog(logEntries, /Waiting for code changes/) - }, + condition: async (logEntries: JsonLogEntry[]) => searchLog(logEntries, /Waiting for code changes/), } } @@ -88,9 +86,7 @@ export function touchFileStep(path: string, description: string): WatchTestStep export function commandReloadedStep(): WatchTestStep { return { description: "command reloaded", - condition: async (logEntries: JsonLogEntry[]) => { - return searchLog(logEntries, /Configuration changed, reloading/) - }, + condition: async (logEntries: JsonLogEntry[]) => searchLog(logEntries, /Configuration changed, reloading/), } } @@ -165,9 +161,9 @@ export type WatchTestConditionState = "waiting" | "passed" | "failed" /** * Return values: - * "waiting": the condition hasn't passed or failed yet - * "passed": condition has passed (proceed to next step) - * "failed": condition has failed (terminates the watch command) + * - "waiting": the condition hasn't passed or failed yet + * - "passed": condition has passed (proceed to next step) + * - "failed": condition has failed (terminates the watch command) */ export type WatchTestCondition = (logEntries: JsonLogEntry[]) => Promise<WatchTestConditionState> @@ -256,7 +252,7 @@ export class GardenWatch { this.proc.on("exit", closeHandler) this.proc.on("disconnect", () => { - error = new Error(`Disconnected from process`) + error = new Error("Disconnected from process") this.running = false }) diff --git a/e2e/test/pre-release.ts b/e2e/test/pre-release.ts index b1c44232f3..c1203ff188 100644 --- a/e2e/test/pre-release.ts +++ b/e2e/test/pre-release.ts @@ -32,6 +32,7 @@ import username from "username" import { realpath } from "fs-extra" function log(msg: string) { + // eslint-disable-next-line console.log(chalk.magentaBright(msg)) } @@ -44,7 +45,7 @@ describe("PreReleaseTests", () => { const userId = process.env.CIRCLE_BUILD_NUM ? "ci-" + process.env.CIRCLE_BUILD_NUM : username.sync() if (!project) { - throw new Error(`Must specify project name with --project parameter`) + throw new Error("Must specify project name with --project parameter") } function getProjectNamespaces() { @@ -138,7 +139,7 @@ describe("PreReleaseTests", () => { const workflowName = "full-test" const logEntries = await runWithEnv(["run-workflow", workflowName]) expect( - searchLog(logEntries, new RegExp(`Workflow ${workflowName} completed successfully.`, `g`)), + searchLog(logEntries, new RegExp(`Workflow ${workflowName} completed successfully.`, "g")), `expected to find "Workflow ${workflowName} completed successfully." in log output.` ).to.eql("passed") }) @@ -192,6 +193,7 @@ describe("PreReleaseTests", () => { description: "node-service returns the updated response text", condition: async () => { const callLogEntries = await runWithEnv(["call", "node-service"]) + // eslint-disable-next-line console.log(callLogEntries.map((l) => stringifyJsonLog(l)).join("\n")) return searchLog(callLogEntries, /Hello from foo/) }, diff --git a/e2e/tslint.json b/e2e/tslint.json deleted file mode 100644 index fc5e8be0fa..0000000000 --- a/e2e/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tslint.base.json", - "rules": { - "no-console": [ - false, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/package.json b/package.json index d89ac5f17b..aa40498d3e 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,18 @@ "@types/prettier": "^2", "@types/semver": "^7.2.0", "@types/treeify": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "@yarnpkg/pnpify": "^2.1.0", "chalk": "^4.1.0", "csv": "^6.0.5", "deline": "^1.0.4", "dependency-graph": "^0.9.0", + "eslint": "^8.33.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-jsdoc": "^39.7.5", + "eslint-plugin-no-null": "^1.0.2", + "eslint-plugin-react": "^7.32.2", "execa": "^4.0.2", "fs-extra": "^9.0.0", "gulp": "^4.0.2", @@ -50,11 +57,6 @@ "strip-ansi": "^6.0.0", "treeify": "^1.1.0", "ts-node": "^10.8.2", - "tslint": "^6.1.3", - "tslint-microsoft-contrib": "^6.2.0", - "tslint-no-focused-test": "^0.5.0", - "tslint-no-unused": "^0.2.0-alpha.1", - "tslint-plugin-prettier": "^2.3.0", "typescript": "^4.7.4", "typescript-formatter": "^7.2.2", "wrap-ansi": "^7.0.0" diff --git a/plugins/conftest-container/package.json b/plugins/conftest-container/package.json index dc21d79468..11d6375a46 100644 --- a/plugins/conftest-container/package.json +++ b/plugins/conftest-container/package.json @@ -21,7 +21,7 @@ }, "scripts": { "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/conftest-container/tslint.json b/plugins/conftest-container/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/conftest-container/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/plugins/conftest-kubernetes/package.json b/plugins/conftest-kubernetes/package.json index c735468697..8d6ae32689 100644 --- a/plugins/conftest-kubernetes/package.json +++ b/plugins/conftest-kubernetes/package.json @@ -21,7 +21,7 @@ }, "scripts": { "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/conftest-kubernetes/tslint.json b/plugins/conftest-kubernetes/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/conftest-kubernetes/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/plugins/conftest/package.json b/plugins/conftest/package.json index 022dd4837e..6e1686b90e 100644 --- a/plugins/conftest/package.json +++ b/plugins/conftest/package.json @@ -20,7 +20,7 @@ }, "scripts": { "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/conftest/tslint.json b/plugins/conftest/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/conftest/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/plugins/jib/package.json b/plugins/jib/package.json index d4f32895c2..a342524bf2 100644 --- a/plugins/jib/package.json +++ b/plugins/jib/package.json @@ -25,7 +25,7 @@ "scripts": { "clean": "rm -f *.js *.d.ts *.map tsconfig.buildinfo tsconfig.tsbuildinfo", "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/jib/test/index.ts b/plugins/jib/test/index.ts index 4f1c53382d..9586a03e4c 100644 --- a/plugins/jib/test/index.ts +++ b/plugins/jib/test/index.ts @@ -17,7 +17,7 @@ import { defaultDotIgnoreFile } from "@garden-io/core/build/src/util/fs" import { JibBuildAction } from "../util" describe("jib-container", function () { - // tslint:disable-next-line: no-invalid-this + // eslint-disable-next-line no-invalid-this this.timeout(180 * 1000) // initial jib build can take a long time const projectRoot = join(__dirname, "test-project") diff --git a/plugins/jib/test/util.ts b/plugins/jib/test/util.ts index 2c0718a25a..56bf2efa7e 100644 --- a/plugins/jib/test/util.ts +++ b/plugins/jib/test/util.ts @@ -40,7 +40,7 @@ describe("util", () => { files: [], }, } - expectError( + void expectError( () => detectProjectType(module), (err) => expect(err.message).to.equal("Could not detect a gradle or maven project to build module foo") ) diff --git a/plugins/jib/tslint.json b/plugins/jib/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/jib/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/plugins/pulumi/helpers.ts b/plugins/pulumi/helpers.ts index 522ed7f25c..b4b2dc5128 100644 --- a/plugins/pulumi/helpers.ts +++ b/plugins/pulumi/helpers.ts @@ -49,7 +49,6 @@ export interface PulumiPlan { config: DeepPrimitiveMap // Represents the desired state and planned operations to perform (along with other fields). - /* tslint:disable-next-line:max-line-length */ // See: https://github.com/pulumi/pulumi/blob/c721e8905b0639b3d4aa1d51d0753f6c99b13984/sdk/go/common/apitype/plan.go#L61-L68 resourcePlans: { [resourceUrn: string]: { diff --git a/plugins/pulumi/package.json b/plugins/pulumi/package.json index 76a9f9446a..94cfb525b8 100644 --- a/plugins/pulumi/package.json +++ b/plugins/pulumi/package.json @@ -21,7 +21,7 @@ }, "scripts": { "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ignore-pattern 'test/**' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/pulumi/tslint.json b/plugins/pulumi/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/pulumi/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/plugins/terraform/package.json b/plugins/terraform/package.json index 7ca5783a5a..1ecca72c52 100644 --- a/plugins/terraform/package.json +++ b/plugins/terraform/package.json @@ -22,7 +22,7 @@ }, "scripts": { "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p .", + "lint": "eslint -c ../../.eslintrc --ignore-pattern '*.d.ts*' --ignore-pattern 'test/**' --ext .ts .", "test": "mocha" }, "author": "Garden Technologies, Inc. <info@garden.io>", diff --git a/plugins/terraform/tslint.json b/plugins/terraform/tslint.json deleted file mode 100644 index 4eef4f7541..0000000000 --- a/plugins/terraform/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/sdk/package.json b/sdk/package.json index 2c222a1a8a..a5bb49871d 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -26,17 +26,12 @@ "devDependencies": { "@types/node": "^18", "prettier": "^2.1.1", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-microsoft-contrib": "^6.2.0", - "tslint-no-unused": "^0.2.0-alpha.1", - "tslint-plugin-prettier": "^2.3.0", "typescript": "^4.7.4" }, "scripts": { "check-package-lock": "git diff-index --quiet HEAD -- yarn.lock || (echo 'yarn.lock is dirty!' && exit 1)", "clean": "shx rm -rf build", "fix-format": "prettier --write \"**/*.ts\"", - "lint": "tslint -p ." + "lint": "eslint -c ../.eslintrc --ignore-pattern '*.d.ts*' --ext .ts ." } } diff --git a/sdk/tslint.json b/sdk/tslint.json deleted file mode 100644 index 9c1d50455e..0000000000 --- a/sdk/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tslint.base.json", - "rules": { - "no-console": [ - true, - "log", - "error" - ] - } -} \ No newline at end of file diff --git a/tslint.base.json b/tslint.base.json deleted file mode 100644 index 824b9dd03e..0000000000 --- a/tslint.base.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "extends": [ - "tslint-config-prettier", - "tslint-plugin-prettier", - "tslint-no-unused" - ], - "rulesDirectory": [ - "node_modules/tslint-microsoft-contrib", - "tslint-no-focused-test" - ], - "rules": { - "arrow-return-shorthand": true, - "curly": true, - "eofline": true, - "function-name": [ - true, - { - "method-regex": "^[a-z][\\w\\d]+$", - "private-method-regex": "^[a-z][\\w\\d]+$", - "static-method-regex": "^[a-z][\\w\\d]+$", - "function-regex": "^[a-z][\\w\\d]+$" - } - ], - "indent": [true, "spaces", 2], - "interface-name": [true, "never-prefix"], - "jsdoc-format": true, - "max-line-length": [true, 120], - "no-consecutive-blank-lines": true, - "no-console": false, - "no-debugger": true, - "no-eval": true, - "no-floating-promises": true, - "no-focused-test": true, - "no-invalid-this": true, - "no-null-keyword": false, - "no-shadowed-variable": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unused": true, - "no-var-keyword": true, - "number-literal-format": true, - "object-literal-key-quotes": [true, "consistent-as-needed"], - "object-literal-shorthand": true, - "one-variable-per-declaration": true, - "prefer-template": false, - "prettier": true, - "quotemark": [true, "double", "avoid-escape"], - "radix": true, - "semicolon": [true, "never"], - "variable-name": [ - true, - "check-format", - "allow-leading-underscore", - "allow-pascal-case" - ], - "triple-equals": true, - "whitespace": [true, "check-branch", "check-operator", "check-separator"] - } -} diff --git a/yarn.lock b/yarn.lock index 573804d8e2..516e6f9955 100644 --- a/yarn.lock +++ b/yarn.lock @@ -360,6 +360,30 @@ enabled "2.0.x" kuler "^2.0.0" +"@es-joy/jsdoccomment@~0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz#c37db40da36e4b848da5fd427a74bae3b004a30f" + integrity sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg== + dependencies: + comment-parser "1.3.1" + esquery "^1.4.0" + jsdoc-type-pratt-parser "~3.1.0" + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@garden-io/platform-api-types@1.367.0": version "1.367.0" resolved "https://registry.yarnpkg.com/@garden-io/platform-api-types/-/platform-api-types-1.367.0.tgz#8a8f032e9f000068fb87a47ab3d10f01646ab976" @@ -442,6 +466,25 @@ dependencies: "@hapi/hoek" "^8.3.0" +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -540,11 +583,24 @@ "@nodelib/fs.stat" "2.0.4" run-parallel "^1.1.9" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": version "2.0.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" @@ -558,6 +614,14 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" +"@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -910,6 +974,11 @@ resolved "https://registry.yarnpkg.com/@types/json-merge-patch/-/json-merge-patch-0.0.5.tgz#ef617707fded36443b13c1aa543cdfcc6f058bd4" integrity sha512-7C4g+W/pPyhHUpwXCf2u5zuyPBaqKr7yjqcX+gxaqhxDIJHPEXCTqQwMeSkMOCKQH45++UQO1sRYNkjY9zN8nQ== +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + "@types/json-stringify-safe@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@types/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz#df34d054419d39323a3730966bacba02ac5e474e" @@ -1205,6 +1274,11 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb" integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + "@types/serve-static@*": version "1.13.9" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" @@ -1322,6 +1396,90 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz#fb48c31cadc853ffc1dc35373f56b5e2a8908fe9" + integrity sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ== + dependencies: + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/type-utils" "5.50.0" + "@typescript-eslint/utils" "5.50.0" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.50.0.tgz#a33f44b2cc83d1b7176ec854fbecd55605b0b032" + integrity sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ== + dependencies: + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz#90b8a3b337ad2c52bbfe4eac38f9164614e40584" + integrity sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg== + dependencies: + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" + +"@typescript-eslint/type-utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz#509d5cc9728d520008f7157b116a42c5460e7341" + integrity sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ== + dependencies: + "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/utils" "5.50.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.50.0.tgz#c461d3671a6bec6c2f41f38ed60bd87aa8a30093" + integrity sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w== + +"@typescript-eslint/typescript-estree@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz#0b9b82975bdfa40db9a81fdabc7f93396867ea97" + integrity sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow== + dependencies: + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.50.0.tgz#807105f5ffb860644d30d201eefad7017b020816" + integrity sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz#b752ffc143841f3d7bc57d6dd01ac5c40f8c4903" + integrity sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg== + dependencies: + "@typescript-eslint/types" "5.50.0" + eslint-visitor-keys "^3.3.0" + "@yarnpkg/core@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@yarnpkg/core/-/core-2.4.0.tgz#b5d8cc7ee2ddb022816c7afa3f83c3ee3d317c80" @@ -1461,6 +1619,11 @@ accepts@^1.3.5: mime-types "~2.1.34" negotiator "0.6.3" +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -1471,6 +1634,11 @@ acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1493,7 +1661,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv@^6.12.3: +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1588,6 +1756,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" @@ -1778,6 +1951,17 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + array-initial@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" @@ -1829,6 +2013,27 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -1952,6 +2157,11 @@ available-typed-arrays@^1.0.2: dependencies: array-filter "^1.0.0" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2194,11 +2404,6 @@ buffers@~0.1.1: resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - byline@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" @@ -2372,7 +2577,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2756,7 +2961,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@^2.19.0, commander@^2.9.0: +commander@^2.19.0, commander@^2.9.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2781,6 +2986,11 @@ comment-json@^2.2.0: has-own-prop "^2.0.0" repeat-string "^1.6.1" +comment-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" + integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -3000,7 +3210,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.3: +cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3126,7 +3336,7 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -debug@4.3.4: +debug@4.3.4, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -3244,6 +3454,11 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3288,6 +3503,14 @@ define-properties@^1.1.3: dependencies: object-keys "^1.0.12" +define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -3446,6 +3669,20 @@ dockerode@^3.2.0: docker-modem "^2.1.0" tar-fs "~2.0.1" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -3608,6 +3845,45 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimend "^1.0.3" string.prototype.trimstart "^1.0.3" +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + es-get-iterator@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7" @@ -3622,6 +3898,22 @@ es-get-iterator@^1.1.1: is-string "^1.0.5" isarray "^2.0.5" +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3709,19 +4001,166 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-prettier@^2.2.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz#b4312dcf2c1d965379d7f9d5b5f8aaadc6a45904" - integrity sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA== +eslint-config-prettier@^8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== + +eslint-plugin-jsdoc@^39.7.5: + version "39.7.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.5.tgz#473f9fd372a231a1dae5d55df70b1d0fb64f95da" + integrity sha512-6L90P0AnZcE4ra7nocolp9vTjgVr2wEZ7jPnEA/X30XAoQPk+wvnaq61n164Tf7Fg4QPpJtRSCPpApOsfWDdNA== dependencies: - fast-diff "^1.1.1" - jest-docblock "^21.0.0" + "@es-joy/jsdoccomment" "~0.36.1" + comment-parser "1.3.1" + debug "^4.3.4" + escape-string-regexp "^4.0.0" + esquery "^1.4.0" + semver "^7.3.8" + spdx-expression-parse "^3.0.1" + +eslint-plugin-no-null@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz#1236a812391390a1877ad4007c26e745341c951f" + integrity sha512-uRDiz88zCO/2rzGfgG15DBjNsgwWtWiSo4Ezy7zzajUgpnFIqd1TjepKeRmJZHEfBGu58o2a8S0D7vglvvhkVA== + +eslint-plugin-react@^7.32.2: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.33.0: + version "8.33.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" + integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" @@ -3931,16 +4370,11 @@ fancy-log@^1.1.0, fancy-log@^1.3.2: parse-node-version "^1.0.0" time-stamp "^1.0.0" -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-diff@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -3986,7 +4420,7 @@ fast-levenshtein@^1.0.0: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -4020,6 +4454,13 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -4157,11 +4598,24 @@ flagged-respawn@^1.0.0: resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -4180,6 +4634,13 @@ follow-redirects@^1.2.5: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -4361,6 +4822,21 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -4451,6 +4927,15 @@ get-intrinsic@^1.0.2: has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -4490,6 +4975,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4555,6 +5048,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" @@ -4662,6 +5162,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + globalthis@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" @@ -4669,6 +5176,13 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.0.1: version "11.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" @@ -4811,6 +5325,13 @@ google-p12-pem@^3.0.3: dependencies: node-forge "^0.10.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^11.7.0, got@^11.8.5: version "11.8.5" resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" @@ -5022,6 +5543,11 @@ has-ansi@^4.0.0: dependencies: ansi-regex "^4.1.0" +has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -5051,16 +5577,35 @@ has-own-prop@^2.0.0: resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -5387,6 +5932,15 @@ inquirer@^7.1.0: strip-ansi "^6.0.0" through "^2.3.6" +internal-slot@^1.0.3, internal-slot@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0, interpret@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -5444,6 +5998,15 @@ is-arguments@^1.0.4, is-arguments@^1.1.0: dependencies: call-bind "^1.0.0" +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5485,6 +6048,11 @@ is-buffer@^1.1.5, is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-callable@^1.1.3, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" @@ -5518,6 +6086,13 @@ is-core-module@^2.8.0, is-core-module@^2.8.1: dependencies: has "^1.0.3" +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5618,6 +6193,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" @@ -5633,6 +6215,11 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + is-number-object@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -5665,7 +6252,7 @@ is-path-cwd@^2.2.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-path-inside@^3.0.2: +is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -5700,6 +6287,14 @@ is-regex@^1.1.1: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -5729,6 +6324,13 @@ is-set@^2.0.1, is-set@^2.0.2: resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + is-stream-ended@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" @@ -5749,6 +6351,13 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" @@ -5768,6 +6377,17 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array@^1.1.3: version "1.1.5" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" @@ -5816,6 +6436,13 @@ is-weakmap@^2.0.1: resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-weakset@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83" @@ -5948,11 +6575,6 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-docblock@^21.0.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" - integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== - jju@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" @@ -5973,7 +6595,12 @@ jquery-extend@~2.0.3: resolved "https://registry.yarnpkg.com/jquery-extend/-/jquery-extend-2.0.3.tgz#6815cdb01a866ddba30e6f4d0fc5fb6679272735" integrity sha1-aBXNsBqGbdujDm9ND8X7ZnknJzU= -js-tokens@^4.0.0: +js-sdsl@^4.1.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -5998,6 +6625,11 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +jsdoc-type-pratt-parser@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz#a4a56bdc6e82e5865ffd9febc5b1a227ff28e67e" + integrity sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw== + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -6146,6 +6778,14 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + junk@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" @@ -6369,6 +7009,14 @@ leprechaun@0.0.2: dependencies: log-symbols "^1.0.2" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6585,7 +7233,7 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.merge@^4.6.1: +lodash.merge@^4.6.1, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -6686,6 +7334,13 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -7010,6 +7665,13 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^3.0.5, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -7075,7 +7737,7 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7210,6 +7872,16 @@ natives@^1.1.3: resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + nconf@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/nconf/-/nconf-0.10.0.tgz#da1285ee95d0a922ca6cee75adcf861f48205ad2" @@ -7595,7 +8267,7 @@ object-assign@^3.0.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -7614,6 +8286,11 @@ object-hash@^2.0.1: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09" integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ== +object-inspect@^1.12.2: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -7649,6 +8326,16 @@ object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + object.defaults@^1.0.0, object.defaults@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" @@ -7659,6 +8346,32 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.map@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -7682,6 +8395,15 @@ object.reduce@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + oidc-token-hash@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz#ae6beec3ec20f0fd885e5400d175191d6e2f10c6" @@ -7762,6 +8484,18 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" @@ -8304,6 +9038,11 @@ prebuild-install@6.1.4: tar-fs "^2.0.0" tunnel-agent "^0.6.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8368,6 +9107,15 @@ promiseback@^2.0.2: is-callable "^1.1.5" promise-deferred "^2.0.3" +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + propagate@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" @@ -8551,6 +9299,11 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + read-installed@~3.1.3: version "3.1.5" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-3.1.5.tgz#4ae36081afd3e2204dc2e279807aaa52c30c8c0c" @@ -8757,6 +9510,20 @@ regexp.prototype.flags@^1.3.0: call-bind "^1.0.2" define-properties "^1.1.3" +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + release-zalgo@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" @@ -8956,7 +9723,7 @@ resolve@^1.1.6: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.4.0: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.17.0, resolve@^1.4.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -8973,6 +9740,15 @@ resolve@^1.22.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + respawn@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/respawn/-/respawn-2.6.0.tgz#6e310a2c8aebcfea87629f613c00ee73ddfcbf66" @@ -9078,6 +9854,15 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -9154,6 +9939,13 @@ semver@^7.3.5: dependencies: lru-cache "^6.0.0" +semver@^7.3.7, semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -9441,7 +10233,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0: +spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -9672,6 +10464,20 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" @@ -9680,6 +10486,15 @@ string.prototype.trimend@^1.0.3: call-bind "^1.0.0" define-properties "^1.1.3" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" @@ -9688,6 +10503,15 @@ string.prototype.trimstart@^1.0.3: call-bind "^1.0.0" define-properties "^1.1.3" +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -9743,6 +10567,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" @@ -9795,7 +10626,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -10007,6 +10838,11 @@ text-hex@1.0.x: resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" @@ -10242,77 +11078,20 @@ ts-stream@^3.0.0: dependencies: "@types/node" "*" -tslib@^1.13.0, tslib@^1.6.0, tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.13.0, tslib@^1.6.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslint-config-prettier@^1.18.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" - integrity sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg== - -tslint-microsoft-contrib@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-6.2.0.tgz#8aa0f40584d066d05e6a5e7988da5163b85f2ad4" - integrity sha512-6tfi/2tHqV/3CL77pULBcK+foty11Rr0idRDxKnteTaKm6gWF9qmaCNU17HVssOuwlYNyOmd9Jsmjd+1t3a3qw== - dependencies: - tsutils "^2.27.2 <2.29.0" - -tslint-no-focused-test@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/tslint-no-focused-test/-/tslint-no-focused-test-0.5.0.tgz#e0a93ef3fa64bd91c7e7437d1f183204880a8ed5" - integrity sha512-YK0PSY5XAdJaTzVIXxnUGyvB5VAi+H9yTc3e40YVtu8Ix3+zLSz4ufvX6rXT3nWpim0DR6fxXoL/Zk8JI641Vg== - -tslint-no-unused@^0.2.0-alpha.1: - version "0.2.0-alpha.1" - resolved "https://registry.yarnpkg.com/tslint-no-unused/-/tslint-no-unused-0.2.0-alpha.1.tgz#4e1d1597660a6ba4259bca48daa566641d0d58b8" - integrity sha1-Th0Vl2YKa6Qlm8pI2qVmZB0NWLg= - -tslint-plugin-prettier@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz#73fe71bf9f03842ac48c104122ca9b1de012ecf4" - integrity sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA== - dependencies: - eslint-plugin-prettier "^2.2.0" - lines-and-columns "^1.1.6" - tslib "^1.7.1" - -tslint@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== -"tsutils@^2.27.2 <2.29.0": - version "2.28.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1" - integrity sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA== - dependencies: - tslib "^1.8.1" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -10333,6 +11112,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -10365,6 +11151,11 @@ type-fest@^0.18.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -10398,6 +11189,15 @@ type@^2.0.0: resolved "https://registry.yarnpkg.com/type/-/type-2.3.0.tgz#ada7c045f07ead08abf9e2edd29be1a0c0661132" integrity sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -10433,6 +11233,16 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.8.tgz#a82e6e53c9be14f7382de3d068ef1e26e7d4aaf8" integrity sha512-fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -10735,7 +11545,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.1: +which-boxed-primitive@^1.0.1, which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== @@ -10784,6 +11594,18 @@ which-typed-array@^1.1.2: has-symbols "^1.0.1" is-typed-array "^1.1.3" +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -10833,7 +11655,7 @@ winston@^3.2.1: triple-beam "^1.3.0" winston-transport "^4.4.0" -word-wrap@~1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==