diff --git a/.eslintrc.js b/.eslintrc.js index 713412eb9..5cd8a6438 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -34,6 +34,11 @@ module.exports = { '@typescript-eslint/ban-types': 'error', '@typescript-eslint/no-unused-vars': 'error', 'eslint-comments/no-unused-disable': 'error', + 'eslint-plugin/require-meta-fixable': [ + 'error', + { catchNoFixerButFixableProperty: true }, + ], + 'eslint-plugin/require-meta-has-suggestions': 'error', 'eslint-plugin/test-case-property-ordering': 'error', 'no-else-return': 'error', 'no-negated-condition': 'error', diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 191e614b5..037cfe4e3 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: Validate cache @@ -38,7 +38,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: install run: yarn @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: install run: yarn @@ -67,9 +67,12 @@ jobs: strategy: fail-fast: false matrix: - node-version: [12.x, 14.x, 16.x] - eslint-version: [6, 7] + node-version: [12, 14, 16] + eslint-version: [6, 7, 8] ts-eslint-plugin-version: [4, 5] + exclude: + - eslint-version: 8 + ts-eslint-plugin-version: 4 runs-on: ubuntu-latest steps: @@ -104,7 +107,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: install run: yarn @@ -123,7 +126,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: install run: yarn @@ -146,7 +149,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14.x + node-version: 16 cache: yarn - name: install run: yarn diff --git a/package.json b/package.json index 158780fe2..973b6ddbf 100644 --- a/package.json +++ b/package.json @@ -100,14 +100,14 @@ "babel-jest": "^27.0.0", "babel-plugin-replace-ts-export-assignment": "^0.0.2", "dedent": "^0.7.0", - "eslint": "^6.0.0 || ^7.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-eslint-config": "^2.0.0", - "eslint-plugin-eslint-plugin": "^3.5.3", + "eslint-plugin-eslint-plugin": "^4.0.0-0", "eslint-plugin-import": "^2.25.1", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.4.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", "husky": "^7.0.2", "is-ci": "^3.0.0", "jest": "^27.0.0", @@ -123,7 +123,7 @@ }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { diff --git a/src/index.ts b/src/index.ts index 0bed30e16..b83dd9be9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,13 +8,6 @@ type RuleModule = TSESLint.RuleModule & { meta: Required, 'docs'>>; }; -// v5 of `@typescript-eslint/experimental-utils` removed this -declare module '@typescript-eslint/experimental-utils/dist/ts-eslint/Rule' { - export interface RuleMetaDataDocs { - category: 'Best Practices' | 'Possible Errors'; - } -} - // copied from https://github.com/babel/babel/blob/d8da63c929f2d28c401571e2a43166678c555bc4/packages/babel-helpers/src/helpers.js#L602-L606 /* istanbul ignore next */ const interopRequireDefault = (obj: any): { default: any } => diff --git a/src/rules/__tests__/utils.test.ts b/src/rules/__tests__/utils.test.ts index de5d9a9dc..0203518ab 100644 --- a/src/rules/__tests__/utils.test.ts +++ b/src/rules/__tests__/utils.test.ts @@ -18,7 +18,6 @@ const rule = createRule({ name: __filename, meta: { docs: { - category: 'Possible Errors', description: 'Fake rule for testing AST guards', recommended: false, }, diff --git a/src/rules/consistent-test-it.ts b/src/rules/consistent-test-it.ts index 84d8dbeb2..632f42eb9 100644 --- a/src/rules/consistent-test-it.ts +++ b/src/rules/consistent-test-it.ts @@ -39,7 +39,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Have control over `test` and `it` usages', recommended: false, }, diff --git a/src/rules/expect-expect.ts b/src/rules/expect-expect.ts index ea2e1163e..587174de9 100644 --- a/src/rules/expect-expect.ts +++ b/src/rules/expect-expect.ts @@ -47,7 +47,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Enforce assertion to be made in a test body', recommended: 'warn', }, diff --git a/src/rules/max-nested-describe.ts b/src/rules/max-nested-describe.ts index d273072d5..1e02c7c01 100644 --- a/src/rules/max-nested-describe.ts +++ b/src/rules/max-nested-describe.ts @@ -8,7 +8,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Enforces a maximum depth to nested describe calls', recommended: false, }, diff --git a/src/rules/no-alias-methods.ts b/src/rules/no-alias-methods.ts index 1055053dd..03ddb9519 100644 --- a/src/rules/no-alias-methods.ts +++ b/src/rules/no-alias-methods.ts @@ -4,7 +4,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow alias methods', recommended: false, }, diff --git a/src/rules/no-commented-out-tests.ts b/src/rules/no-commented-out-tests.ts index 82e15a88d..22da9a728 100644 --- a/src/rules/no-commented-out-tests.ts +++ b/src/rules/no-commented-out-tests.ts @@ -11,7 +11,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow commented out tests', recommended: 'warn', }, diff --git a/src/rules/no-conditional-expect.ts b/src/rules/no-conditional-expect.ts index 6d35d3801..d2e6b162f 100644 --- a/src/rules/no-conditional-expect.ts +++ b/src/rules/no-conditional-expect.ts @@ -22,7 +22,6 @@ export default createRule({ meta: { docs: { description: 'Prevent calling `expect` conditionally', - category: 'Best Practices', recommended: 'error', }, messages: { diff --git a/src/rules/no-deprecated-functions.ts b/src/rules/no-deprecated-functions.ts index 88e0f0d0a..d3f9ac32c 100644 --- a/src/rules/no-deprecated-functions.ts +++ b/src/rules/no-deprecated-functions.ts @@ -27,7 +27,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow use of deprecated functions', recommended: 'error', }, diff --git a/src/rules/no-disabled-tests.ts b/src/rules/no-disabled-tests.ts index 1ce0d6bf4..8a59659ca 100644 --- a/src/rules/no-disabled-tests.ts +++ b/src/rules/no-disabled-tests.ts @@ -4,7 +4,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow disabled tests', recommended: 'warn', }, diff --git a/src/rules/no-done-callback.ts b/src/rules/no-done-callback.ts index d059da9f7..e9dc2ad16 100644 --- a/src/rules/no-done-callback.ts +++ b/src/rules/no-done-callback.ts @@ -33,7 +33,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Avoid using a callback in asynchronous tests and hooks', recommended: 'error', suggestion: true, diff --git a/src/rules/no-duplicate-hooks.ts b/src/rules/no-duplicate-hooks.ts index e8b02754a..0a7492017 100644 --- a/src/rules/no-duplicate-hooks.ts +++ b/src/rules/no-duplicate-hooks.ts @@ -11,7 +11,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow duplicate setup and teardown hooks', recommended: false, }, diff --git a/src/rules/no-export.ts b/src/rules/no-export.ts index e3c92d9cc..b5fcfb6d5 100644 --- a/src/rules/no-export.ts +++ b/src/rules/no-export.ts @@ -8,7 +8,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow using `exports` in files containing tests', recommended: 'error', }, diff --git a/src/rules/no-focused-tests.ts b/src/rules/no-focused-tests.ts index 82d42d98d..2590f1c0a 100644 --- a/src/rules/no-focused-tests.ts +++ b/src/rules/no-focused-tests.ts @@ -38,7 +38,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow focused tests', recommended: 'error', suggestion: true, diff --git a/src/rules/no-hooks.ts b/src/rules/no-hooks.ts index 6894093bc..2053d3d5c 100644 --- a/src/rules/no-hooks.ts +++ b/src/rules/no-hooks.ts @@ -7,7 +7,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow setup and teardown hooks', recommended: false, }, diff --git a/src/rules/no-identical-title.ts b/src/rules/no-identical-title.ts index 6f905bb18..68638e82d 100644 --- a/src/rules/no-identical-title.ts +++ b/src/rules/no-identical-title.ts @@ -21,7 +21,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow identical titles', recommended: 'error', }, diff --git a/src/rules/no-if.ts b/src/rules/no-if.ts index 18499c410..e5d78451b 100644 --- a/src/rules/no-if.ts +++ b/src/rules/no-if.ts @@ -41,7 +41,6 @@ export default createRule({ meta: { docs: { description: 'Disallow conditional logic', - category: 'Best Practices', recommended: false, }, messages: { diff --git a/src/rules/no-interpolation-in-snapshots.ts b/src/rules/no-interpolation-in-snapshots.ts index b267d3694..4bc3e99bc 100644 --- a/src/rules/no-interpolation-in-snapshots.ts +++ b/src/rules/no-interpolation-in-snapshots.ts @@ -5,7 +5,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow string interpolation inside snapshots', recommended: 'error', }, diff --git a/src/rules/no-jasmine-globals.ts b/src/rules/no-jasmine-globals.ts index a742f9ac8..f6ef341ef 100644 --- a/src/rules/no-jasmine-globals.ts +++ b/src/rules/no-jasmine-globals.ts @@ -10,7 +10,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow Jasmine globals', recommended: 'error', }, diff --git a/src/rules/no-jest-import.ts b/src/rules/no-jest-import.ts index a0ad90888..33e9f8b85 100644 --- a/src/rules/no-jest-import.ts +++ b/src/rules/no-jest-import.ts @@ -7,7 +7,6 @@ export default createRule({ type: 'problem', docs: { description: 'Disallow importing Jest', - category: 'Best Practices', recommended: 'error', }, messages: { diff --git a/src/rules/no-large-snapshots.ts b/src/rules/no-large-snapshots.ts index e7fae9ade..14618805c 100644 --- a/src/rules/no-large-snapshots.ts +++ b/src/rules/no-large-snapshots.ts @@ -75,7 +75,6 @@ export default createRule<[RuleOptions], MessageId>({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'disallow large snapshots', recommended: false, }, diff --git a/src/rules/no-mocks-import.ts b/src/rules/no-mocks-import.ts index fd86b9873..d42011549 100644 --- a/src/rules/no-mocks-import.ts +++ b/src/rules/no-mocks-import.ts @@ -17,7 +17,6 @@ export default createRule({ meta: { type: 'problem', docs: { - category: 'Best Practices', description: 'Disallow manually importing from `__mocks__`', recommended: 'error', }, diff --git a/src/rules/no-restricted-matchers.ts b/src/rules/no-restricted-matchers.ts index d439ecd5b..474468a35 100644 --- a/src/rules/no-restricted-matchers.ts +++ b/src/rules/no-restricted-matchers.ts @@ -7,7 +7,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow specific matchers & modifiers', recommended: false, }, diff --git a/src/rules/no-standalone-expect.ts b/src/rules/no-standalone-expect.ts index 7f5e02820..dc73e935c 100644 --- a/src/rules/no-standalone-expect.ts +++ b/src/rules/no-standalone-expect.ts @@ -55,7 +55,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow using `expect` outside of `it` or `test` blocks', recommended: 'error', }, diff --git a/src/rules/no-test-prefixes.ts b/src/rules/no-test-prefixes.ts index 9b30d68c8..d16b9fde5 100644 --- a/src/rules/no-test-prefixes.ts +++ b/src/rules/no-test-prefixes.ts @@ -10,7 +10,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Use `.only` and `.skip` over `f` and `x`', recommended: 'error', }, diff --git a/src/rules/no-test-return-statement.ts b/src/rules/no-test-return-statement.ts index 35cb9c9fd..6d2f08b8e 100644 --- a/src/rules/no-test-return-statement.ts +++ b/src/rules/no-test-return-statement.ts @@ -27,7 +27,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Disallow explicitly returning from tests', recommended: false, }, diff --git a/src/rules/prefer-called-with.ts b/src/rules/prefer-called-with.ts index 70e207f6e..17fd848d8 100644 --- a/src/rules/prefer-called-with.ts +++ b/src/rules/prefer-called-with.ts @@ -4,7 +4,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`', recommended: false, diff --git a/src/rules/prefer-expect-assertions.ts b/src/rules/prefer-expect-assertions.ts index f3dd081fa..f5b979f0e 100644 --- a/src/rules/prefer-expect-assertions.ts +++ b/src/rules/prefer-expect-assertions.ts @@ -64,7 +64,6 @@ export default createRule<[RuleOptions], MessageIds>({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `expect.assertions()` OR `expect.hasAssertions()`', recommended: false, diff --git a/src/rules/prefer-expect-resolves.ts b/src/rules/prefer-expect-resolves.ts index dd644d11d..56b838290 100644 --- a/src/rules/prefer-expect-resolves.ts +++ b/src/rules/prefer-expect-resolves.ts @@ -8,7 +8,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Prefer `await expect(...).resolves` over `expect(await ...)` syntax', recommended: false, diff --git a/src/rules/prefer-hooks-on-top.ts b/src/rules/prefer-hooks-on-top.ts index 1a393a319..2380fb7a2 100644 --- a/src/rules/prefer-hooks-on-top.ts +++ b/src/rules/prefer-hooks-on-top.ts @@ -4,7 +4,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest having hooks before any test cases', recommended: false, }, diff --git a/src/rules/prefer-lowercase-title.ts b/src/rules/prefer-lowercase-title.ts index f0b9571f1..b180f1942 100644 --- a/src/rules/prefer-lowercase-title.ts +++ b/src/rules/prefer-lowercase-title.ts @@ -67,7 +67,6 @@ export default createRule< type: 'suggestion', docs: { description: 'Enforce lowercase test names', - category: 'Best Practices', recommended: false, }, fixable: 'code', diff --git a/src/rules/prefer-spy-on.ts b/src/rules/prefer-spy-on.ts index 085694217..80537bf4a 100644 --- a/src/rules/prefer-spy-on.ts +++ b/src/rules/prefer-spy-on.ts @@ -46,7 +46,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `jest.spyOn()`', recommended: false, }, diff --git a/src/rules/prefer-strict-equal.ts b/src/rules/prefer-strict-equal.ts index e4b6c1fde..837435020 100644 --- a/src/rules/prefer-strict-equal.ts +++ b/src/rules/prefer-strict-equal.ts @@ -10,7 +10,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `toStrictEqual()`', recommended: false, suggestion: true, @@ -20,6 +19,7 @@ export default createRule({ suggestReplaceWithStrictEqual: 'Replace with `toStrictEqual()`', }, type: 'suggestion', + hasSuggestions: true, schema: [], hasSuggestions: true, }, diff --git a/src/rules/prefer-to-be.ts b/src/rules/prefer-to-be.ts index a67fdb54b..9cc2651f0 100644 --- a/src/rules/prefer-to-be.ts +++ b/src/rules/prefer-to-be.ts @@ -92,7 +92,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `toBe()` for primitive literals', recommended: false, }, diff --git a/src/rules/prefer-to-contain.ts b/src/rules/prefer-to-contain.ts index b13439f81..9c6c24822 100644 --- a/src/rules/prefer-to-contain.ts +++ b/src/rules/prefer-to-contain.ts @@ -159,7 +159,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `toContain()`', recommended: false, }, diff --git a/src/rules/prefer-to-have-length.ts b/src/rules/prefer-to-have-length.ts index 4da493aff..c587d6df7 100644 --- a/src/rules/prefer-to-have-length.ts +++ b/src/rules/prefer-to-have-length.ts @@ -11,7 +11,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `toHaveLength()`', recommended: false, }, diff --git a/src/rules/prefer-todo.ts b/src/rules/prefer-todo.ts index 56841ce5d..80af317a2 100644 --- a/src/rules/prefer-todo.ts +++ b/src/rules/prefer-todo.ts @@ -45,7 +45,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Suggest using `test.todo`', recommended: false, }, diff --git a/src/rules/require-hook.ts b/src/rules/require-hook.ts index cb8dc06cf..d6461e38c 100644 --- a/src/rules/require-hook.ts +++ b/src/rules/require-hook.ts @@ -35,7 +35,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Require setup and teardown code to be within a hook', recommended: false, }, diff --git a/src/rules/require-to-throw-message.ts b/src/rules/require-to-throw-message.ts index 0e0978002..fdf74a48f 100644 --- a/src/rules/require-to-throw-message.ts +++ b/src/rules/require-to-throw-message.ts @@ -9,7 +9,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Require a message for `toThrow()`', recommended: false, }, diff --git a/src/rules/require-top-level-describe.ts b/src/rules/require-top-level-describe.ts index 3377df5ce..aa113e08c 100644 --- a/src/rules/require-top-level-describe.ts +++ b/src/rules/require-top-level-describe.ts @@ -15,7 +15,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Require test cases and hooks to be inside a `describe` block', recommended: false, diff --git a/src/rules/unbound-method.ts b/src/rules/unbound-method.ts index 77e8fd0d6..c96d7a524 100644 --- a/src/rules/unbound-method.ts +++ b/src/rules/unbound-method.ts @@ -75,7 +75,6 @@ export default createRule({ type: 'problem', ...baseRule?.meta, docs: { - category: 'Best Practices', description: 'Enforces unbound methods are called with their expected scope', requiresTypeChecking: true, diff --git a/src/rules/valid-describe-callback.ts b/src/rules/valid-describe-callback.ts index 2f19094e2..ea1c8ab4d 100644 --- a/src/rules/valid-describe-callback.ts +++ b/src/rules/valid-describe-callback.ts @@ -21,7 +21,6 @@ export default createRule({ meta: { type: 'problem', docs: { - category: 'Possible Errors', description: 'Enforce valid `describe()` callback', recommended: 'error', }, diff --git a/src/rules/valid-expect-in-promise.ts b/src/rules/valid-expect-in-promise.ts index 02d933068..ebe008785 100644 --- a/src/rules/valid-expect-in-promise.ts +++ b/src/rules/valid-expect-in-promise.ts @@ -295,7 +295,6 @@ export default createRule({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Ensure promises that have expectations in their chain are valid', recommended: 'error', diff --git a/src/rules/valid-expect.ts b/src/rules/valid-expect.ts index 132727339..9d54840eb 100644 --- a/src/rules/valid-expect.ts +++ b/src/rules/valid-expect.ts @@ -120,7 +120,6 @@ export default createRule< name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Enforce valid `expect()` usage', recommended: 'error', }, diff --git a/src/rules/valid-title.ts b/src/rules/valid-title.ts index de2f00e77..f29fff90a 100644 --- a/src/rules/valid-title.ts +++ b/src/rules/valid-title.ts @@ -114,7 +114,6 @@ export default createRule<[Options], MessageIds>({ name: __filename, meta: { docs: { - category: 'Best Practices', description: 'Enforce valid titles', recommended: 'error', }, diff --git a/yarn.lock b/yarn.lock index da5cb63bc..3a2a3b10d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,15 +32,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.12.11": - version: 7.12.11 - resolution: "@babel/code-frame@npm:7.12.11" - dependencies: - "@babel/highlight": ^7.10.4 - checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.14.5, @babel/code-frame@npm:^7.15.8": version: 7.15.8 resolution: "@babel/code-frame@npm:7.15.8" @@ -345,7 +336,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.14.5": +"@babel/highlight@npm:^7.14.5": version: 7.14.5 resolution: "@babel/highlight@npm:7.14.5" dependencies: @@ -1511,20 +1502,20 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.3": - version: 0.4.3 - resolution: "@eslint/eslintrc@npm:0.4.3" +"@eslint/eslintrc@npm:^1.0.2": + version: 1.0.2 + resolution: "@eslint/eslintrc@npm:1.0.2" dependencies: ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 + debug: ^4.3.2 + espree: ^9.0.0 globals: ^13.9.0 ignore: ^4.0.6 import-fresh: ^3.2.1 js-yaml: ^3.13.1 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + checksum: bc57f1cfb8809552072e8dedf219753972f804c4d3efffbb365946fc1e09218b5e032da91afffee23739f21ecb761e151d72d5058245b5064183735c7a20fffb languageName: node linkType: hard @@ -1535,14 +1526,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.5.0": - version: 0.5.0 - resolution: "@humanwhocodes/config-array@npm:0.5.0" +"@humanwhocodes/config-array@npm:^0.6.0": + version: 0.6.0 + resolution: "@humanwhocodes/config-array@npm:0.6.0" dependencies: "@humanwhocodes/object-schema": ^1.2.0 debug: ^4.1.1 minimatch: ^3.0.4 - checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + checksum: 1025b07514b7bfd10a05e8b6cb5e6520878e9c8836b3dd0569fc07df29a09e428c2df1e0760b1d461da8ed6f81ca83ecb02e24198f80b0a177a2acbf532e267c languageName: node linkType: hard @@ -2742,7 +2733,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^7.1.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -2751,7 +2742,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.2.4, acorn@npm:^8.4.1": +"acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0": version: 8.5.0 resolution: "acorn@npm:8.5.0" bin: @@ -2802,18 +2793,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.1": - version: 8.6.3 - resolution: "ajv@npm:8.6.3" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 690ffb9408415fdab43686b3f92037ba0c8362f5d0709a123ba3fb546e6ad81414455f80a2b5cc432ce924afe9864671198f022bc331a19c072d4ede152ec3ca - languageName: node - linkType: hard - "ansi-colors@npm:^4.1.1": version: 4.1.1 resolution: "ansi-colors@npm:4.1.1" @@ -2957,6 +2936,13 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + "argv-formatter@npm:~1.0.0": version: 1.0.0 resolution: "argv-formatter@npm:1.0.0" @@ -3929,7 +3915,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2": version: 4.3.2 resolution: "debug@npm:4.3.2" dependencies: @@ -4393,7 +4379,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-eslint-comments@npm:^3.1.2": +"eslint-plugin-eslint-comments@npm:^3.2.0": version: 3.2.0 resolution: "eslint-plugin-eslint-comments@npm:3.2.0" dependencies: @@ -4417,14 +4403,14 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-eslint-plugin@npm:^3.5.3": - version: 3.6.1 - resolution: "eslint-plugin-eslint-plugin@npm:3.6.1" +"eslint-plugin-eslint-plugin@npm:^4.0.0-0": + version: 4.0.0-1 + resolution: "eslint-plugin-eslint-plugin@npm:4.0.0-1" dependencies: - eslint-utils: ^2.1.0 + eslint-utils: ^3.0.0 peerDependencies: eslint: ">=6.0.0" - checksum: 178fef88197c43d554f132fdfed11217d0ba77431d193642119a3d5fe1acc91d1f02923bef60c0faf3f6bd93f54e6eb51e83e2625dfc98cb2a33d4ebdaa6ab81 + checksum: 0c828de94908c0b50e03f627ff4abcd144a670558555fd6f8c9184831873efca4cedf40028e05974654314ed3495622aec9bd5bffb08f248beb2370d92dd39f0 languageName: node linkType: hard @@ -4474,14 +4460,14 @@ __metadata: babel-jest: ^27.0.0 babel-plugin-replace-ts-export-assignment: ^0.0.2 dedent: ^0.7.0 - eslint: ^6.0.0 || ^7.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint-config-prettier: ^8.3.0 - eslint-plugin-eslint-comments: ^3.1.2 + eslint-plugin-eslint-comments: ^3.2.0 eslint-plugin-eslint-config: ^2.0.0 - eslint-plugin-eslint-plugin: ^3.5.3 + eslint-plugin-eslint-plugin: ^4.0.0-0 eslint-plugin-import: ^2.25.1 - eslint-plugin-node: ^11.0.0 - eslint-plugin-prettier: ^3.4.1 + eslint-plugin-node: ^11.1.0 + eslint-plugin-prettier: ^4.0.0 husky: ^7.0.2 is-ci: ^3.0.0 jest: ^27.0.0 @@ -4496,14 +4482,14 @@ __metadata: typescript: ^4.4.0 peerDependencies: "@typescript-eslint/eslint-plugin": ^4.0.0 || ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true languageName: unknown linkType: soft -"eslint-plugin-node@npm:^11.0.0": +"eslint-plugin-node@npm:^11.1.0": version: 11.1.0 resolution: "eslint-plugin-node@npm:11.1.0" dependencies: @@ -4519,18 +4505,18 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-plugin-prettier@npm:3.4.1" +"eslint-plugin-prettier@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-plugin-prettier@npm:4.0.0" dependencies: prettier-linter-helpers: ^1.0.0 peerDependencies: - eslint: ">=5.0.0" - prettier: ">=1.13.0" + eslint: ">=7.28.0" + prettier: ">=2.0.0" peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99 + checksum: 03d69177a3c21fa2229c7e427ce604429f0b20ab7f411e2e824912f572a207c7f5a41fd1f0a95b9b8afe121e291c1b1f1dc1d44c7aad4b0837487f9c19f5210d languageName: node linkType: hard @@ -4544,7 +4530,17 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": +"eslint-scope@npm:^6.0.0": + version: 6.0.0 + resolution: "eslint-scope@npm:6.0.0" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: 3f1b3578f288c3820f68ad2aae102300e546be8a98a958f515405dc20cc2fe64fda583d364977628bb14fe3d4f96f37de5e9bc5d6eb26bc310da33ba2a677dc3 + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" dependencies: @@ -4564,7 +4560,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": +"eslint-visitor-keys@npm:^1.1.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a @@ -4585,36 +4581,35 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^6.0.0 || ^7.0.0": - version: 7.32.0 - resolution: "eslint@npm:7.32.0" +"eslint@npm:8.0.0, eslint@npm:^6.0.0 || ^7.0.0 || ^8.0.0-0": + version: 8.0.0 + resolution: "eslint@npm:8.0.0" dependencies: - "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.3 - "@humanwhocodes/config-array": ^0.5.0 + "@eslint/eslintrc": ^1.0.2 + "@humanwhocodes/config-array": ^0.6.0 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 - debug: ^4.0.1 + debug: ^4.3.2 doctrine: ^3.0.0 enquirer: ^2.3.5 escape-string-regexp: ^4.0.0 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 + eslint-scope: ^6.0.0 + eslint-utils: ^3.0.0 + eslint-visitor-keys: ^3.0.0 + espree: ^9.0.0 esquery: ^1.4.0 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 functional-red-black-tree: ^1.0.1 - glob-parent: ^5.1.2 + glob-parent: ^6.0.1 globals: ^13.6.0 ignore: ^4.0.6 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - js-yaml: ^3.13.1 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 lodash.merge: ^4.6.2 @@ -4622,27 +4617,26 @@ __metadata: natural-compare: ^1.4.0 optionator: ^0.9.1 progress: ^2.0.0 - regexpp: ^3.1.0 + regexpp: ^3.2.0 semver: ^7.2.1 strip-ansi: ^6.0.0 strip-json-comments: ^3.1.0 - table: ^6.0.9 text-table: ^0.2.0 v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + checksum: 68ba2838862782d9cbf6100218cbf0d69873b6d5d1de5860627b5424f067e2145d334810168142452fb93692666aa1cbeb4d0a94eea089a7d54d3ae32e99942c languageName: node linkType: hard -"espree@npm:^7.3.0, espree@npm:^7.3.1": - version: 7.3.1 - resolution: "espree@npm:7.3.1" +"espree@npm:^9.0.0": + version: 9.0.0 + resolution: "espree@npm:9.0.0" dependencies: - acorn: ^7.4.0 + acorn: ^8.5.0 acorn-jsx: ^5.3.1 - eslint-visitor-keys: ^1.3.0 - checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + eslint-visitor-keys: ^3.0.0 + checksum: f313c642e35587ce62a419f57ceea47937a719b084c7b31f649d2ca15ed92bc2dde58e2ac4fc381a74364b0db0b97d9cdb2a5d1ca0ccd7483bde9b4b04fe23e8 languageName: node linkType: hard @@ -5197,6 +5191,15 @@ __metadata: languageName: node linkType: hard +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + "glob@npm:*, glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.0 resolution: "glob@npm:7.2.0" @@ -6555,6 +6558,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + "jsbn@npm:~0.1.0": version: 0.1.1 resolution: "jsbn@npm:0.1.1" @@ -6641,13 +6655,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json-schema@npm:0.2.3": version: 0.2.3 resolution: "json-schema@npm:0.2.3" @@ -7012,13 +7019,6 @@ __metadata: languageName: node linkType: hard -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 92c46f094b064e876a23c97f57f81fbffd5d760bf2d8a1c61d85db6d1e488c66b0384c943abee4f6af7debf5ad4e4282e74ff83177c9e63d8ff081a4837c3489 - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -7068,13 +7068,6 @@ __metadata: languageName: node linkType: hard -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 - languageName: node - linkType: hard - "lodash.uniqby@npm:^4.7.0": version: 4.7.0 resolution: "lodash.uniqby@npm:4.7.0" @@ -8687,7 +8680,7 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": +"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0, regexpp@npm:^3.2.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 @@ -8770,13 +8763,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - "require-relative@npm:^0.8.7": version: 0.8.7 resolution: "require-relative@npm:0.8.7" @@ -9534,20 +9520,6 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.0.9": - version: 6.7.2 - resolution: "table@npm:6.7.2" - dependencies: - ajv: ^8.0.1 - lodash.clonedeep: ^4.5.0 - lodash.truncate: ^4.4.2 - slice-ansi: ^4.0.0 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - checksum: d61f91d64b9be56ac66edd2a8c0f10fcc59995313f37198cb87de73a6b441a05ad36f4a567bd8736da35bc4a2f8f4049b0e4ff1d4356c0a7c2b91af48b8bf8b2 - languageName: node - linkType: hard - "tar@npm:*, tar@npm:^6.0.2, tar@npm:^6.1.0, tar@npm:^6.1.2": version: 6.1.11 resolution: "tar@npm:6.1.11"