From d3ae09d1676bfc91c339d71883312262ae749235 Mon Sep 17 00:00:00 2001 From: Splines <37160523+Splines@users.noreply.github.com> Date: Thu, 4 Jan 2024 19:16:39 +0100 Subject: [PATCH] Update own config to new flat ESLint (#11) * Upgrade dependencies * Upgrade to ESLint v9 (alpha) * Upgrade own ESLint config to new flat config Also added package "globals" * Update folders that ESLint should ignore * Fix ESLint code violations * Add global ignore pattern to docs * Only test with newer versions of node * Only test on latest node version Otherwise, v9 of ESLint can't be installed * Run npm with `--legacy-peer-deps` flag This is because we are using an alpha version of ESLint. --- .eslintrc.js | 36 ------- .github/workflows/test.yml | 4 +- .mocharc.js | 10 +- .vscode/settings.json | 3 +- README.md | 10 ++ eslint.config.js | 40 ++++++++ lib/postprocess.js | 2 +- package.json | 7 +- tests/postprocess.js | 2 +- yarn.lock | 199 ++++++++++++++++++------------------- 10 files changed, 165 insertions(+), 148 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 eslint.config.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5debbe0..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; - -const stylistic = require("@stylistic/eslint-plugin"); - -const customized = stylistic.configs.customize({ - "indent": 2, - "quotes": "double", - "jsx": false, - "quote-props": "always", - "semi": "always", -}); - -module.exports = { - root: true, - - parserOptions: { - ecmaVersion: 2024, - sourceType: "module", - }, - - env: { - node: true, - es6: true, - }, - - extends: "eslint:recommended", - - plugins: [ - "@stylistic", - ], - - rules: { - ...customized.rules, - "no-unused-vars": "warn", - }, -}; diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2f74ec..44443bc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [16, 17, 18, 19, 20, 21] + node: [18, 19, 20, 21] runs-on: ${{ matrix.os }} steps: - name: Checkout @@ -22,7 +22,7 @@ jobs: with: node-version: ${{ matrix.node }} - name: Install dependencies - run: npm install + run: npm install --legacy-peer-deps env: CI: true - name: Run Mocha tests diff --git a/.mocharc.js b/.mocharc.js index c006647..ab925f6 100644 --- a/.mocharc.js +++ b/.mocharc.js @@ -1,6 +1,6 @@ module.exports = { - "spec": "tests/**/*.js", - "ignore": [ - "tests/fixtures/**" - ], -} \ No newline at end of file + spec: "tests/**/*.js", + ignore: [ + "tests/fixtures/**", + ], +}; diff --git a/.vscode/settings.json b/.vscode/settings.json index f1d72a2..8c0bdd4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "eslint.format.enable": true, + "eslint.experimental.useFlatConfig": true, "[javascript]": { "editor.formatOnSave": false, // to avoid formatting twice (ESLint + VSCode) "editor.defaultFormatter": "dbaeumer.vscode-eslint" @@ -8,5 +9,5 @@ "source.fixAll.eslint": "explicit" }, // this disables VSCode built-int formatter (instead we want to use ESLint) - "javascript.validate.enable": false + "javascript.validate.enable": false, } \ No newline at end of file diff --git a/README.md b/README.md index 36d9ec8..d8d1eeb 100644 --- a/README.md +++ b/README.md @@ -62,13 +62,23 @@ const customGlobals = { MyGlobalVariableOrFunctionOrClassOrWhatever: "readable", }; +// [1] https://eslint.org/docs/latest/use/configure/configuration-files-new#globally-ignoring-files-with-ignores + export default [ js.configs.recommended, erb.configs.recommended, + // Globally ignoring the following files + // "Note that only global ignores patterns can match directories. + // 'ignores' patterns that are specific to a configuration will + // only match file names." ~ see [1] { ignores: [ "node_modules/", + "tests/fixtures/", + "tmp/", ], + }, + { plugins: { "@stylistic": stylistic, }, diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..a627af2 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,40 @@ +const js = require("@eslint/js"); +const stylistic = require("@stylistic/eslint-plugin"); +const globals = require("globals"); + +const customizedStylistic = stylistic.configs.customize({ + "indent": 2, + "jsx": false, + "quote-props": "always", + "semi": "always", + "brace-style": "1tbs", +}); + +module.exports = [ + js.configs.recommended, + { + ignores: [ + "node_modules/", + "tests/fixtures/", + "tmp/", + ], + }, + { + plugins: { + "@stylistic": stylistic, + }, + rules: { + ...customizedStylistic.rules, + "no-unused-vars": ["warn", { argsIgnorePattern: "^_" }], + "@stylistic/quotes": ["error", "double", { avoidEscape: true }], + }, + languageOptions: { + ecmaVersion: 2024, + sourceType: "module", + globals: { + ...globals.node, + ...globals.mocha, + }, + }, + }, +]; diff --git a/lib/postprocess.js b/lib/postprocess.js index 4228ce4..0c27770 100644 --- a/lib/postprocess.js +++ b/lib/postprocess.js @@ -1,5 +1,5 @@ const cache = require("./cache.js"); -const { coordinatesToIndex, indexToColumn } = require("./file_coordinates.js"); +const { coordinatesToIndex } = require("./file_coordinates.js"); const { calculateOffset } = require("./offset_calculation.js"); const { transformFix } = require("./autofix.js"); diff --git a/package.json b/package.json index 767cff1..68374dc 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,16 @@ "devDependencies": { "@stylistic/eslint-plugin": "^1.3.3", "chai": "^4.3.10", - "eslint": "^8.54.0", + "eslint": "^9.0.0-alpha.0", + "globals": "^13.24.0", "mocha": "^10.2.0" }, "scripts": { + "lint": "eslint .", + "lint-fix": "eslint --fix .", "test": "mocha", "whats-included": "npm pack --dry-run", "bump-version": "npm run test && npm version --no-git-tag-version", "publish-final": "npm run test && npm publish" } -} \ No newline at end of file +} diff --git a/tests/postprocess.js b/tests/postprocess.js index 0484cbf..a586441 100644 --- a/tests/postprocess.js +++ b/tests/postprocess.js @@ -7,7 +7,7 @@ const cache = require("../lib/cache.js"); describe("postprocess", () => { it("deletes file from cache after postprocessing", () => { - const text = `console.log("Hello world!");`; + const text = 'console.log("Hello world!");'; const name = "testfile.js"; pre(text, name); diff --git a/yarn.lock b/yarn.lock index 6384276..5487d2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,10 +19,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" - integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== +"@eslint/eslintrc@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.0.0.tgz#eac0198d2dd82d11356e5bbb8a9bf0fda08d5ea0" + integrity sha512-R8p3jN1kdWvFRiRfgpUxZ4PMgfJJFt6NuLGDnnqLb7RKmsd5Xa0KqRMjmaqRO7e38ZbG/9zKPgDjeJeqsDofSA== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -34,10 +34,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf" - integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ== +"@eslint/js@9.0.0-alpha.0": + version "9.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.0.0-alpha.0.tgz#91f1b478e0548516dce99cd57f66d6441483e00d" + integrity sha512-SsmCfB6P+1D7RbUjWxi206LMt3jmiVXolUHIgR2ZeJGKyXdNtXY6t3yl8mkfO1XuCJM9iGHMKzQm9H52UyuSpQ== "@humanwhocodes/config-array@^0.11.13": version "0.11.13" @@ -79,42 +79,48 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@stylistic/eslint-plugin-js@1.3.3", "@stylistic/eslint-plugin-js@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.3.3.tgz#71a6a8d401ca75df3e418382bc2f14e0357b6e78" - integrity sha512-elS0FiFEq7kThKX172W4XqTzX94gSX5avc0jVBwd6Cc8DAYng5uVlJ4i5vX4gexWaZOzldx5T2oG3FZ1RnEWew== +"@stylistic/eslint-plugin-js@1.5.3", "@stylistic/eslint-plugin-js@^1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.5.3.tgz#da7a7576a6ba9feef1f6db12504a5c4ba45a70a1" + integrity sha512-XlKnm82fD7Sw9kQ6FFigE0tobvptNBXZWsdfoKmUyK7bNxHsAHOFT8zJGY3j3MjZ0Fe7rLTu86hX/vOl0bRRdQ== dependencies: - acorn "^8.11.2" + acorn "^8.11.3" escape-string-regexp "^4.0.0" eslint-visitor-keys "^3.4.3" espree "^9.6.1" - graphemer "^1.4.0" -"@stylistic/eslint-plugin-jsx@1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.3.3.tgz#9bd9a50e957c9392f84a402b6c3c96300f3d45b5" - integrity sha512-L/uM6wNc6tu2a41wRNTUODHz8ogj8mxuB0Q+ScD6/o7JN5fDkrPyUtgvLx36bjlW4qDTmHLI4Hijxw98tw9Upw== +"@stylistic/eslint-plugin-jsx@1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.5.3.tgz#ec152b94853c187b521d2d3d1e0b93bb36677d77" + integrity sha512-gKXWFmvg3B4e6G+bVz2p37icjj3gS5lzazZD6oLjmQ2b0Lw527VpnxGjWxQ16keKXtrVzUfebakjskOoALg3CQ== dependencies: - "@stylistic/eslint-plugin-js" "^1.3.3" + "@stylistic/eslint-plugin-js" "^1.5.3" estraverse "^5.3.0" -"@stylistic/eslint-plugin-ts@1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.3.3.tgz#cc0c18a1efc03725cc704e627735509adbab9169" - integrity sha512-A8MP27LEsyqvgl4Mcu1l6cR6g06PXvWJq67V3yjeA+DcIonJ3Q9U3FUsuHs7KjU6NlBaOtIYymfQ5QTRVnk76Q== +"@stylistic/eslint-plugin-plus@1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.5.3.tgz#be632459c60c300df85cdb37528bdcd5692c35b5" + integrity sha512-fuOBySbH4dbfY4Dwvu+zg5y+e0lALHTyQske5+a2zNC8Ejnx4rFlVjYOmaVFtxFhTD4V0vM7o21Ozci0igcxKg== dependencies: - "@stylistic/eslint-plugin-js" "1.3.3" - "@typescript-eslint/utils" "^6.11.0" - graphemer "^1.4.0" + "@typescript-eslint/utils" "^6.17.0" + +"@stylistic/eslint-plugin-ts@1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.5.3.tgz#4076f96727904a734cf4f954276b20215cb1cff3" + integrity sha512-/gUEqGo0gpFeu220YmC0788VliKnmTaAz4pI82KA5cUuCp6OzEhGlrNkb1eevMwH0RRgyND20HJxOYvEGlwu+w== + dependencies: + "@stylistic/eslint-plugin-js" "1.5.3" + "@typescript-eslint/utils" "^6.17.0" "@stylistic/eslint-plugin@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-1.3.3.tgz#88b9881c6240763d9c8db2cc2ea0c6a8429a8aaa" - integrity sha512-zO8vglqUpQf+AgYC7ZXZ9SUy0dYvYfEFvKCwxD8l/tgSiZPSlKhyYfzmcOGt8GK47+yYHm+OqWGVhO5t7efGGw== + version "1.5.3" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-1.5.3.tgz#bb4639722a2239d72cf8c2cb38ea6bec7cac8ed6" + integrity sha512-Vee+hHKaCd8DPRoRJTCV+mOFz+zFIaA9QiNJaAvgBzmPkcDnSC7Ewh518fN6SSNe9psS8TDIpcxd1g5v4MSY5A== dependencies: - "@stylistic/eslint-plugin-js" "1.3.3" - "@stylistic/eslint-plugin-jsx" "1.3.3" - "@stylistic/eslint-plugin-ts" "1.3.3" + "@stylistic/eslint-plugin-js" "1.5.3" + "@stylistic/eslint-plugin-jsx" "1.5.3" + "@stylistic/eslint-plugin-plus" "1.5.3" + "@stylistic/eslint-plugin-ts" "1.5.3" "@types/json-schema@^7.0.12": version "7.0.15" @@ -122,71 +128,67 @@ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/semver@^7.5.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.5.tgz#deed5ab7019756c9c90ea86139106b0346223f35" - integrity sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg== - -"@typescript-eslint/scope-manager@6.11.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz#621f603537c89f4d105733d949aa4d55eee5cea8" - integrity sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A== - dependencies: - "@typescript-eslint/types" "6.11.0" - "@typescript-eslint/visitor-keys" "6.11.0" - -"@typescript-eslint/types@6.11.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.11.0.tgz#8ad3aa000cbf4bdc4dcceed96e9b577f15e0bf53" - integrity sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA== - -"@typescript-eslint/typescript-estree@6.11.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz#7b52c12a623bf7f8ec7f8a79901b9f98eb5c7990" - integrity sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ== - dependencies: - "@typescript-eslint/types" "6.11.0" - "@typescript-eslint/visitor-keys" "6.11.0" + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + +"@typescript-eslint/scope-manager@6.17.0": + version "6.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz#70e6c1334d0d76562dfa61aed9009c140a7601b4" + integrity sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA== + dependencies: + "@typescript-eslint/types" "6.17.0" + "@typescript-eslint/visitor-keys" "6.17.0" + +"@typescript-eslint/types@6.17.0": + version "6.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.17.0.tgz#844a92eb7c527110bf9a7d177e3f22bd5a2f40cb" + integrity sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A== + +"@typescript-eslint/typescript-estree@6.17.0": + version "6.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz#b913d19886c52d8dc3db856903a36c6c64fd62aa" + integrity sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg== + dependencies: + "@typescript-eslint/types" "6.17.0" + "@typescript-eslint/visitor-keys" "6.17.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" + minimatch "9.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@^6.11.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.11.0.tgz#11374f59ef4cea50857b1303477c08aafa2ca604" - integrity sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g== +"@typescript-eslint/utils@^6.17.0": + version "6.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.17.0.tgz#f2b16d4c9984474656c420438cdede7eccd4079e" + integrity sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.11.0" - "@typescript-eslint/types" "6.11.0" - "@typescript-eslint/typescript-estree" "6.11.0" + "@typescript-eslint/scope-manager" "6.17.0" + "@typescript-eslint/types" "6.17.0" + "@typescript-eslint/typescript-estree" "6.17.0" semver "^7.5.4" -"@typescript-eslint/visitor-keys@6.11.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz#d991538788923f92ec40d44389e7075b359f3458" - integrity sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ== +"@typescript-eslint/visitor-keys@6.17.0": + version "6.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz#3ed043709c39b43ec1e58694f329e0b0430c26b6" + integrity sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg== dependencies: - "@typescript-eslint/types" "6.11.0" + "@typescript-eslint/types" "6.17.0" eslint-visitor-keys "^3.4.1" -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - 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@^8.11.2, acorn@^8.9.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== +acorn@^8.11.3, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== ajv@^6.12.4: version "6.12.6" @@ -399,13 +401,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -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" - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -434,24 +429,22 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.54.0: - version "8.54.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537" - integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA== +eslint@^9.0.0-alpha.0: + version "9.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.0.0-alpha.0.tgz#5e8552b097a447c373b9b8073f8f10f3e1294581" + integrity sha512-21yCNcPYvXtvn3RrqPQP5+2X3LAqkfuPWSkxdkQyftorCYwUgu0rTNXxWAy8sSeBBDoVpHfeg2UTI15H26wkXQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.3" - "@eslint/js" "8.54.0" + "@eslint/eslintrc" "^3.0.0" + "@eslint/js" "9.0.0-alpha.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" 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.2.2" eslint-visitor-keys "^3.4.3" @@ -468,7 +461,6 @@ eslint@^8.54.0: imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" - js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -538,9 +530,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== dependencies: reusify "^1.0.4" @@ -643,10 +635,10 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^13.19.0: - version "13.23.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" - integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== +globals@^13.19.0, globals@^13.24.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" @@ -848,6 +840,13 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"