From eab4bcca5d3895cce6c2d89d85c83d61c5f2250b Mon Sep 17 00:00:00 2001 From: Jonny Gerig Meyer Date: Mon, 2 Dec 2024 16:28:09 -0500 Subject: [PATCH] upgrade eslint --- .eslintignore | 14 -- .eslintrc.yml | 181 ------------- .github/dependabot.yml | 3 - eslint.config.js | 102 ++++++++ package.json | 18 +- src/index.ts | 9 +- src/utils.ts | 1 + test/.eslintrc.yml | 11 - test/main.test.js | 6 +- test/sass.test.js | 5 +- yarn.lock | 558 ++++++++++++++++++++++++++--------------- 11 files changed, 480 insertions(+), 428 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.yml create mode 100644 eslint.config.js delete mode 100644 test/.eslintrc.yml diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 6ee873e..0000000 --- a/.eslintignore +++ /dev/null @@ -1,14 +0,0 @@ -!.* -.git/ -.nyc_output/ -.vscode/ -.yarn/ -ENV/ -coverage/ -dist/ -docs/ -env/ -jscache/ -lib/ -node_modules/ -venv/ diff --git a/.eslintrc.yml b/.eslintrc.yml deleted file mode 100644 index f999e9a..0000000 --- a/.eslintrc.yml +++ /dev/null @@ -1,181 +0,0 @@ -# https://eslint.org/docs/rules/ - -root: true -parser: '@typescript-eslint/parser' -parserOptions: - sourceType: module - ecmaVersion: 2022 -env: - es6: true - node: true -plugins: - - import - - simple-import-sort - - '@typescript-eslint' -extends: - - eslint:recommended - - plugin:import/recommended - - prettier - - plugin:@typescript-eslint/recommended -settings: - import/resolver: - typescript: {} -rules: - # TypeScript - '@typescript-eslint/consistent-type-imports': - - 1 - - fixStyle: inline-type-imports - '@typescript-eslint/explicit-module-boundary-types': 0 - '@typescript-eslint/no-empty-function': 0 - '@typescript-eslint/no-explicit-any': 0 - '@typescript-eslint/no-require-imports': 0 - '@typescript-eslint/no-use-before-define': 2 - - # Import - simple-import-sort/imports: 1 - import/order: 0 - import/no-duplicates: 0 - import/named: 1 - - # Possible Errors - getter-return: 2 - no-await-in-loop: 2 - no-template-curly-in-string: 2 - - # Best Practices - array-callback-return: 2 - block-scoped-var: 2 - class-methods-use-this: 1 - consistent-return: 2 - curly: 2 - dot-notation: 2 - eqeqeq: 2 - guard-for-in: 2 - no-alert: 2 - no-caller: 2 - no-console: 1 - no-div-regex: 2 - no-else-return: 2 - no-eq-null: 2 - no-eval: 2 - no-extend-native: 2 - no-extra-bind: 2 - no-extra-label: 2 - no-implicit-coercion: 2 - no-implicit-globals: 2 - no-implied-eval: 2 - no-iterator: 2 - no-labels: 2 - no-lone-blocks: 2 - no-loop-func: 2 - no-multi-str: 2 - no-new-func: 2 - no-new-wrappers: 2 - no-octal-escape: 2 - no-param-reassign: 2 - no-proto: 2 - no-return-assign: 2 - no-return-await: 2 - no-script-url: 2 - no-self-compare: 2 - no-sequences: 2 - no-throw-literal: 2 - no-unmodified-loop-condition: 2 - no-unused-expressions: 2 - no-useless-call: 2 - no-useless-concat: 2 - no-useless-return: 2 - no-void: 2 - no-warning-comments: - - 1 - - terms: - - todo - - fixme - - '@@@' - no-with: 2 - prefer-promise-reject-errors: - - 2 - - allowEmptyReject: true - radix: 2 - require-await: 2 - yoda: - - 2 - - never - - exceptRange: true - - # Strict Mode - strict: 2 - - # Variables - no-shadow: 2 - no-shadow-restricted-names: 2 - no-undef-init: 2 - no-use-before-define: 2 - - # Node.js and CommonJS - global-require: 2 - handle-callback-err: 2 - no-buffer-constructor: 2 - no-mixed-requires: 2 - no-new-require: 2 - no-path-concat: 2 - no-process-env: 2 - no-process-exit: 2 - no-sync: 2 - - # Stylistic Issues - func-name-matching: 2 - func-names: - - 2 - - as-needed - func-style: 2 - linebreak-style: 2 - lines-between-class-members: 2 - max-len: - - 2 - - ignoreComments: true - ignoreStrings: true - ignorePattern: '^import .*' - new-cap: - - 2 - - capIsNewExceptions: - - Deferred - - Event - no-array-constructor: 2 - no-bitwise: 2 - no-continue: 2 - no-lonely-if: 2 - no-negated-condition: 2 - no-nested-ternary: 2 - no-new-object: 2 - no-plusplus: 2 - no-tabs: 2 - no-unneeded-ternary: 2 - one-var: - - 2 - - uninitialized: always - initialized: never - operator-assignment: - - 2 - - never - spaced-comment: 2 - - # ECMAScript 6 - arrow-body-style: 2 - no-duplicate-imports: 0 - no-useless-computed-key: 2 - no-useless-constructor: 2 - no-useless-rename: 2 - no-var: 2 - object-shorthand: 2 - prefer-arrow-callback: 2 - prefer-const: 2 - prefer-destructuring: - - 2 - - array: false - prefer-numeric-literals: 2 - prefer-rest-params: 2 - prefer-spread: 2 - prefer-template: 2 - sort-imports: 0 - symbol-description: 2 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 57186f4..405231c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -27,6 +27,3 @@ updates: - dependency-name: 'chai' update-types: - 'version-update:semver-major' - - dependency-name: 'eslint' - update-types: - - 'version-update:semver-major' diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..68c213b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,102 @@ +/* eslint-disable @typescript-eslint/no-require-imports */ + +const babelParser = require('@babel/eslint-parser'); +const js = require('@eslint/js'); +const prettier = require('eslint-config-prettier'); +const importPlugin = require('eslint-plugin-import'); +const jest = require('eslint-plugin-jest'); +const jestDOM = require('eslint-plugin-jest-dom'); +const simpleImportSort = require('eslint-plugin-simple-import-sort'); +const globals = require('globals'); +const tseslint = require('typescript-eslint'); + +module.exports = tseslint.config( + { + ignores: [ + '.git/*', + '.nyc_output/*', + '.vscode/*', + '.yarn/*', + '.yarnrc.yml', + 'coverage/*', + 'dist/*', + 'docs/*', + 'node_modules/*', + ], + }, + js.configs.recommended, + ...tseslint.configs.recommended, + importPlugin.flatConfigs.recommended, + prettier, + { + files: ['**/*.{js,mjs,cjs,ts,cts,mts}'], + languageOptions: { + parser: babelParser, + globals: { + ...globals.node, + ...globals.es2022, + }, + parserOptions: { + sourceType: 'script', + }, + }, + settings: { + 'import/resolver': { + typescript: {}, + }, + 'import/external-module-folders': ['node_modules'], + }, + rules: { + 'no-console': 1, + 'no-warning-comments': ['warn', { terms: ['todo', 'fixme', '@@@'] }], + 'import/first': 'warn', + 'import/newline-after-import': 'warn', + 'import/no-duplicates': ['error', { 'prefer-inline': true }], + 'import/order': [ + 'warn', + { 'newlines-between': 'always', alphabetize: { order: 'asc' } }, + ], + 'import/named': 'warn', + }, + }, + { + files: ['src/**/*.{js,mjs,cjs,ts,cts,mts}'], + languageOptions: { + parser: tseslint.parser, + globals: { + ...globals.browser, + ...globals.es2022, + }, + parserOptions: { + sourceType: 'module', + }, + }, + plugins: { + 'simple-import-sort': simpleImportSort, + }, + rules: { + 'simple-import-sort/imports': 'warn', + 'simple-import-sort/exports': 'warn', + 'import/order': 'off', + }, + }, + { + files: ['test/**/*.{js,ts}'], + languageOptions: { + parser: babelParser, + globals: { + ...jest.environments.globals.globals, + ...globals.mocha, + ...globals.es2022, + }, + parserOptions: { + sourceType: 'script', + }, + }, + plugins: { + jest, + 'jest-dom': jestDOM, + 'simple-import-sort': simpleImportSort, + }, + }, +); diff --git a/package.json b/package.json index 92361b3..14064ae 100644 --- a/package.json +++ b/package.json @@ -80,21 +80,24 @@ }, "devDependencies": { "@babel/core": "^7.26.0", + "@babel/eslint-parser": "^7.25.9", "@babel/preset-env": "^7.26.0", "@babel/preset-typescript": "^7.26.0", + "@eslint/js": "^9.16.0", "@types/lodash": "^4.17.13", - "@typescript-eslint/eslint-plugin": "^8.16.0", - "@typescript-eslint/parser": "^8.16.0", "babel-jest": "^29.7.0", "chai": "^4.5.0", - "eslint": "^8.57.1", + "eslint": "^9.16.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest-dom": "^5.5.0", "eslint-plugin-simple-import-sort": "^12.1.1", + "globals": "^15.13.0", "jest": "^29.7.0", "jest-environment-node-single-context": "^29.4.0", - "mocha": "^10.8.2", + "mocha": "^11.0.1", "npm-run-all": "^4.1.5", "postcss": "^8.4.49", "prettier": "^3.4.1", @@ -103,8 +106,9 @@ "sassdoc": "^2.7.4", "sassdoc-theme-herman": "^6.0.2", "stylelint": "^16.11.0", - "stylelint-config-standard-scss": "^13.1.0", - "typescript": "^5.7.2" + "stylelint-config-standard-scss": "^14.0.0", + "typescript": "^5.7.2", + "typescript-eslint": "^8.17.0" }, "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -119,5 +123,5 @@ "sassDir": "./sass/", "exports": false }, - "packageManager": "yarn@4.5.0" + "packageManager": "yarn@4.5.3" } diff --git a/src/index.ts b/src/index.ts index 97334c5..07319cd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,3 @@ -/* eslint-disable no-use-before-define */ -/* eslint-disable @typescript-eslint/no-use-before-define */ - import assert from 'node:assert'; import path from 'node:path'; @@ -27,6 +24,7 @@ import { export interface TrueOptions { describe: (description: string, fn: () => void) => void; it: (description: string, fn: () => void) => void; + // eslint-disable-next-line @typescript-eslint/no-explicit-any sass?: any; sourceType?: 'path' | 'string'; contextLines?: number; @@ -68,7 +66,7 @@ export type Parser = (rule: Rule, ctx: Context) => Parser; const loadSass = function (sassPkg: string) { try { - // eslint-disable-next-line global-require + // eslint-disable-next-line @typescript-eslint/no-require-imports return require(sassPkg); // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (err) { @@ -79,6 +77,7 @@ const loadSass = function (sassPkg: string) { export const runSass = function ( trueOptions: TrueOptions, src: string, + // eslint-disable-next-line @typescript-eslint/no-explicit-any sassOptions?: any, ) { const trueOpts = Object.assign({}, trueOptions); @@ -244,7 +243,6 @@ const dealWithAnnoyingMediaQueries = function (rawCSS: string) { // This is necessary to avoid infinite loops with zero-width matches /* istanbul ignore if */ if (matches.index === matchCSSWithinMediaQueryBlock.lastIndex) { - // eslint-disable-next-line no-plusplus matchCSSWithinMediaQueryBlock.lastIndex++; } @@ -255,7 +253,6 @@ const dealWithAnnoyingMediaQueries = function (rawCSS: string) { cssRules.map(mediaqueryRule), ); - // eslint-disable-next-line no-plusplus i++; matches = matchCSSWithinMediaQueryBlock.exec(rawCSS); } diff --git a/src/utils.ts b/src/utils.ts index b7f7f46..5bf0372 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,6 @@ import type { CssAllNodesAST, CssCommentAST } from '@adobe/css-tools'; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export const truthyValues = (item?: any) => Boolean(item); export const isCommentNode = (node: CssAllNodesAST): node is CssCommentAST => diff --git a/test/.eslintrc.yml b/test/.eslintrc.yml deleted file mode 100644 index c49fcb5..0000000 --- a/test/.eslintrc.yml +++ /dev/null @@ -1,11 +0,0 @@ -# https://eslint.org/docs/rules/ - -env: - jest: true - mocha: true -rules: - # Import - simple-import-sort/imports: 0 - import/order: - - 1 - - newlines-between: always diff --git a/test/main.test.js b/test/main.test.js index 60e2889..d15321b 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -1,13 +1,13 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -/* eslint-disable global-require */ +/* eslint-disable @typescript-eslint/no-require-imports */ const path = require('node:path'); +// eslint-disable-next-line no-redeclare const { expect } = require('chai'); const { diffStringsUnified } = require('jest-diff'); let sassTrue; -// eslint-disable-next-line no-process-env + if (process.env.USE_BUILT) { sassTrue = require('../lib'); } else { diff --git a/test/sass.test.js b/test/sass.test.js index 695a365..c3a1875 100644 --- a/test/sass.test.js +++ b/test/sass.test.js @@ -1,11 +1,10 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -/* eslint-disable global-require */ +/* eslint-disable @typescript-eslint/no-require-imports */ const path = require('node:path'); const sassFile = path.join(__dirname, 'scss', 'test.scss'); let runSass; -// eslint-disable-next-line no-process-env + if (process.env.USE_BUILT) { runSass = require('../lib').runSass; } else { diff --git a/yarn.lock b/yarn.lock index a5e78b3..7eaa40c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,6 +103,20 @@ __metadata: languageName: node linkType: hard +"@babel/eslint-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/eslint-parser@npm:7.25.9" + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" + eslint-visitor-keys: "npm:^2.1.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + checksum: 10/ebb68d80b1fa2b964ad1147cc610e0c69b224e620419a885ba5abc996740523bee636a0d447fc29a0d495dbce5fa0246737b25e9e679cca6c5797fdac5176378 + languageName: node + linkType: hard + "@babel/generator@npm:^7.25.7, @babel/generator@npm:^7.7.2": version: 7.25.7 resolution: "@babel/generator@npm:7.25.7" @@ -1505,6 +1519,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.16.3": + version: 7.26.0 + resolution: "@babel/runtime@npm:7.26.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10/9f4ea1c1d566c497c052d505587554e782e021e6ccd302c2ad7ae8291c8e16e3f19d4a7726fb64469e057779ea2081c28b7dbefec6d813a22f08a35712c0f699 + languageName: node + linkType: hard + "@babel/runtime@npm:^7.8.4": version: 7.25.7 resolution: "@babel/runtime@npm:7.25.7" @@ -1654,34 +1677,75 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0": version: 4.11.1 resolution: "@eslint-community/regexpp@npm:4.11.1" checksum: 10/934b6d3588c7f16b18d41efec4fdb89616c440b7e3256b8cb92cfd31ae12908600f2b986d6c1e61a84cbc10256b1dd3448cd1eec79904bd67ac365d0f1aba2e2 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.19.0": + version: 0.19.0 + resolution: "@eslint/config-array@npm:0.19.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/16e4ec468ebcb10255ab8c61234c1b3e7ac5506016e432fb489a1c5528cace7a60ddb07515516e7fc166b1dbe6c407d8a6bfbaa2e7531d445d8feb845c989913 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/core@npm:0.9.0" + checksum: 10/2d11e9c6fac14cfa817c7a9939fd6b79f2120928e4933952d061651db93797e0fcd67c858a14980ac26e90f6e0e49051436aefa4a4b06a26f24e3028366f73d9 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261 languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 +"@eslint/js@npm:9.16.0, @eslint/js@npm:^9.16.0": + version: 9.16.0 + resolution: "@eslint/js@npm:9.16.0" + checksum: 10/122da09b6a2c6a92d68be26146af1da17d9d4e03cf9435a874d341f18519122eef9ed229e52a1b781dc5987239754954e80a0b11bbe8f65df96e9ef8f3b438ad + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.3": + version: 0.2.3 + resolution: "@eslint/plugin-kit@npm:0.2.3" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/0d0653ef840823fd5c0354ef8f1937e7763dbe830173eb6d2d55a19374bf04a06dff0e5214330c10a9425cf38655f632bb0d7d0666249b366e506ae291d82f7e languageName: node linkType: hard @@ -1694,14 +1758,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 languageName: node linkType: hard @@ -1712,10 +1782,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 languageName: node linkType: hard @@ -2025,6 +2102,15 @@ __metadata: languageName: node linkType: hard +"@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1": + version: 5.1.1-v1 + resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1" + dependencies: + eslint-scope: "npm:5.1.1" + checksum: 10/f2e3b2d6a6e2d9f163ca22105910c9f850dc4897af0aea3ef0a5886b63d8e1ba6505b71c99cb78a3bba24a09557d601eb21c8dede3f3213753fcfef364eb0e57 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2042,7 +2128,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -2311,6 +2397,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -2345,6 +2438,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -2409,15 +2509,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.16.0" +"@typescript-eslint/eslint-plugin@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.17.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.16.0" - "@typescript-eslint/type-utils": "npm:8.16.0" - "@typescript-eslint/utils": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" + "@typescript-eslint/scope-manager": "npm:8.17.0" + "@typescript-eslint/type-utils": "npm:8.17.0" + "@typescript-eslint/utils": "npm:8.17.0" + "@typescript-eslint/visitor-keys": "npm:8.17.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -2428,44 +2528,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/aa3d551d4f09940eee0c08328cb0db3a2391a8bba6d044f6bb38c51ac864896519c647d4b8fd99f7c094cc677bcf22454b27322014a08b2f2fb25695a43820db + checksum: 10/753630802632dc1bb15d4b86afe60b5280d080cc6715648f6b717093a81d31f8aa621f823d0aa5632d1cf05f3c8f4ea356eff49efd11d9f7c154cb16d2ac2d79 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/parser@npm:8.16.0" +"@typescript-eslint/parser@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/parser@npm:8.17.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.16.0" - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/typescript-estree": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" + "@typescript-eslint/scope-manager": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/typescript-estree": "npm:8.17.0" + "@typescript-eslint/visitor-keys": "npm:8.17.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/ac1e2bfdbfe212da470bb17915b5228f7a6b027332b05eb8bcbbad440a81b2476c649e54e232084838e1edc005e6d7dc7a44899587d73672dd3d5484d9dbf9f8 + checksum: 10/464981e1424e4a7849ca7253b54092a67d33130d28ecf492efd56d5ce69e640a876b7f84e59f1e368e763125432c34e7de28d78c0eef1bda4e9a9d52de0ccac5 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/scope-manager@npm:8.16.0" +"@typescript-eslint/scope-manager@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/scope-manager@npm:8.17.0" dependencies: - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" - checksum: 10/e0aea61f248b39049d4ce21c19f9c8af1a8024f4f92abc8c1d5b79ea65b013c6c4ff41efb92995050036aa95b6a705601917b56809d9ec1fbbab387054aeb269 + "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/visitor-keys": "npm:8.17.0" + checksum: 10/fa934d9fd88070833c57a3e79c0f933d0b68884c00293a1d571889b882e5c9680ccfdc5c77a7160d5a4b8b46657f93db2468a4726a517fce4d3bc764b66f1995 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/type-utils@npm:8.16.0" +"@typescript-eslint/type-utils@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/type-utils@npm:8.17.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.16.0" - "@typescript-eslint/utils": "npm:8.16.0" + "@typescript-eslint/typescript-estree": "npm:8.17.0" + "@typescript-eslint/utils": "npm:8.17.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -2473,23 +2573,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/b91f6cef6af7e4f82a1dba9622d5ec9f46d1983eecfb88a1adbd310c7f980fedf5c8a198bfe968aae59fc386e4c437f55a7533988252eb9cbb0bdac8321e3dba + checksum: 10/a755935a0c16d6b9456effb1cad5e9605936e60799b57394cd143620dd862a90bcac12f720a009e32cafdae315fda343252117db4dc83520e0d21f1c28889792 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/types@npm:8.16.0" - checksum: 10/b37b26cd0e45b0cd6f7d492a07af583e4877d798495ab5fc1cfacb3c561b6d7981e3166f0475bb997e6c6d56ef903e160895174c7e63c08322dbb42d026cf7dc +"@typescript-eslint/types@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/types@npm:8.17.0" + checksum: 10/46baf69ab30dd814a390590b94ca64c407ac725cb0143590ddcaf72fa43c940cec180539752ce4af26ac7e0ae2f5f921cfd0d07b088ca680f8a28800d4d33a5f languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.16.0" +"@typescript-eslint/typescript-estree@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.17.0" dependencies: - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/visitor-keys": "npm:8.17.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -2499,41 +2599,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/823cf55d331cf7283547a2860a5d7bfd7dbd497be6e87b226dd7456b36db214de1504855afbbaef8d89932c11a1e589d4cb2a4093b6f1c542a4ce8319d988006 + checksum: 10/8a1f8be767b82e75d41eedda7fdb5135787ceaab480671b6d9891b5f92ee3a13f19ad6f48d5abf5e4f2afc4dd3317c621c1935505ef098f22b67be2f9d01ab7b languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/utils@npm:8.16.0" +"@typescript-eslint/utils@npm:8.17.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.17.0 + resolution: "@typescript-eslint/utils@npm:8.17.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.16.0" - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/scope-manager": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/typescript-estree": "npm:8.17.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/80ba35b97a8e80ac2b54a56ac041b4f4583328d764e1693e7d3750de383cbcefcb7e838b75e550e8aa4df446f4b41460da6dc83543517280a4e3a61546c1a8dc + checksum: 10/e82934468bece55ccf633be9f3fe6cae26791fa6488b5af08ea22566f6b32e1296917e46cb1fe39bba7717ebdf0dca49935112760c4439a11af36b3b7925917a languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.16.0" +"@typescript-eslint/visitor-keys@npm:8.17.0": + version: 8.17.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.17.0" dependencies: - "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.17.0" eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/e3f231a3e8ca2f7a3dc0e9ebdc3ea1f51a377b1285727413b4c89c44dbfaf342f2574b1b4e7f478f295963045a6058e27b4827816fe2a5a2d09f565eb68522c7 - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 + checksum: 10/e7a3c3b9430ecefb8e720f735f8a94f87901f055c75dc8eec60052dfdf90cc28dd33f03c11cd8244551dc988bf98d1db9bd09ef8fd3c51236912cab3680b9c6b languageName: node linkType: hard @@ -2569,12 +2662,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" +"acorn@npm:^8.14.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 10/d08c2d122bba32d0861e0aa840b2ee25946c286d5dc5990abca991baf8cdbfbe199b05aacb221b979411a2fea36f83e26b5ac4f6b4e0ce49038c62316c1848f0 + checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2 languageName: node linkType: hard @@ -3809,7 +3902,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -3820,6 +3913,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.5": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86 + languageName: node + linkType: hard + "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -4088,15 +4192,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -4536,6 +4631,40 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest-dom@npm:^5.5.0": + version: 5.5.0 + resolution: "eslint-plugin-jest-dom@npm:5.5.0" + dependencies: + "@babel/runtime": "npm:^7.16.3" + requireindex: "npm:^1.2.0" + peerDependencies: + "@testing-library/dom": ^8.0.0 || ^9.0.0 || ^10.0.0 + eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + peerDependenciesMeta: + "@testing-library/dom": + optional: true + checksum: 10/73aaaa6117abbe3b197bc6b1e45839aaa9c2b4c86e7efbc4ff29f03318ec7f019a8e32652c06c61f06fdb22fb296c068a802a268e7b88aa6b71d3477d949b2c6 + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^28.9.0": + version: 28.9.0 + resolution: "eslint-plugin-jest@npm:28.9.0" + dependencies: + "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10/399dd882205da996c2d46b768b744093346ffe4f730972825c72a3f85cc2e26bc08ccd73a7b487f8da4c39fa0178c58b571d5d611a22ced5518b5dfccb48d906 + languageName: node + linkType: hard + "eslint-plugin-simple-import-sort@npm:^12.1.1": version: 12.1.1 resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" @@ -4545,17 +4674,34 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10/c541ef384c92eb5c999b7d3443d80195fcafb3da335500946f6db76539b87d5826c8f2e1d23bf6afc3154ba8cd7c8e566f8dc00f1eea25fdf3afc8fb9c87b238 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: 10/db4547eef5039122d518fa307e938ceb8589da5f6e8f5222efaf14dd62f748ce82e2d2becd3ff9412a50350b726bda95dbea8515a471074547daefa58aee8735 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b @@ -4569,62 +4715,63 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint@npm:^9.16.0": + version: 9.16.0 + resolution: "eslint@npm:9.16.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.16.0" + "@eslint/plugin-kit": "npm:^0.2.3" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.5" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c + checksum: 10/b47a34392a55bc08594ee2fed2777d7aff96f38b584791ccded44d88b72795acfe15b18643fd4046f680734a1f16244d554f34a485f660fa723e25d609fb12ba languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 languageName: node linkType: hard @@ -4638,7 +4785,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.5.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -4656,6 +4803,13 @@ __metadata: languageName: node linkType: hard +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10/3f67ad02b6dbfaddd9ea459cf2b6ef4ecff9a6082a7af9d22e445b9abc082ad9ca47e1825557b293fcdae477f4714e561123e30bb6a5b2f184fb2bad4a9497eb + languageName: node + linkType: hard + "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" @@ -4830,12 +4984,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard @@ -4884,14 +5038,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10/02381c6ece5e9fa5b826c9bbea481d7fd77645d96e4b0b1395238124d581d10e56f17f723d897b6d133970f7a57f0fab9148cbbb67237a0a0ffe794ba60c0c70 + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc languageName: node linkType: hard @@ -5214,7 +5367,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.5": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -5244,19 +5397,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10/9aab1c75eb087c35dbc41d1f742e51d0507aa2b14c910d96fb8287107a10a22f4bbdce26fc0a3da4c69a20f7b26d62f1640b346a4f6e6becfff47f335bb1dc5e - languageName: node - linkType: hard - "global-dirs@npm:^2.0.1": version: 2.1.0 resolution: "global-dirs@npm:2.1.0" @@ -5293,12 +5433,17 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10/62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + +"globals@npm:^15.13.0": + version: 15.13.0 + resolution: "globals@npm:15.13.0" + checksum: 10/ba84d0612d516bcc1dabdd9ce66667956e1a87401fb53be6c379f8f6a04f8e6ce415b584801ae2689a90e788e89bb38adfafc854a8a50ae8e322bb4dd35a2105 languageName: node linkType: hard @@ -5930,7 +6075,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.1, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.1": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -6793,7 +6938,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3, keyv@npm:^4.5.4": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -7387,7 +7532,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -7396,7 +7541,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": +"minimatch@npm:^5.1.6": version: 5.1.6 resolution: "minimatch@npm:5.1.6" dependencies: @@ -7521,9 +7666,9 @@ __metadata: languageName: node linkType: hard -"mocha@npm:^10.8.2": - version: 10.8.2 - resolution: "mocha@npm:10.8.2" +"mocha@npm:^11.0.1": + version: 11.0.1 + resolution: "mocha@npm:11.0.1" dependencies: ansi-colors: "npm:^4.1.3" browser-stdout: "npm:^1.3.1" @@ -7532,7 +7677,7 @@ __metadata: diff: "npm:^5.2.0" escape-string-regexp: "npm:^4.0.0" find-up: "npm:^5.0.0" - glob: "npm:^8.1.0" + glob: "npm:^10.4.5" he: "npm:^1.2.0" js-yaml: "npm:^4.1.0" log-symbols: "npm:^4.1.0" @@ -7548,7 +7693,7 @@ __metadata: bin: _mocha: bin/_mocha mocha: bin/mocha.js - checksum: 10/903bbffcb195ef9d36b27db54e3462c5486de1397289e0953735b3530397a139336c452bcf5188c663496c660d2285bbb6c7213290d36d536ad647b6145cb917 + checksum: 10/8c14292a90e8db4f199e70a007da082cabc2a3be803f95885ab03e32cb4dd7c3978c0b50d1f963c33eacaa981f105cf7c89c7fc4c14649dcbfd0e0f2d712c1e3 languageName: node linkType: hard @@ -8700,6 +8845,13 @@ __metadata: languageName: node linkType: hard +"requireindex@npm:^1.2.0": + version: 1.2.0 + resolution: "requireindex@npm:1.2.0" + checksum: 10/266d1cb31f6cbc4b6cf2e898f5bbc45581f7919bcf61bba5c45d0adb69b722b9ff5a13727be3350cde4520d7cd37f39df45d58a29854baaa4552cd6b05ae4a1a + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -9143,23 +9295,26 @@ __metadata: dependencies: "@adobe/css-tools": "npm:^4.4.1" "@babel/core": "npm:^7.26.0" + "@babel/eslint-parser": "npm:^7.25.9" "@babel/preset-env": "npm:^7.26.0" "@babel/preset-typescript": "npm:^7.26.0" + "@eslint/js": "npm:^9.16.0" "@types/lodash": "npm:^4.17.13" - "@typescript-eslint/eslint-plugin": "npm:^8.16.0" - "@typescript-eslint/parser": "npm:^8.16.0" babel-jest: "npm:^29.7.0" chai: "npm:^4.5.0" - eslint: "npm:^8.57.1" + eslint: "npm:^9.16.0" eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.3" eslint-plugin-import: "npm:^2.31.0" + eslint-plugin-jest: "npm:^28.9.0" + eslint-plugin-jest-dom: "npm:^5.5.0" eslint-plugin-simple-import-sort: "npm:^12.1.1" + globals: "npm:^15.13.0" jest: "npm:^29.7.0" jest-diff: "npm:^29.7.0" jest-environment-node-single-context: "npm:^29.4.0" lodash: "npm:^4.17.21" - mocha: "npm:^10.8.2" + mocha: "npm:^11.0.1" npm-run-all: "npm:^4.1.5" postcss: "npm:^8.4.49" prettier: "npm:^3.4.1" @@ -9168,8 +9323,9 @@ __metadata: sassdoc: "npm:^2.7.4" sassdoc-theme-herman: "npm:^6.0.2" stylelint: "npm:^16.11.0" - stylelint-config-standard-scss: "npm:^13.1.0" + stylelint-config-standard-scss: "npm:^14.0.0" typescript: "npm:^5.7.2" + typescript-eslint: "npm:^8.17.0" peerDependencies: sass: ">=1.45.0" sass-embedded: ">=1.45.0" @@ -9802,7 +9958,7 @@ __metadata: languageName: node linkType: hard -"stylelint-config-recommended-scss@npm:^14.0.0": +"stylelint-config-recommended-scss@npm:^14.1.0": version: 14.1.0 resolution: "stylelint-config-recommended-scss@npm:14.1.0" dependencies: @@ -9828,23 +9984,23 @@ __metadata: languageName: node linkType: hard -"stylelint-config-standard-scss@npm:^13.1.0": - version: 13.1.0 - resolution: "stylelint-config-standard-scss@npm:13.1.0" +"stylelint-config-standard-scss@npm:^14.0.0": + version: 14.0.0 + resolution: "stylelint-config-standard-scss@npm:14.0.0" dependencies: - stylelint-config-recommended-scss: "npm:^14.0.0" - stylelint-config-standard: "npm:^36.0.0" + stylelint-config-recommended-scss: "npm:^14.1.0" + stylelint-config-standard: "npm:^36.0.1" peerDependencies: postcss: ^8.3.3 - stylelint: ^16.3.1 + stylelint: ^16.11.0 peerDependenciesMeta: postcss: optional: true - checksum: 10/c5105e3b3390c9d0aa95e252abdf1850fa50d82e1a25a1fcc11a88b111038e00c8033a4b34905405f2203c84c0fa26ce1d40248df2172c83c76cc3baa552db07 + checksum: 10/5193b61f78f40d88828eb7565adc7b67af65e3e2f6ec52d4482214778269276495b5b5ac7ad7b0a9185ebe42a281f674e190b2ddb9673bd72b1eac5c767006a4 languageName: node linkType: hard -"stylelint-config-standard@npm:^36.0.0": +"stylelint-config-standard@npm:^36.0.1": version: 36.0.1 resolution: "stylelint-config-standard@npm:36.0.1" dependencies: @@ -10057,13 +10213,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 - languageName: node - linkType: hard - "through2-filter@npm:^3.0.0": version: 3.0.0 resolution: "through2-filter@npm:3.0.0" @@ -10220,13 +10369,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -10309,6 +10451,22 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.17.0": + version: 8.17.0 + resolution: "typescript-eslint@npm:8.17.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.17.0" + "@typescript-eslint/parser": "npm:8.17.0" + "@typescript-eslint/utils": "npm:8.17.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/b6e15a85ae803c9b3863306f02ec2e049b76900f01d0d5fee0ec84e4417ba056c9d90361b1a0e2f21847ee7ee2bef96de5a8a0eba82dc8a4f49f0799e61c52b5 + languageName: node + linkType: hard + "typescript@npm:^5.7.2": version: 5.7.2 resolution: "typescript@npm:5.7.2" @@ -10321,11 +10479,11 @@ __metadata: "typescript@patch:typescript@npm%3A^5.7.2#optional!builtin": version: 5.7.2 - resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=8c6c40" + resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/ff27fc124bceb8969be722baa38af945b2505767cf794de3e2715e58f61b43780284060287d651fcbbdfb6f917f4653b20f4751991f17e0706db389b9bb3f75d + checksum: 10/d75ca10141afc64fd3474b41a8b082b640555bed388d237558aed64e5827ddadb48f90932c7f4205883f18f5bcab8b6a739a2cfac95855604b0dfeb34bc2f3eb languageName: node linkType: hard