diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0961abb..105567b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,8 @@ name: ci + on: push: + jobs: test: runs-on: ubuntu-latest @@ -9,7 +11,7 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x] + node-version: [18.x, 19.x] os: [ubuntu-latest, windows-latest] fail-fast: false diff --git a/README.md b/README.md index 84c7975..6e65b77 100644 --- a/README.md +++ b/README.md @@ -131,66 +131,64 @@ If you're using this feature, you should also enabled `typecheck` in the setting πŸ’Ό Configurations enabled in.\ ⚠️ Configurations set to warn in.\ -🌐 Set in the `all` configuration.\ -βœ… Set in the `recommended` configuration.\ πŸ”§ Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\ πŸ’‘ Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\ ❌ Deprecated. -| NameΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  | Description | πŸ’Ό | ⚠️ | πŸ”§ | πŸ’‘ | ❌ | -| :----------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------- | :- | :- | :- | :- | :- | -| [consistent-test-filename](docs/rules/consistent-test-filename.md) | forbidden .spec test file pattern | | 🌐 | | | | -| [consistent-test-it](docs/rules/consistent-test-it.md) | Prefer test or it but not both | | 🌐 | πŸ”§ | | | -| [expect-expect](docs/rules/expect-expect.md) | Enforce having expectation in test body | βœ… | | | | | -| [max-expects](docs/rules/max-expects.md) | Enforce a maximum number of expect per test | | 🌐 | | | | -| [max-nested-describe](docs/rules/max-nested-describe.md) | Nested describe block should be less than set max value or default value | | 🌐 | | | | -| [no-alias-methods](docs/rules/no-alias-methods.md) | Disallow alias methods | | 🌐 | πŸ”§ | | | -| [no-commented-out-tests](docs/rules/no-commented-out-tests.md) | Disallow commented out tests | βœ… | | | | | -| [no-conditional-expect](docs/rules/no-conditional-expect.md) | Disallow conditional expects | | 🌐 | | | | -| [no-conditional-in-test](docs/rules/no-conditional-in-test.md) | Disallow conditional tests | | 🌐 | | | | -| [no-conditional-tests](docs/rules/no-conditional-tests.md) | Disallow conditional tests | | 🌐 | | | | -| [no-disabled-tests](docs/rules/no-disabled-tests.md) | Disallow disabled tests | | 🌐 | | | | -| [no-done-callback](docs/rules/no-done-callback.md) | Disallow using a callback in asynchronous tests and hooks | | 🌐 | | πŸ’‘ | ❌ | -| [no-duplicate-hooks](docs/rules/no-duplicate-hooks.md) | Disallow duplicate hooks and teardown hooks | | 🌐 | | | | -| [no-focused-tests](docs/rules/no-focused-tests.md) | Disallow focused tests | | 🌐 | πŸ”§ | | | -| [no-hooks](docs/rules/no-hooks.md) | Disallow setup and teardown hooks | | 🌐 | | | | -| [no-identical-title](docs/rules/no-identical-title.md) | Disallow identical titles | βœ… | | πŸ”§ | | | -| [no-import-node-test](docs/rules/no-import-node-test.md) | Disallow importing `node:test` | βœ… | | πŸ”§ | | | -| [no-interpolation-in-snapshots](docs/rules/no-interpolation-in-snapshots.md) | Disallow string interpolation in snapshots | | 🌐 | πŸ”§ | | | -| [no-large-snapshots](docs/rules/no-large-snapshots.md) | Disallow large snapshots | | 🌐 | | | | -| [no-mocks-import](docs/rules/no-mocks-import.md) | Disallow importing from __mocks__ directory | | 🌐 | | | | -| [no-restricted-matchers](docs/rules/no-restricted-matchers.md) | Disallow the use of certain matchers | | 🌐 | | | | -| [no-restricted-vi-methods](docs/rules/no-restricted-vi-methods.md) | Disallow specific `vi.` methods | | 🌐 | | | | -| [no-standalone-expect](docs/rules/no-standalone-expect.md) | Disallow using `expect` outside of `it` or `test` blocks | | 🌐 | | | | -| [no-test-prefixes](docs/rules/no-test-prefixes.md) | Disallow using `test` as a prefix | | 🌐 | πŸ”§ | | | -| [no-test-return-statement](docs/rules/no-test-return-statement.md) | Disallow return statements in tests | | 🌐 | | | | -| [prefer-called-with](docs/rules/prefer-called-with.md) | Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()` | | 🌐 | πŸ”§ | | | -| [prefer-comparison-matcher](docs/rules/prefer-comparison-matcher.md) | Suggest using the built-in comparison matchers | | 🌐 | πŸ”§ | | | -| [prefer-each](docs/rules/prefer-each.md) | Prefer `each` rather than manual loops | | 🌐 | | | | -| [prefer-equality-matcher](docs/rules/prefer-equality-matcher.md) | Suggest using the built-in quality matchers | | 🌐 | | πŸ’‘ | | -| [prefer-expect-assertions](docs/rules/prefer-expect-assertions.md) | Suggest using expect assertions instead of callbacks | | 🌐 | | πŸ’‘ | | -| [prefer-expect-resolves](docs/rules/prefer-expect-resolves.md) | Suggest using `expect().resolves` over `expect(await ...)` syntax | | 🌐 | πŸ”§ | | | -| [prefer-hooks-in-order](docs/rules/prefer-hooks-in-order.md) | Prefer having hooks in consistent order | | 🌐 | | | | -| [prefer-hooks-on-top](docs/rules/prefer-hooks-on-top.md) | Suggest having hooks before any test cases | | 🌐 | | | | -| [prefer-lowercase-title](docs/rules/prefer-lowercase-title.md) | Enforce lowercase titles | | 🌐 | πŸ”§ | | | -| [prefer-mock-promise-shorthand](docs/rules/prefer-mock-promise-shorthand.md) | Prefer mock resolved/rejected shorthands for promises | | 🌐 | πŸ”§ | | | -| [prefer-snapshot-hint](docs/rules/prefer-snapshot-hint.md) | Prefer including a hint with external snapshots | | 🌐 | | | | -| [prefer-spy-on](docs/rules/prefer-spy-on.md) | Suggest using `vi.spyOn` | | 🌐 | πŸ”§ | | | -| [prefer-strict-equal](docs/rules/prefer-strict-equal.md) | Prefer strict equal over equal | | 🌐 | | πŸ’‘ | | -| [prefer-to-be](docs/rules/prefer-to-be.md) | Suggest using toBe() | | 🌐 | πŸ”§ | | | -| [prefer-to-be-falsy](docs/rules/prefer-to-be-falsy.md) | Suggest using toBeFalsy() | | 🌐 | πŸ”§ | | | -| [prefer-to-be-object](docs/rules/prefer-to-be-object.md) | Prefer toBeObject() | | 🌐 | πŸ”§ | | | -| [prefer-to-be-truthy](docs/rules/prefer-to-be-truthy.md) | Suggest using `toBeTruthy` | | 🌐 | πŸ”§ | | | -| [prefer-to-contain](docs/rules/prefer-to-contain.md) | Prefer using toContain() | | 🌐 | πŸ”§ | | | -| [prefer-to-have-length](docs/rules/prefer-to-have-length.md) | Suggest using toHaveLength() | | 🌐 | πŸ”§ | | | -| [prefer-todo](docs/rules/prefer-todo.md) | Suggest using `test.todo` | | 🌐 | πŸ”§ | | | -| [require-hook](docs/rules/require-hook.md) | Require setup and teardown to be within a hook | | 🌐 | | | | -| [require-local-test-context-for-concurrent-snapshots](docs/rules/require-local-test-context-for-concurrent-snapshots.md) | Require local Test Context for concurrent snapshot tests | βœ… | | | | | -| [require-to-throw-message](docs/rules/require-to-throw-message.md) | Require toThrow() to be called with an error message | | 🌐 | | | | -| [require-top-level-describe](docs/rules/require-top-level-describe.md) | Enforce that all tests are in a top-level describe | | 🌐 | | | | -| [valid-describe-callback](docs/rules/valid-describe-callback.md) | Enforce valid describe callback | βœ… | | | | | -| [valid-expect](docs/rules/valid-expect.md) | Enforce valid `expect()` usage | βœ… | | | | | -| [valid-title](docs/rules/valid-title.md) | Enforce valid titles | βœ… | | πŸ”§ | | | +| NameΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  | Description | πŸ’Ό | ⚠️ | πŸ”§ | πŸ’‘ | ❌ | +| :----------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------- | :---------------------------- | :-------------------- | :- | :- | :- | +| [consistent-test-filename](docs/rules/consistent-test-filename.md) | forbidden .spec test file pattern | | ![badge-all-legacy][] | | | | +| [consistent-test-it](docs/rules/consistent-test-it.md) | Prefer test or it but not both | | ![badge-all-legacy][] | πŸ”§ | | | +| [expect-expect](docs/rules/expect-expect.md) | Enforce having expectation in test body | ![badge-recommended-legacy][] | | | | | +| [max-expects](docs/rules/max-expects.md) | Enforce a maximum number of expect per test | | ![badge-all-legacy][] | | | | +| [max-nested-describe](docs/rules/max-nested-describe.md) | Nested describe block should be less than set max value or default value | | ![badge-all-legacy][] | | | | +| [no-alias-methods](docs/rules/no-alias-methods.md) | Disallow alias methods | | ![badge-all-legacy][] | πŸ”§ | | | +| [no-commented-out-tests](docs/rules/no-commented-out-tests.md) | Disallow commented out tests | ![badge-recommended-legacy][] | | | | | +| [no-conditional-expect](docs/rules/no-conditional-expect.md) | Disallow conditional expects | | ![badge-all-legacy][] | | | | +| [no-conditional-in-test](docs/rules/no-conditional-in-test.md) | Disallow conditional tests | | ![badge-all-legacy][] | | | | +| [no-conditional-tests](docs/rules/no-conditional-tests.md) | Disallow conditional tests | | ![badge-all-legacy][] | | | | +| [no-disabled-tests](docs/rules/no-disabled-tests.md) | Disallow disabled tests | | ![badge-all-legacy][] | | | | +| [no-done-callback](docs/rules/no-done-callback.md) | Disallow using a callback in asynchronous tests and hooks | | ![badge-all-legacy][] | | πŸ’‘ | ❌ | +| [no-duplicate-hooks](docs/rules/no-duplicate-hooks.md) | Disallow duplicate hooks and teardown hooks | | ![badge-all-legacy][] | | | | +| [no-focused-tests](docs/rules/no-focused-tests.md) | Disallow focused tests | | ![badge-all-legacy][] | πŸ”§ | | | +| [no-hooks](docs/rules/no-hooks.md) | Disallow setup and teardown hooks | | ![badge-all-legacy][] | | | | +| [no-identical-title](docs/rules/no-identical-title.md) | Disallow identical titles | ![badge-recommended-legacy][] | | πŸ”§ | | | +| [no-import-node-test](docs/rules/no-import-node-test.md) | Disallow importing `node:test` | ![badge-recommended-legacy][] | | πŸ”§ | | | +| [no-interpolation-in-snapshots](docs/rules/no-interpolation-in-snapshots.md) | Disallow string interpolation in snapshots | | ![badge-all-legacy][] | πŸ”§ | | | +| [no-large-snapshots](docs/rules/no-large-snapshots.md) | Disallow large snapshots | | ![badge-all-legacy][] | | | | +| [no-mocks-import](docs/rules/no-mocks-import.md) | Disallow importing from __mocks__ directory | | ![badge-all-legacy][] | | | | +| [no-restricted-matchers](docs/rules/no-restricted-matchers.md) | Disallow the use of certain matchers | | ![badge-all-legacy][] | | | | +| [no-restricted-vi-methods](docs/rules/no-restricted-vi-methods.md) | Disallow specific `vi.` methods | | ![badge-all-legacy][] | | | | +| [no-standalone-expect](docs/rules/no-standalone-expect.md) | Disallow using `expect` outside of `it` or `test` blocks | | ![badge-all-legacy][] | | | | +| [no-test-prefixes](docs/rules/no-test-prefixes.md) | Disallow using `test` as a prefix | | ![badge-all-legacy][] | πŸ”§ | | | +| [no-test-return-statement](docs/rules/no-test-return-statement.md) | Disallow return statements in tests | | ![badge-all-legacy][] | | | | +| [prefer-called-with](docs/rules/prefer-called-with.md) | Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()` | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-comparison-matcher](docs/rules/prefer-comparison-matcher.md) | Suggest using the built-in comparison matchers | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-each](docs/rules/prefer-each.md) | Prefer `each` rather than manual loops | | ![badge-all-legacy][] | | | | +| [prefer-equality-matcher](docs/rules/prefer-equality-matcher.md) | Suggest using the built-in quality matchers | | ![badge-all-legacy][] | | πŸ’‘ | | +| [prefer-expect-assertions](docs/rules/prefer-expect-assertions.md) | Suggest using expect assertions instead of callbacks | | ![badge-all-legacy][] | | πŸ’‘ | | +| [prefer-expect-resolves](docs/rules/prefer-expect-resolves.md) | Suggest using `expect().resolves` over `expect(await ...)` syntax | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-hooks-in-order](docs/rules/prefer-hooks-in-order.md) | Prefer having hooks in consistent order | | ![badge-all-legacy][] | | | | +| [prefer-hooks-on-top](docs/rules/prefer-hooks-on-top.md) | Suggest having hooks before any test cases | | ![badge-all-legacy][] | | | | +| [prefer-lowercase-title](docs/rules/prefer-lowercase-title.md) | Enforce lowercase titles | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-mock-promise-shorthand](docs/rules/prefer-mock-promise-shorthand.md) | Prefer mock resolved/rejected shorthands for promises | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-snapshot-hint](docs/rules/prefer-snapshot-hint.md) | Prefer including a hint with external snapshots | | ![badge-all-legacy][] | | | | +| [prefer-spy-on](docs/rules/prefer-spy-on.md) | Suggest using `vi.spyOn` | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-strict-equal](docs/rules/prefer-strict-equal.md) | Prefer strict equal over equal | | ![badge-all-legacy][] | | πŸ’‘ | | +| [prefer-to-be](docs/rules/prefer-to-be.md) | Suggest using toBe() | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-to-be-falsy](docs/rules/prefer-to-be-falsy.md) | Suggest using toBeFalsy() | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-to-be-object](docs/rules/prefer-to-be-object.md) | Prefer toBeObject() | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-to-be-truthy](docs/rules/prefer-to-be-truthy.md) | Suggest using `toBeTruthy` | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-to-contain](docs/rules/prefer-to-contain.md) | Prefer using toContain() | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-to-have-length](docs/rules/prefer-to-have-length.md) | Suggest using toHaveLength() | | ![badge-all-legacy][] | πŸ”§ | | | +| [prefer-todo](docs/rules/prefer-todo.md) | Suggest using `test.todo` | | ![badge-all-legacy][] | πŸ”§ | | | +| [require-hook](docs/rules/require-hook.md) | Require setup and teardown to be within a hook | | ![badge-all-legacy][] | | | | +| [require-local-test-context-for-concurrent-snapshots](docs/rules/require-local-test-context-for-concurrent-snapshots.md) | Require local Test Context for concurrent snapshot tests | ![badge-recommended-legacy][] | | | | | +| [require-to-throw-message](docs/rules/require-to-throw-message.md) | Require toThrow() to be called with an error message | | ![badge-all-legacy][] | | | | +| [require-top-level-describe](docs/rules/require-top-level-describe.md) | Enforce that all tests are in a top-level describe | | ![badge-all-legacy][] | | | | +| [valid-describe-callback](docs/rules/valid-describe-callback.md) | Enforce valid describe callback | ![badge-recommended-legacy][] | | | | | +| [valid-expect](docs/rules/valid-expect.md) | Enforce valid `expect()` usage | ![badge-recommended-legacy][] | | | | | +| [valid-title](docs/rules/valid-title.md) | Enforce valid titles | ![badge-recommended-legacy][] | | πŸ”§ | | | diff --git a/docs/rules/consistent-test-filename.md b/docs/rules/consistent-test-filename.md index 33e7fd7..b405ed8 100644 --- a/docs/rules/consistent-test-filename.md +++ b/docs/rules/consistent-test-filename.md @@ -1,6 +1,6 @@ # Forbidden .spec test file pattern (`vitest/consistent-test-filename`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/consistent-test-it.md b/docs/rules/consistent-test-it.md index 456d159..2f73699 100644 --- a/docs/rules/consistent-test-it.md +++ b/docs/rules/consistent-test-it.md @@ -1,6 +1,6 @@ # Prefer test or it but not both (`vitest/consistent-test-it`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/expect-expect.md b/docs/rules/expect-expect.md index ee50787..4d98939 100644 --- a/docs/rules/expect-expect.md +++ b/docs/rules/expect-expect.md @@ -1,6 +1,6 @@ # Enforce having expectation in test body (`vitest/expect-expect`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. diff --git a/docs/rules/max-expects.md b/docs/rules/max-expects.md index 8c4f97e..bba1e4a 100644 --- a/docs/rules/max-expects.md +++ b/docs/rules/max-expects.md @@ -1,6 +1,6 @@ # Enforce a maximum number of expect per test (`vitest/max-expects`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/max-nested-describe.md b/docs/rules/max-nested-describe.md index 8d66d4f..52a93a6 100644 --- a/docs/rules/max-nested-describe.md +++ b/docs/rules/max-nested-describe.md @@ -1,6 +1,6 @@ # Nested describe block should be less than set max value or default value (`vitest/max-nested-describe`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-alias-methods.md b/docs/rules/no-alias-methods.md index 65768ad..61d3d95 100644 --- a/docs/rules/no-alias-methods.md +++ b/docs/rules/no-alias-methods.md @@ -1,6 +1,6 @@ # Disallow alias methods (`vitest/no-alias-methods`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-commented-out-tests.md b/docs/rules/no-commented-out-tests.md index 1b0a17f..8d69d1a 100644 --- a/docs/rules/no-commented-out-tests.md +++ b/docs/rules/no-commented-out-tests.md @@ -1,6 +1,6 @@ # Disallow commented out tests (`vitest/no-commented-out-tests`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. diff --git a/docs/rules/no-conditional-expect.md b/docs/rules/no-conditional-expect.md index c269703..fe1b8f5 100644 --- a/docs/rules/no-conditional-expect.md +++ b/docs/rules/no-conditional-expect.md @@ -1,6 +1,6 @@ # Disallow conditional expects (`vitest/no-conditional-expect`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-conditional-in-test.md b/docs/rules/no-conditional-in-test.md index bf3e15d..0bd27e8 100644 --- a/docs/rules/no-conditional-in-test.md +++ b/docs/rules/no-conditional-in-test.md @@ -1,6 +1,6 @@ # Disallow conditional tests (`vitest/no-conditional-in-test`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. ### Rule Details diff --git a/docs/rules/no-conditional-tests.md b/docs/rules/no-conditional-tests.md index 937e4a7..6776144 100644 --- a/docs/rules/no-conditional-tests.md +++ b/docs/rules/no-conditional-tests.md @@ -1,6 +1,6 @@ # Disallow conditional tests (`vitest/no-conditional-tests`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-disabled-tests.md b/docs/rules/no-disabled-tests.md index 6d6a09b..e074e0b 100644 --- a/docs/rules/no-disabled-tests.md +++ b/docs/rules/no-disabled-tests.md @@ -1,6 +1,6 @@ # Disallow disabled tests (`vitest/no-disabled-tests`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-done-callback.md b/docs/rules/no-done-callback.md index 02272bf..d91915d 100644 --- a/docs/rules/no-done-callback.md +++ b/docs/rules/no-done-callback.md @@ -2,7 +2,7 @@ ❌ This rule is deprecated. -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ’‘ This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/no-duplicate-hooks.md b/docs/rules/no-duplicate-hooks.md index aa5e016..24706e6 100644 --- a/docs/rules/no-duplicate-hooks.md +++ b/docs/rules/no-duplicate-hooks.md @@ -1,6 +1,6 @@ # Disallow duplicate hooks and teardown hooks (`vitest/no-duplicate-hooks`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-focused-tests.md b/docs/rules/no-focused-tests.md index 94aa901..b012946 100644 --- a/docs/rules/no-focused-tests.md +++ b/docs/rules/no-focused-tests.md @@ -1,6 +1,6 @@ # Disallow focused tests (`vitest/no-focused-tests`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-hooks.md b/docs/rules/no-hooks.md index e4f9a1d..82bf092 100644 --- a/docs/rules/no-hooks.md +++ b/docs/rules/no-hooks.md @@ -1,6 +1,6 @@ # Disallow setup and teardown hooks (`vitest/no-hooks`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-identical-title.md b/docs/rules/no-identical-title.md index 6378e47..83f6db4 100644 --- a/docs/rules/no-identical-title.md +++ b/docs/rules/no-identical-title.md @@ -1,6 +1,6 @@ # Disallow identical titles (`vitest/no-identical-title`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-import-node-test.md b/docs/rules/no-import-node-test.md index ab0bc2f..ac34cb3 100644 --- a/docs/rules/no-import-node-test.md +++ b/docs/rules/no-import-node-test.md @@ -1,6 +1,6 @@ # Disallow importing `node:test` (`vitest/no-import-node-test`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-interpolation-in-snapshots.md b/docs/rules/no-interpolation-in-snapshots.md index d92cb26..0573198 100644 --- a/docs/rules/no-interpolation-in-snapshots.md +++ b/docs/rules/no-interpolation-in-snapshots.md @@ -1,6 +1,6 @@ # Disallow string interpolation in snapshots (`vitest/no-interpolation-in-snapshots`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-large-snapshots.md b/docs/rules/no-large-snapshots.md index aaad801..5a95e69 100644 --- a/docs/rules/no-large-snapshots.md +++ b/docs/rules/no-large-snapshots.md @@ -1,6 +1,6 @@ # Disallow large snapshots (`vitest/no-large-snapshots`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-mocks-import.md b/docs/rules/no-mocks-import.md index 8267630..2d302c3 100644 --- a/docs/rules/no-mocks-import.md +++ b/docs/rules/no-mocks-import.md @@ -1,6 +1,6 @@ # Disallow importing from __mocks__ directory (`vitest/no-mocks-import`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-restricted-matchers.md b/docs/rules/no-restricted-matchers.md index ebd5de3..08f8635 100644 --- a/docs/rules/no-restricted-matchers.md +++ b/docs/rules/no-restricted-matchers.md @@ -1,6 +1,6 @@ # Disallow the use of certain matchers (`vitest/no-restricted-matchers`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-restricted-vi-methods.md b/docs/rules/no-restricted-vi-methods.md index 9eea038..e3c6e1b 100644 --- a/docs/rules/no-restricted-vi-methods.md +++ b/docs/rules/no-restricted-vi-methods.md @@ -1,6 +1,6 @@ # Disallow specific `vi.` methods (`vitest/no-restricted-vi-methods`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-standalone-expect.md b/docs/rules/no-standalone-expect.md index 4505c0a..5da1aff 100644 --- a/docs/rules/no-standalone-expect.md +++ b/docs/rules/no-standalone-expect.md @@ -1,6 +1,6 @@ # Disallow using `expect` outside of `it` or `test` blocks (`vitest/no-standalone-expect`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/no-test-prefixes.md b/docs/rules/no-test-prefixes.md index 0ed640b..2a935fc 100644 --- a/docs/rules/no-test-prefixes.md +++ b/docs/rules/no-test-prefixes.md @@ -1,6 +1,6 @@ # Disallow using `test` as a prefix (`vitest/no-test-prefixes`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/no-test-return-statement.md b/docs/rules/no-test-return-statement.md index db137ab..02015ae 100644 --- a/docs/rules/no-test-return-statement.md +++ b/docs/rules/no-test-return-statement.md @@ -1,6 +1,6 @@ # Disallow return statements in tests (`vitest/no-test-return-statement`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/prefer-called-with.md b/docs/rules/prefer-called-with.md index f5ef941..79f4427 100644 --- a/docs/rules/prefer-called-with.md +++ b/docs/rules/prefer-called-with.md @@ -1,6 +1,6 @@ # Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()` (`vitest/prefer-called-with`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-comparison-matcher.md b/docs/rules/prefer-comparison-matcher.md index c822c43..a73bee5 100644 --- a/docs/rules/prefer-comparison-matcher.md +++ b/docs/rules/prefer-comparison-matcher.md @@ -1,6 +1,6 @@ # Suggest using the built-in comparison matchers (`vitest/prefer-comparison-matcher`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-each.md b/docs/rules/prefer-each.md index 4a386ae..26fe000 100644 --- a/docs/rules/prefer-each.md +++ b/docs/rules/prefer-each.md @@ -1,6 +1,6 @@ # Prefer `each` rather than manual loops (`vitest/prefer-each`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/prefer-equality-matcher.md b/docs/rules/prefer-equality-matcher.md index f57e847..7bb47bd 100644 --- a/docs/rules/prefer-equality-matcher.md +++ b/docs/rules/prefer-equality-matcher.md @@ -1,6 +1,6 @@ # Suggest using the built-in quality matchers (`vitest/prefer-equality-matcher`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ’‘ This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/prefer-expect-assertions.md b/docs/rules/prefer-expect-assertions.md index 0d77e3c..dca0851 100644 --- a/docs/rules/prefer-expect-assertions.md +++ b/docs/rules/prefer-expect-assertions.md @@ -1,6 +1,6 @@ # Suggest using expect assertions instead of callbacks (`vitest/prefer-expect-assertions`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ’‘ This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/prefer-expect-resolves.md b/docs/rules/prefer-expect-resolves.md index 785bff1..5f877be 100644 --- a/docs/rules/prefer-expect-resolves.md +++ b/docs/rules/prefer-expect-resolves.md @@ -1,6 +1,6 @@ # Suggest using `expect().resolves` over `expect(await ...)` syntax (`vitest/prefer-expect-resolves`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-hooks-in-order.md b/docs/rules/prefer-hooks-in-order.md index 9479a31..9fec502 100644 --- a/docs/rules/prefer-hooks-in-order.md +++ b/docs/rules/prefer-hooks-in-order.md @@ -1,6 +1,6 @@ # Prefer having hooks in consistent order (`vitest/prefer-hooks-in-order`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/prefer-hooks-on-top.md b/docs/rules/prefer-hooks-on-top.md index a1a62da..b636ae1 100644 --- a/docs/rules/prefer-hooks-on-top.md +++ b/docs/rules/prefer-hooks-on-top.md @@ -1,6 +1,6 @@ # Suggest having hooks before any test cases (`vitest/prefer-hooks-on-top`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. ```ts diff --git a/docs/rules/prefer-lowercase-title.md b/docs/rules/prefer-lowercase-title.md index 582bf09..8a99035 100644 --- a/docs/rules/prefer-lowercase-title.md +++ b/docs/rules/prefer-lowercase-title.md @@ -1,6 +1,6 @@ # Enforce lowercase titles (`vitest/prefer-lowercase-title`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-mock-promise-shorthand.md b/docs/rules/prefer-mock-promise-shorthand.md index 7cd3d9e..72c09f9 100644 --- a/docs/rules/prefer-mock-promise-shorthand.md +++ b/docs/rules/prefer-mock-promise-shorthand.md @@ -1,6 +1,6 @@ # Prefer mock resolved/rejected shorthands for promises (`vitest/prefer-mock-promise-shorthand`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-snapshot-hint.md b/docs/rules/prefer-snapshot-hint.md index ed522cd..a24a147 100644 --- a/docs/rules/prefer-snapshot-hint.md +++ b/docs/rules/prefer-snapshot-hint.md @@ -1,6 +1,6 @@ # Prefer including a hint with external snapshots (`vitest/prefer-snapshot-hint`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/prefer-spy-on.md b/docs/rules/prefer-spy-on.md index 1b1adf7..cf3a99f 100644 --- a/docs/rules/prefer-spy-on.md +++ b/docs/rules/prefer-spy-on.md @@ -1,6 +1,6 @@ # Suggest using `vi.spyOn` (`vitest/prefer-spy-on`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-strict-equal.md b/docs/rules/prefer-strict-equal.md index c19b992..c669e2b 100644 --- a/docs/rules/prefer-strict-equal.md +++ b/docs/rules/prefer-strict-equal.md @@ -1,6 +1,6 @@ # Prefer strict equal over equal (`vitest/prefer-strict-equal`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ’‘ This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/prefer-to-be-falsy.md b/docs/rules/prefer-to-be-falsy.md index d908f9b..f9a92be 100644 --- a/docs/rules/prefer-to-be-falsy.md +++ b/docs/rules/prefer-to-be-falsy.md @@ -1,6 +1,6 @@ # Suggest using toBeFalsy() (`vitest/prefer-to-be-falsy`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-to-be-object.md b/docs/rules/prefer-to-be-object.md index 9129030..6312753 100644 --- a/docs/rules/prefer-to-be-object.md +++ b/docs/rules/prefer-to-be-object.md @@ -1,6 +1,6 @@ # Prefer toBeObject() (`vitest/prefer-to-be-object`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-to-be-truthy.md b/docs/rules/prefer-to-be-truthy.md index c321ce0..acd793e 100644 --- a/docs/rules/prefer-to-be-truthy.md +++ b/docs/rules/prefer-to-be-truthy.md @@ -1,6 +1,6 @@ # Suggest using `toBeTruthy` (`vitest/prefer-to-be-truthy`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-to-be.md b/docs/rules/prefer-to-be.md index b8652c6..4869d5f 100644 --- a/docs/rules/prefer-to-be.md +++ b/docs/rules/prefer-to-be.md @@ -1,6 +1,6 @@ # Suggest using toBe() (`vitest/prefer-to-be`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-to-contain.md b/docs/rules/prefer-to-contain.md index 4b511a5..4b20f52 100644 --- a/docs/rules/prefer-to-contain.md +++ b/docs/rules/prefer-to-contain.md @@ -1,6 +1,6 @@ # Prefer using toContain() (`vitest/prefer-to-contain`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-to-have-length.md b/docs/rules/prefer-to-have-length.md index b0f0118..84889c8 100644 --- a/docs/rules/prefer-to-have-length.md +++ b/docs/rules/prefer-to-have-length.md @@ -1,6 +1,6 @@ # Suggest using toHaveLength() (`vitest/prefer-to-have-length`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/prefer-todo.md b/docs/rules/prefer-todo.md index fe25d13..48fb106 100644 --- a/docs/rules/prefer-todo.md +++ b/docs/rules/prefer-todo.md @@ -1,6 +1,6 @@ # Suggest using `test.todo` (`vitest/prefer-todo`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/docs/rules/require-hook.md b/docs/rules/require-hook.md index e7acf95..59311a5 100644 --- a/docs/rules/require-hook.md +++ b/docs/rules/require-hook.md @@ -1,6 +1,6 @@ # Require setup and teardown to be within a hook (`vitest/require-hook`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/require-local-test-context-for-concurrent-snapshots.md b/docs/rules/require-local-test-context-for-concurrent-snapshots.md index 23feef7..103b438 100644 --- a/docs/rules/require-local-test-context-for-concurrent-snapshots.md +++ b/docs/rules/require-local-test-context-for-concurrent-snapshots.md @@ -1,6 +1,6 @@ # Require local Test Context for concurrent snapshot tests (`vitest/require-local-test-context-for-concurrent-snapshots`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. diff --git a/docs/rules/require-to-throw-message.md b/docs/rules/require-to-throw-message.md index 590eb14..3f45849 100644 --- a/docs/rules/require-to-throw-message.md +++ b/docs/rules/require-to-throw-message.md @@ -1,6 +1,6 @@ # Require toThrow() to be called with an error message (`vitest/require-to-throw-message`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/require-top-level-describe.md b/docs/rules/require-top-level-describe.md index be31882..c3e6408 100644 --- a/docs/rules/require-top-level-describe.md +++ b/docs/rules/require-top-level-describe.md @@ -1,6 +1,6 @@ # Enforce that all tests are in a top-level describe (`vitest/require-top-level-describe`) -⚠️ This rule _warns_ in the 🌐 `all` config. +⚠️ This rule _warns_ in the `all-legacy` config. diff --git a/docs/rules/valid-describe-callback.md b/docs/rules/valid-describe-callback.md index 37dae07..c85a13b 100644 --- a/docs/rules/valid-describe-callback.md +++ b/docs/rules/valid-describe-callback.md @@ -1,6 +1,6 @@ # Enforce valid describe callback (`vitest/valid-describe-callback`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. diff --git a/docs/rules/valid-expect.md b/docs/rules/valid-expect.md index c79ba62..cf14d3c 100644 --- a/docs/rules/valid-expect.md +++ b/docs/rules/valid-expect.md @@ -1,6 +1,6 @@ # Enforce valid `expect()` usage (`vitest/valid-expect`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. diff --git a/docs/rules/valid-title.md b/docs/rules/valid-title.md index fad9c12..46689dc 100644 --- a/docs/rules/valid-title.md +++ b/docs/rules/valid-title.md @@ -1,6 +1,6 @@ # Enforce valid titles (`vitest/valid-title`) -πŸ’Ό This rule is enabled in the βœ… `recommended` config. +πŸ’Ό This rule is enabled in the `recommended-legacy` config. πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). diff --git a/package.json b/package.json index 368dbc5..3c71ce3 100644 --- a/package.json +++ b/package.json @@ -42,22 +42,22 @@ "devDependencies": { "@babel/types": "^7.24.0", "@types/mocha": "^10.0.6", - "@types/node": "^20.12.2", - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/rule-tester": "^7.4.0", + "@types/node": "^20.12.4", + "@typescript-eslint/eslint-plugin": "^7.5.0", + "@typescript-eslint/rule-tester": "^7.5.0", "@veritem/eslint-config": "^0.0.11", "bumpp": "^9.4.0", "concurrently": "^8.2.2", "eslint": "^8.57.0", "eslint-doc-generator": "^1.7.0", - "eslint-plugin-eslint-plugin": "^5.4.1", + "eslint-plugin-eslint-plugin": "^5.5.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-vitest": "^0.3.26", "eslint-remote-tester": "^3.0.1", "eslint-remote-tester-repositories": "^1.0.1", "ts-node": "^10.9.2", - "tsx": "^4.7.1", - "typescript": "^5.4.3", + "tsx": "^4.7.2", + "typescript": "^5.4.4", "unbuild": "^2.0.0", "vitest": "^1.4.0" }, @@ -77,6 +77,6 @@ } }, "dependencies": { - "@typescript-eslint/utils": "^7.4.0" + "@typescript-eslint/utils": "^7.5.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d56124..f1166ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@typescript-eslint/utils': - specifier: ^7.4.0 - version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) + specifier: ^7.5.0 + version: 7.5.0(eslint@8.57.0)(typescript@5.4.4) devDependencies: '@babel/types': @@ -17,17 +17,17 @@ devDependencies: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^20.12.2 - version: 20.12.2 + specifier: ^20.12.4 + version: 20.12.4 '@typescript-eslint/eslint-plugin': - specifier: ^7.4.0 - version: 7.4.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.3) + specifier: ^7.5.0 + version: 7.5.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/rule-tester': - specifier: ^7.4.0 - version: 7.4.0(@eslint/eslintrc@2.1.4)(eslint@8.57.0)(typescript@5.4.3) + specifier: ^7.5.0 + version: 7.5.0(@eslint/eslintrc@2.1.4)(eslint@8.57.0)(typescript@5.4.4) '@veritem/eslint-config': specifier: ^0.0.11 - version: 0.0.11(eslint@8.57.0)(typescript@5.4.3) + version: 0.0.11(eslint@8.57.0)(typescript@5.4.4) bumpp: specifier: ^9.4.0 version: 9.4.0 @@ -39,16 +39,16 @@ devDependencies: version: 8.57.0 eslint-doc-generator: specifier: ^1.7.0 - version: 1.7.0(eslint@8.57.0)(typescript@5.4.3) + version: 1.7.0(eslint@8.57.0)(typescript@5.4.4) eslint-plugin-eslint-plugin: - specifier: ^5.4.1 - version: 5.4.1(eslint@8.57.0) + specifier: ^5.5.0 + version: 5.5.0(eslint@8.57.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@8.57.0) eslint-plugin-vitest: specifier: ^0.3.26 - version: 0.3.26(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.3)(vitest@1.4.0) + version: 0.3.26(@typescript-eslint/eslint-plugin@7.5.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0) eslint-remote-tester: specifier: ^3.0.1 version: 3.0.1(eslint@8.57.0)(ts-node@10.9.2) @@ -57,19 +57,19 @@ devDependencies: version: 1.0.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.2)(typescript@5.4.3) + version: 10.9.2(@types/node@20.12.4)(typescript@5.4.4) tsx: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 unbuild: specifier: ^2.0.0 - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.2) + version: 1.4.0(@types/node@20.12.4) packages: @@ -85,14 +85,6 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - dev: true - /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} @@ -111,7 +103,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.10 '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) @@ -231,16 +223,6 @@ packages: - supports-color dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -281,7 +263,7 @@ packages: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/parser': 7.22.10 '@babel/types': 7.24.0 dev: true @@ -290,7 +272,7 @@ packages: resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 @@ -1305,8 +1287,8 @@ packages: resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} dev: true - /@types/node@20.12.2: - resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + /@types/node@20.12.4: + resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} dependencies: undici-types: 5.26.5 dev: true @@ -1330,7 +1312,7 @@ packages: resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1342,24 +1324,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.7.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + semver: 7.6.0 + tsutils: 3.21.0(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} + /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1370,24 +1352,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.7.0 - '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 7.4.0 - '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 7.4.0 + '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.2(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.2(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1399,15 +1381,15 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.4) debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1419,25 +1401,25 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.0.2 '@typescript-eslint/types': 7.0.2 - '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.4.4) '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/rule-tester@7.4.0(@eslint/eslintrc@2.1.4)(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-AAus65/utkn6WZ3Ls1aoTyK34JdPFm3ZTfsz/Nis8c+Z1gNM4uiGuoyGXF0BnGo+lGvNPYOphGZ+0Y/LBHPi4w==} + /@typescript-eslint/rule-tester@7.5.0(@eslint/eslintrc@2.1.4)(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-UQDe3amUHFJrRHImo5U20SyEkLyxUmYSEYD7qYd8ScJmIxM7+zBsiMZzHQgOVAsI0lvtcNCJ6Cet5+dcgf8vng==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@eslint/eslintrc': '>=2' eslint: ^8.56.0 dependencies: '@eslint/eslintrc': 2.1.4 - '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) - '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) ajv: 6.12.6 eslint: 8.57.0 lodash.merge: 4.6.2 @@ -1463,14 +1445,14 @@ packages: '@typescript-eslint/visitor-keys': 7.0.2 dev: true - /@typescript-eslint/scope-manager@7.4.0: - resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} + /@typescript-eslint/scope-manager@7.5.0: + resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.4.0 - '@typescript-eslint/visitor-keys': 7.4.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 - /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1480,18 +1462,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.4) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4 eslint: 8.57.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} + /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1500,12 +1482,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) - '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.0.2(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.2(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -1520,11 +1502,11 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@7.4.0: - resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} + /@typescript-eslint/types@7.5.0: + resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} engines: {node: ^18.18.0 || >=20.0.0} - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.4): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1539,13 +1521,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.0.2(typescript@5.4.3): + /@typescript-eslint/typescript-estree@7.0.2(typescript@5.4.4): resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1561,14 +1543,14 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.2(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.2(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3): - resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} + /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): + resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1576,19 +1558,19 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.4.0 - '@typescript-eslint/visitor-keys': 7.4.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.2(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.2(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1599,17 +1581,17 @@ packages: '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.4) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} + /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1617,9 +1599,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 7.4.0 - '@typescript-eslint/types': 7.4.0 - '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -1642,17 +1624,17 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.4.0: - resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} + /@typescript-eslint/visitor-keys@7.5.0: + resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/types': 7.5.0 eslint-visitor-keys: 3.4.3 /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@veritem/eslint-config-base@0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3): + /@veritem/eslint-config-base@0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-tmDpz6DheFC4b7n8FxiyG/TCoHgSeiA3sECXvcvJi5ECokHfhubjoTJu4jha6XdE8rReiv5eXFx/CJtanSgpaw==} peerDependencies: typescript: '>=4.x' @@ -1664,7 +1646,7 @@ packages: eslint-plugin-promise: 6.1.1(eslint@8.57.0) eslint-plugin-unicorn: 46.0.1(eslint@8.57.0) eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0) - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - '@typescript-eslint/parser' @@ -1674,12 +1656,12 @@ packages: - supports-color dev: true - /@veritem/eslint-config-react@0.0.11(eslint@8.57.0)(typescript@5.4.3): + /@veritem/eslint-config-react@0.0.11(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-s5RbJvdrY5bYPAro3nsw0BWVYCIVyyw7cm6jbXASsqoBrUEkt+ubCm7h3oO0WGoO3ioqu8uBhQCTSZP9U4T/NA==} peerDependencies: eslint: '>=8.0.0' dependencies: - '@veritem/eslint-config-ts': 0.0.11(eslint@8.57.0)(typescript@5.4.3) + '@veritem/eslint-config-ts': 0.0.11(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0) eslint-plugin-react: 7.33.2(eslint@8.57.0) @@ -1691,14 +1673,14 @@ packages: - typescript dev: true - /@veritem/eslint-config-ts@0.0.11(eslint@8.57.0)(typescript@5.4.3): + /@veritem/eslint-config-ts@0.0.11(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-OZ6GzEtbZlTg0ZwUfPl2kHJKuQJapZ3fZf4/Uhs7xnbONtkUprgBlU4oH20+12XdS2CUQLmUEzvUGpgho/UniA==} peerDependencies: eslint: '>=8.0.0' dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) - '@veritem/eslint-config-base': 0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.4) + '@veritem/eslint-config-base': 0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-plugin-n: 15.7.0(eslint@8.57.0) transitivePeerDependencies: @@ -1708,10 +1690,10 @@ packages: - typescript dev: true - /@veritem/eslint-config@0.0.11(eslint@8.57.0)(typescript@5.4.3): + /@veritem/eslint-config@0.0.11(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-NTESflVjo4gdIab27tSmGaRoAI5rkSEvp24pSXouIULb7Ah7UaIZoGfmZpwhGJlgOafkySiofe0gqzFwrVPO3Q==} dependencies: - '@veritem/eslint-config-react': 0.0.11(eslint@8.57.0)(typescript@5.4.3) + '@veritem/eslint-config-react': 0.0.11(eslint@8.57.0)(typescript@5.4.4) transitivePeerDependencies: - eslint - eslint-import-resolver-typescript @@ -2723,14 +2705,14 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-doc-generator@1.7.0(eslint@8.57.0)(typescript@5.4.3): + /eslint-doc-generator@1.7.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-C1hE1acb/jruOO+cJe/rIsf+Kgq32JhimTgTtffwsjckKEJ800gx26kUtZhP+8Xm8M/n3BVBZ0XiNbojnNDqHQ==} engines: {node: ^14.18.0 || ^16.0.0 || >=18.0.0} hasBin: true peerDependencies: eslint: '>= 7' dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.4) ajv: 8.11.2 boolean: 3.2.0 commander: 10.0.0 @@ -2779,7 +2761,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.4) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2820,8 +2802,8 @@ packages: ignore: 5.2.4 dev: true - /eslint-plugin-eslint-plugin@5.4.1(eslint@8.57.0): - resolution: {integrity: sha512-Wu0C9Jx0ekl05NnTraPujdUt5aOGHI+73KHcTAyCucvoWf76wlOT5bNus5DG3Ceq+p0J/HBd0LLrVrrGzpnFog==} + /eslint-plugin-eslint-plugin@5.5.0(eslint@8.57.0): + resolution: {integrity: sha512-bWIZqdR68CSOOKhjoElE7ELmzGWKYDRLjRDrvkI8wTu85UMUlkkq9CwKncK1oquNSkYbXqL2C+qNwpdYsTEezA==} engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0} peerDependencies: eslint: '>=7.0.0' @@ -2847,7 +2829,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.4) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 @@ -2920,10 +2902,10 @@ packages: eslint-plugin-es: 4.1.0(eslint@8.57.0) eslint-utils: 3.0.0(eslint@8.57.0) ignore: 5.2.4 - is-core-module: 2.11.0 + is-core-module: 2.13.0 minimatch: 3.1.2 resolve: 1.22.4 - semver: 7.5.4 + semver: 7.6.0 dev: true /eslint-plugin-node@11.1.0(eslint@8.57.0): @@ -3019,12 +3001,12 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.3)(vitest@1.4.0): + /eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.5.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0): resolution: {integrity: sha512-oxe5JSPgRjco8caVLTh7Ti8PxpwJdhSV0hTQAmkFcNcmy/9DnqLB/oNVRA11RmVRP//2+jIIT6JuBEcpW3obYg==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: @@ -3037,10 +3019,10 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 - vitest: 1.4.0(@types/node@20.12.2) + vitest: 1.4.0(@types/node@20.12.4) transitivePeerDependencies: - supports-color - typescript @@ -3069,7 +3051,7 @@ packages: object-hash: 3.0.0 react: 17.0.2 simple-git: 3.20.0 - ts-node: 10.9.2(@types/node@20.12.2)(typescript@5.4.3) + ts-node: 10.9.2(@types/node@20.12.4)(typescript@5.4.4) transitivePeerDependencies: - '@types/react' - bufferutil @@ -3752,12 +3734,6 @@ packages: ci-info: 2.0.0 dev: true - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - dev: true - /is-core-module@2.13.0: resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: @@ -4260,7 +4236,7 @@ packages: hasBin: true dev: true - /mkdist@1.3.0(typescript@5.4.3): + /mkdist@1.3.0(typescript@5.4.4): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -4281,7 +4257,7 @@ packages: mlly: 1.4.0 mri: 1.2.0 pathe: 1.1.1 - typescript: 5.4.3 + typescript: 5.4.4 dev: true /mlly@1.4.0: @@ -4829,7 +4805,7 @@ packages: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: - is-core-module: 2.11.0 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -4852,7 +4828,7 @@ packages: dependencies: glob: 7.2.0 - /rollup-plugin-dts@6.0.0(rollup@3.28.1)(typescript@5.4.3): + /rollup-plugin-dts@6.0.0(rollup@3.28.1)(typescript@5.4.4): resolution: {integrity: sha512-A996xSZDAqnx/KfFttzC8mDEuyMjsRpiLCrlGc8effhK8KhE3AG0g1woQiITgFc5HSE8HWU7ccR9CiQ3vXgUlQ==} engines: {node: '>=v18.17.1'} peerDependencies: @@ -4861,7 +4837,7 @@ packages: dependencies: magic-string: 0.30.3 rollup: 3.28.1 - typescript: 5.4.3 + typescript: 5.4.4 optionalDependencies: '@babel/code-frame': 7.22.13 dev: true @@ -4956,14 +4932,6 @@ packages: hasBin: true dev: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -5244,15 +5212,15 @@ packages: hasBin: true dev: true - /ts-api-utils@1.0.2(typescript@5.4.3): + /ts-api-utils@1.0.2(typescript@5.4.4): resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.3 + typescript: 5.4.4 - /ts-node@10.9.2(@types/node@20.12.2)(typescript@5.4.3): + /ts-node@10.9.2(@types/node@20.12.4)(typescript@5.4.4): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -5271,14 +5239,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.12.2 + '@types/node': 20.12.4 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.3 + typescript: 5.4.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -5300,18 +5268,18 @@ packages: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tsutils@3.21.0(typescript@5.4.3): + /tsutils@3.21.0(typescript@5.4.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.3 + typescript: 5.4.4 dev: true - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -5404,8 +5372,8 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + /typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} hasBin: true @@ -5426,7 +5394,7 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbuild@2.0.0(typescript@5.4.3): + /unbuild@2.0.0(typescript@5.4.4): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -5450,15 +5418,15 @@ packages: hookable: 5.5.3 jiti: 1.19.3 magic-string: 0.30.3 - mkdist: 1.3.0(typescript@5.4.3) + mkdist: 1.3.0(typescript@5.4.4) mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 3.28.1 - rollup-plugin-dts: 6.0.0(rollup@3.28.1)(typescript@5.4.3) + rollup-plugin-dts: 6.0.0(rollup@3.28.1)(typescript@5.4.4) scule: 1.0.0 - typescript: 5.4.3 + typescript: 5.4.4 untyped: 1.4.0 transitivePeerDependencies: - sass @@ -5522,7 +5490,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@1.4.0(@types/node@20.12.2): + /vite-node@1.4.0(@types/node@20.12.4): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5531,7 +5499,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.7(@types/node@20.12.2) + vite: 5.0.7(@types/node@20.12.4) transitivePeerDependencies: - '@types/node' - less @@ -5543,7 +5511,7 @@ packages: - terser dev: true - /vite@5.0.7(@types/node@20.12.2): + /vite@5.0.7(@types/node@20.12.4): resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5571,7 +5539,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.4 esbuild: 0.19.10 postcss: 8.4.32 rollup: 4.7.0 @@ -5579,7 +5547,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.2): + /vitest@1.4.0(@types/node@20.12.4): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5604,7 +5572,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.4 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -5622,8 +5590,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.0.7(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) + vite: 5.0.7(@types/node@20.12.4) + vite-node: 1.4.0(@types/node@20.12.4) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/scripts/chain-permutations.ts b/scripts/chain-permutations.ts index 0f32ab5..858c99e 100644 --- a/scripts/chain-permutations.ts +++ b/scripts/chain-permutations.ts @@ -1,8 +1,8 @@ // imported from https://github.com/veritem/eslint-plugin-vitest/pull/293 // This script generates all possible permutations for vitest methods -import { per } from 'percom' import fs from 'node:fs' import path from 'node:path' +import { per } from 'percom' const data = [ { diff --git a/src/index.ts b/src/index.ts index 292458a..6025840 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +import fs from 'node:fs' import lowerCaseTitle, { RULE_NAME as lowerCaseTitleName } from './rules/prefer-lowercase-title' import maxNestedDescribe, { RULE_NAME as maxNestedDescribeName } from './rules/max-nested-describe' import noIdenticalTitle, { RULE_NAME as noIdenticalTitleName } from './rules/no-identical-title' @@ -104,8 +105,8 @@ const allRules = { [preferSpyOnName]: 'warn', [preferComparisonMatcherName]: 'warn', [preferToContainName]: 'warn', - [preferExpectAssertionsName]: 'warn', - [usePreferTobe]: 'warn' + [preferExpectAssertionsName]: 'warn', + [usePreferTobe]: 'warn' } const recommended = { @@ -119,7 +120,13 @@ const recommended = { [noImportNodeTestName]: 'error' } -export default { +const data = JSON.parse(fs.readFileSync('./package.json', 'utf8')) + +const plugin = { + meta: { + name: data.name, + version: data.version + }, rules: { [lowerCaseTitleName]: lowerCaseTitle, [maxNestedDescribeName]: maxNestedDescribe, @@ -172,11 +179,11 @@ export default { [preferSpyOnName]: preferSpyOn, [preferComparisonMatcherName]: preferComparisonMatcher, [preferToContainName]: preferToContain, - [preferExpectAssertionsName]: preferExpectAssertions + [preferExpectAssertionsName]: preferExpectAssertions }, configs: { - all: createConfig(allRules), - recommended: createConfig(recommended) + 'all-legacy': createConfig(allRules), + 'recommended-legacy': createConfig(recommended) }, environments: { env: { @@ -197,3 +204,45 @@ export default { } } } + +Object.assign(plugin.configs, { + recommended: { + plugins: { + vitest: plugin + }, + rules: createConfig(recommended) + } +}) + +Object.assign(plugin.configs, { + all: { + plugins: { + vitest: plugin + }, + rules: createConfig(allRules) + } +}) + +Object.assign(plugin.configs, { + env: { + languageOptions: { + globals: { + suite: 'writeable', + test: 'writeable', + describe: 'writeable', + it: 'writeable', + expect: 'writeable', + assert: 'writeable', + vitest: 'writeable', + vi: 'writeable', + beforeAll: 'writeable', + afterAll: 'writeable', + beforeEach: 'writeable', + afterEach: 'writeable' + } + + } + } +}) + +export default plugin diff --git a/src/rules/no-conditional-in-test.ts b/src/rules/no-conditional-in-test.ts index 5489c6d..f6079cc 100644 --- a/src/rules/no-conditional-in-test.ts +++ b/src/rules/no-conditional-in-test.ts @@ -35,4 +35,3 @@ export default createEslintRule({ } } }) - diff --git a/src/rules/no-conditional-tests.ts b/src/rules/no-conditional-tests.ts index eb26ad8..1598802 100644 --- a/src/rules/no-conditional-tests.ts +++ b/src/rules/no-conditional-tests.ts @@ -20,16 +20,16 @@ export default createEslintRule<[], MESSAGE_ID>({ defaultOptions: [], create(context) { return { - Identifier: function(node: TSESTree.Identifier) { - if (['test', 'it', 'describe'].includes(node.name)) - - if (node.parent?.parent?.parent?.parent?.type === 'IfStatement') { + Identifier: function (node: TSESTree.Identifier) { + if (['test', 'it', 'describe'].includes(node.name)) { + if (node.parent?.parent?.parent?.parent?.type === 'IfStatement') { context.report({ node, messageId: 'noConditionalTests' }) } - }, +} + } } } }) diff --git a/src/utils/valid-vitest-fn-call-chains.ts b/src/utils/valid-vitest-fn-call-chains.ts index 55b7f76..764c4e8 100644 --- a/src/utils/valid-vitest-fn-call-chains.ts +++ b/src/utils/valid-vitest-fn-call-chains.ts @@ -1 +1 @@ -export const ValidVitestFnCallChains = new Set(['beforeEach','beforeAll','afterEach','afterAll','it','it.skip','it.only','it.concurrent','it.sequential','it.todo','it.fails','it.extend','it.skipIf','it.runIf','it.each','it.skip.only','it.skip.concurrent','it.skip.sequential','it.skip.todo','it.skip.fails','it.only.skip','it.only.concurrent','it.only.sequential','it.only.todo','it.only.fails','it.concurrent.skip','it.concurrent.only','it.concurrent.sequential','it.concurrent.todo','it.concurrent.fails','it.sequential.skip','it.sequential.only','it.sequential.concurrent','it.sequential.todo','it.sequential.fails','it.todo.skip','it.todo.only','it.todo.concurrent','it.todo.sequential','it.todo.fails','it.fails.skip','it.fails.only','it.fails.concurrent','it.fails.sequential','it.fails.todo','it.extend.skip','it.extend.only','it.extend.concurrent','it.extend.sequential','it.extend.todo','it.extend.fails','it.skipIf.skip','it.skipIf.only','it.skipIf.concurrent','it.skipIf.sequential','it.skipIf.todo','it.skipIf.fails','it.runIf.skip','it.runIf.only','it.runIf.concurrent','it.runIf.sequential','it.runIf.todo','it.runIf.fails','it.skip.each','it.only.each','it.concurrent.each','it.sequential.each','it.todo.each','it.fails.each','it.extend.skipIf','it.extend.runIf','it.extend.each','it.skipIf.each','it.runIf.each','it.skip.only.concurrent','it.skip.only.sequential','it.skip.only.todo','it.skip.only.fails','it.skip.concurrent.only','it.skip.concurrent.sequential','it.skip.concurrent.todo','it.skip.concurrent.fails','it.skip.sequential.only','it.skip.sequential.concurrent','it.skip.sequential.todo','it.skip.sequential.fails','it.skip.todo.only','it.skip.todo.concurrent','it.skip.todo.sequential','it.skip.todo.fails','it.skip.fails.only','it.skip.fails.concurrent','it.skip.fails.sequential','it.skip.fails.todo','it.only.skip.concurrent','it.only.skip.sequential','it.only.skip.todo','it.only.skip.fails','it.only.concurrent.skip','it.only.concurrent.sequential','it.only.concurrent.todo','it.only.concurrent.fails','it.only.sequential.skip','it.only.sequential.concurrent','it.only.sequential.todo','it.only.sequential.fails','it.only.todo.skip','it.only.todo.concurrent','it.only.todo.sequential','it.only.todo.fails','it.only.fails.skip','it.only.fails.concurrent','it.only.fails.sequential','it.only.fails.todo','it.concurrent.skip.only','it.concurrent.skip.sequential','it.concurrent.skip.todo','it.concurrent.skip.fails','it.concurrent.only.skip','it.concurrent.only.sequential','it.concurrent.only.todo','it.concurrent.only.fails','it.concurrent.sequential.skip','it.concurrent.sequential.only','it.concurrent.sequential.todo','it.concurrent.sequential.fails','it.concurrent.todo.skip','it.concurrent.todo.only','it.concurrent.todo.sequential','it.concurrent.todo.fails','it.concurrent.fails.skip','it.concurrent.fails.only','it.concurrent.fails.sequential','it.concurrent.fails.todo','it.sequential.skip.only','it.sequential.skip.concurrent','it.sequential.skip.todo','it.sequential.skip.fails','it.sequential.only.skip','it.sequential.only.concurrent','it.sequential.only.todo','it.sequential.only.fails','it.sequential.concurrent.skip','it.sequential.concurrent.only','it.sequential.concurrent.todo','it.sequential.concurrent.fails','it.sequential.todo.skip','it.sequential.todo.only','it.sequential.todo.concurrent','it.sequential.todo.fails','it.sequential.fails.skip','it.sequential.fails.only','it.sequential.fails.concurrent','it.sequential.fails.todo','it.todo.skip.only','it.todo.skip.concurrent','it.todo.skip.sequential','it.todo.skip.fails','it.todo.only.skip','it.todo.only.concurrent','it.todo.only.sequential','it.todo.only.fails','it.todo.concurrent.skip','it.todo.concurrent.only','it.todo.concurrent.sequential','it.todo.concurrent.fails','it.todo.sequential.skip','it.todo.sequential.only','it.todo.sequential.concurrent','it.todo.sequential.fails','it.todo.fails.skip','it.todo.fails.only','it.todo.fails.concurrent','it.todo.fails.sequential','it.fails.skip.only','it.fails.skip.concurrent','it.fails.skip.sequential','it.fails.skip.todo','it.fails.only.skip','it.fails.only.concurrent','it.fails.only.sequential','it.fails.only.todo','it.fails.concurrent.skip','it.fails.concurrent.only','it.fails.concurrent.sequential','it.fails.concurrent.todo','it.fails.sequential.skip','it.fails.sequential.only','it.fails.sequential.concurrent','it.fails.sequential.todo','it.fails.todo.skip','it.fails.todo.only','it.fails.todo.concurrent','it.fails.todo.sequential','it.extend.skip.only','it.extend.skip.concurrent','it.extend.skip.sequential','it.extend.skip.todo','it.extend.skip.fails','it.extend.only.skip','it.extend.only.concurrent','it.extend.only.sequential','it.extend.only.todo','it.extend.only.fails','it.extend.concurrent.skip','it.extend.concurrent.only','it.extend.concurrent.sequential','it.extend.concurrent.todo','it.extend.concurrent.fails','it.extend.sequential.skip','it.extend.sequential.only','it.extend.sequential.concurrent','it.extend.sequential.todo','it.extend.sequential.fails','it.extend.todo.skip','it.extend.todo.only','it.extend.todo.concurrent','it.extend.todo.sequential','it.extend.todo.fails','it.extend.fails.skip','it.extend.fails.only','it.extend.fails.concurrent','it.extend.fails.sequential','it.extend.fails.todo','it.skipIf.skip.only','it.skipIf.skip.concurrent','it.skipIf.skip.sequential','it.skipIf.skip.todo','it.skipIf.skip.fails','it.skipIf.only.skip','it.skipIf.only.concurrent','it.skipIf.only.sequential','it.skipIf.only.todo','it.skipIf.only.fails','it.skipIf.concurrent.skip','it.skipIf.concurrent.only','it.skipIf.concurrent.sequential','it.skipIf.concurrent.todo','it.skipIf.concurrent.fails','it.skipIf.sequential.skip','it.skipIf.sequential.only','it.skipIf.sequential.concurrent','it.skipIf.sequential.todo','it.skipIf.sequential.fails','it.skipIf.todo.skip','it.skipIf.todo.only','it.skipIf.todo.concurrent','it.skipIf.todo.sequential','it.skipIf.todo.fails','it.skipIf.fails.skip','it.skipIf.fails.only','it.skipIf.fails.concurrent','it.skipIf.fails.sequential','it.skipIf.fails.todo','it.runIf.skip.only','it.runIf.skip.concurrent','it.runIf.skip.sequential','it.runIf.skip.todo','it.runIf.skip.fails','it.runIf.only.skip','it.runIf.only.concurrent','it.runIf.only.sequential','it.runIf.only.todo','it.runIf.only.fails','it.runIf.concurrent.skip','it.runIf.concurrent.only','it.runIf.concurrent.sequential','it.runIf.concurrent.todo','it.runIf.concurrent.fails','it.runIf.sequential.skip','it.runIf.sequential.only','it.runIf.sequential.concurrent','it.runIf.sequential.todo','it.runIf.sequential.fails','it.runIf.todo.skip','it.runIf.todo.only','it.runIf.todo.concurrent','it.runIf.todo.sequential','it.runIf.todo.fails','it.runIf.fails.skip','it.runIf.fails.only','it.runIf.fails.concurrent','it.runIf.fails.sequential','it.runIf.fails.todo','it.skip.only.each','it.skip.concurrent.each','it.skip.sequential.each','it.skip.todo.each','it.skip.fails.each','it.only.skip.each','it.only.concurrent.each','it.only.sequential.each','it.only.todo.each','it.only.fails.each','it.concurrent.skip.each','it.concurrent.only.each','it.concurrent.sequential.each','it.concurrent.todo.each','it.concurrent.fails.each','it.sequential.skip.each','it.sequential.only.each','it.sequential.concurrent.each','it.sequential.todo.each','it.sequential.fails.each','it.todo.skip.each','it.todo.only.each','it.todo.concurrent.each','it.todo.sequential.each','it.todo.fails.each','it.fails.skip.each','it.fails.only.each','it.fails.concurrent.each','it.fails.sequential.each','it.fails.todo.each','it.extend.skipIf.skip','it.extend.skipIf.only','it.extend.skipIf.concurrent','it.extend.skipIf.sequential','it.extend.skipIf.todo','it.extend.skipIf.fails','it.extend.runIf.skip','it.extend.runIf.only','it.extend.runIf.concurrent','it.extend.runIf.sequential','it.extend.runIf.todo','it.extend.runIf.fails','it.extend.skip.each','it.extend.only.each','it.extend.concurrent.each','it.extend.sequential.each','it.extend.todo.each','it.extend.fails.each','it.skipIf.skip.each','it.skipIf.only.each','it.skipIf.concurrent.each','it.skipIf.sequential.each','it.skipIf.todo.each','it.skipIf.fails.each','it.runIf.skip.each','it.runIf.only.each','it.runIf.concurrent.each','it.runIf.sequential.each','it.runIf.todo.each','it.runIf.fails.each','it.extend.skipIf.each','it.extend.runIf.each','test','test.skip','test.only','test.concurrent','test.sequential','test.todo','test.fails','test.extend','test.skipIf','test.runIf','test.each','test.skip.only','test.skip.concurrent','test.skip.sequential','test.skip.todo','test.skip.fails','test.only.skip','test.only.concurrent','test.only.sequential','test.only.todo','test.only.fails','test.concurrent.skip','test.concurrent.only','test.concurrent.sequential','test.concurrent.todo','test.concurrent.fails','test.sequential.skip','test.sequential.only','test.sequential.concurrent','test.sequential.todo','test.sequential.fails','test.todo.skip','test.todo.only','test.todo.concurrent','test.todo.sequential','test.todo.fails','test.fails.skip','test.fails.only','test.fails.concurrent','test.fails.sequential','test.fails.todo','test.extend.skip','test.extend.only','test.extend.concurrent','test.extend.sequential','test.extend.todo','test.extend.fails','test.skipIf.skip','test.skipIf.only','test.skipIf.concurrent','test.skipIf.sequential','test.skipIf.todo','test.skipIf.fails','test.runIf.skip','test.runIf.only','test.runIf.concurrent','test.runIf.sequential','test.runIf.todo','test.runIf.fails','test.skip.each','test.only.each','test.concurrent.each','test.sequential.each','test.todo.each','test.fails.each','test.extend.skipIf','test.extend.runIf','test.extend.each','test.skipIf.each','test.runIf.each','test.skip.only.concurrent','test.skip.only.sequential','test.skip.only.todo','test.skip.only.fails','test.skip.concurrent.only','test.skip.concurrent.sequential','test.skip.concurrent.todo','test.skip.concurrent.fails','test.skip.sequential.only','test.skip.sequential.concurrent','test.skip.sequential.todo','test.skip.sequential.fails','test.skip.todo.only','test.skip.todo.concurrent','test.skip.todo.sequential','test.skip.todo.fails','test.skip.fails.only','test.skip.fails.concurrent','test.skip.fails.sequential','test.skip.fails.todo','test.only.skip.concurrent','test.only.skip.sequential','test.only.skip.todo','test.only.skip.fails','test.only.concurrent.skip','test.only.concurrent.sequential','test.only.concurrent.todo','test.only.concurrent.fails','test.only.sequential.skip','test.only.sequential.concurrent','test.only.sequential.todo','test.only.sequential.fails','test.only.todo.skip','test.only.todo.concurrent','test.only.todo.sequential','test.only.todo.fails','test.only.fails.skip','test.only.fails.concurrent','test.only.fails.sequential','test.only.fails.todo','test.concurrent.skip.only','test.concurrent.skip.sequential','test.concurrent.skip.todo','test.concurrent.skip.fails','test.concurrent.only.skip','test.concurrent.only.sequential','test.concurrent.only.todo','test.concurrent.only.fails','test.concurrent.sequential.skip','test.concurrent.sequential.only','test.concurrent.sequential.todo','test.concurrent.sequential.fails','test.concurrent.todo.skip','test.concurrent.todo.only','test.concurrent.todo.sequential','test.concurrent.todo.fails','test.concurrent.fails.skip','test.concurrent.fails.only','test.concurrent.fails.sequential','test.concurrent.fails.todo','test.sequential.skip.only','test.sequential.skip.concurrent','test.sequential.skip.todo','test.sequential.skip.fails','test.sequential.only.skip','test.sequential.only.concurrent','test.sequential.only.todo','test.sequential.only.fails','test.sequential.concurrent.skip','test.sequential.concurrent.only','test.sequential.concurrent.todo','test.sequential.concurrent.fails','test.sequential.todo.skip','test.sequential.todo.only','test.sequential.todo.concurrent','test.sequential.todo.fails','test.sequential.fails.skip','test.sequential.fails.only','test.sequential.fails.concurrent','test.sequential.fails.todo','test.todo.skip.only','test.todo.skip.concurrent','test.todo.skip.sequential','test.todo.skip.fails','test.todo.only.skip','test.todo.only.concurrent','test.todo.only.sequential','test.todo.only.fails','test.todo.concurrent.skip','test.todo.concurrent.only','test.todo.concurrent.sequential','test.todo.concurrent.fails','test.todo.sequential.skip','test.todo.sequential.only','test.todo.sequential.concurrent','test.todo.sequential.fails','test.todo.fails.skip','test.todo.fails.only','test.todo.fails.concurrent','test.todo.fails.sequential','test.fails.skip.only','test.fails.skip.concurrent','test.fails.skip.sequential','test.fails.skip.todo','test.fails.only.skip','test.fails.only.concurrent','test.fails.only.sequential','test.fails.only.todo','test.fails.concurrent.skip','test.fails.concurrent.only','test.fails.concurrent.sequential','test.fails.concurrent.todo','test.fails.sequential.skip','test.fails.sequential.only','test.fails.sequential.concurrent','test.fails.sequential.todo','test.fails.todo.skip','test.fails.todo.only','test.fails.todo.concurrent','test.fails.todo.sequential','test.extend.skip.only','test.extend.skip.concurrent','test.extend.skip.sequential','test.extend.skip.todo','test.extend.skip.fails','test.extend.only.skip','test.extend.only.concurrent','test.extend.only.sequential','test.extend.only.todo','test.extend.only.fails','test.extend.concurrent.skip','test.extend.concurrent.only','test.extend.concurrent.sequential','test.extend.concurrent.todo','test.extend.concurrent.fails','test.extend.sequential.skip','test.extend.sequential.only','test.extend.sequential.concurrent','test.extend.sequential.todo','test.extend.sequential.fails','test.extend.todo.skip','test.extend.todo.only','test.extend.todo.concurrent','test.extend.todo.sequential','test.extend.todo.fails','test.extend.fails.skip','test.extend.fails.only','test.extend.fails.concurrent','test.extend.fails.sequential','test.extend.fails.todo','test.skipIf.skip.only','test.skipIf.skip.concurrent','test.skipIf.skip.sequential','test.skipIf.skip.todo','test.skipIf.skip.fails','test.skipIf.only.skip','test.skipIf.only.concurrent','test.skipIf.only.sequential','test.skipIf.only.todo','test.skipIf.only.fails','test.skipIf.concurrent.skip','test.skipIf.concurrent.only','test.skipIf.concurrent.sequential','test.skipIf.concurrent.todo','test.skipIf.concurrent.fails','test.skipIf.sequential.skip','test.skipIf.sequential.only','test.skipIf.sequential.concurrent','test.skipIf.sequential.todo','test.skipIf.sequential.fails','test.skipIf.todo.skip','test.skipIf.todo.only','test.skipIf.todo.concurrent','test.skipIf.todo.sequential','test.skipIf.todo.fails','test.skipIf.fails.skip','test.skipIf.fails.only','test.skipIf.fails.concurrent','test.skipIf.fails.sequential','test.skipIf.fails.todo','test.runIf.skip.only','test.runIf.skip.concurrent','test.runIf.skip.sequential','test.runIf.skip.todo','test.runIf.skip.fails','test.runIf.only.skip','test.runIf.only.concurrent','test.runIf.only.sequential','test.runIf.only.todo','test.runIf.only.fails','test.runIf.concurrent.skip','test.runIf.concurrent.only','test.runIf.concurrent.sequential','test.runIf.concurrent.todo','test.runIf.concurrent.fails','test.runIf.sequential.skip','test.runIf.sequential.only','test.runIf.sequential.concurrent','test.runIf.sequential.todo','test.runIf.sequential.fails','test.runIf.todo.skip','test.runIf.todo.only','test.runIf.todo.concurrent','test.runIf.todo.sequential','test.runIf.todo.fails','test.runIf.fails.skip','test.runIf.fails.only','test.runIf.fails.concurrent','test.runIf.fails.sequential','test.runIf.fails.todo','test.skip.only.each','test.skip.concurrent.each','test.skip.sequential.each','test.skip.todo.each','test.skip.fails.each','test.only.skip.each','test.only.concurrent.each','test.only.sequential.each','test.only.todo.each','test.only.fails.each','test.concurrent.skip.each','test.concurrent.only.each','test.concurrent.sequential.each','test.concurrent.todo.each','test.concurrent.fails.each','test.sequential.skip.each','test.sequential.only.each','test.sequential.concurrent.each','test.sequential.todo.each','test.sequential.fails.each','test.todo.skip.each','test.todo.only.each','test.todo.concurrent.each','test.todo.sequential.each','test.todo.fails.each','test.fails.skip.each','test.fails.only.each','test.fails.concurrent.each','test.fails.sequential.each','test.fails.todo.each','test.extend.skipIf.skip','test.extend.skipIf.only','test.extend.skipIf.concurrent','test.extend.skipIf.sequential','test.extend.skipIf.todo','test.extend.skipIf.fails','test.extend.runIf.skip','test.extend.runIf.only','test.extend.runIf.concurrent','test.extend.runIf.sequential','test.extend.runIf.todo','test.extend.runIf.fails','test.extend.skip.each','test.extend.only.each','test.extend.concurrent.each','test.extend.sequential.each','test.extend.todo.each','test.extend.fails.each','test.skipIf.skip.each','test.skipIf.only.each','test.skipIf.concurrent.each','test.skipIf.sequential.each','test.skipIf.todo.each','test.skipIf.fails.each','test.runIf.skip.each','test.runIf.only.each','test.runIf.concurrent.each','test.runIf.sequential.each','test.runIf.todo.each','test.runIf.fails.each','test.extend.skipIf.each','test.extend.runIf.each','bench','bench.skip','bench.only','bench.todo','bench.skipIf','bench.runIf','bench.skip.only','bench.skip.todo','bench.only.skip','bench.only.todo','bench.todo.skip','bench.todo.only','bench.skipIf.skip','bench.skipIf.only','bench.skipIf.todo','bench.runIf.skip','bench.runIf.only','bench.runIf.todo','bench.skip.only.todo','bench.skip.todo.only','bench.only.skip.todo','bench.only.todo.skip','bench.todo.skip.only','bench.todo.only.skip','bench.skipIf.skip.only','bench.skipIf.skip.todo','bench.skipIf.only.skip','bench.skipIf.only.todo','bench.skipIf.todo.skip','bench.skipIf.todo.only','bench.runIf.skip.only','bench.runIf.skip.todo','bench.runIf.only.skip','bench.runIf.only.todo','bench.runIf.todo.skip','bench.runIf.todo.only','describe','describe.skip','describe.only','describe.concurrent','describe.sequential','describe.shuffle','describe.todo','describe.skipIf','describe.runIf','describe.each','describe.skip.only','describe.skip.concurrent','describe.skip.sequential','describe.skip.shuffle','describe.skip.todo','describe.only.skip','describe.only.concurrent','describe.only.sequential','describe.only.shuffle','describe.only.todo','describe.concurrent.skip','describe.concurrent.only','describe.concurrent.sequential','describe.concurrent.shuffle','describe.concurrent.todo','describe.sequential.skip','describe.sequential.only','describe.sequential.concurrent','describe.sequential.shuffle','describe.sequential.todo','describe.shuffle.skip','describe.shuffle.only','describe.shuffle.concurrent','describe.shuffle.sequential','describe.shuffle.todo','describe.todo.skip','describe.todo.only','describe.todo.concurrent','describe.todo.sequential','describe.todo.shuffle','describe.skipIf.skip','describe.skipIf.only','describe.skipIf.concurrent','describe.skipIf.sequential','describe.skipIf.shuffle','describe.skipIf.todo','describe.runIf.skip','describe.runIf.only','describe.runIf.concurrent','describe.runIf.sequential','describe.runIf.shuffle','describe.runIf.todo','describe.skip.each','describe.only.each','describe.concurrent.each','describe.sequential.each','describe.shuffle.each','describe.todo.each','describe.skipIf.each','describe.runIf.each','describe.skip.only.concurrent','describe.skip.only.sequential','describe.skip.only.shuffle','describe.skip.only.todo','describe.skip.concurrent.only','describe.skip.concurrent.sequential','describe.skip.concurrent.shuffle','describe.skip.concurrent.todo','describe.skip.sequential.only','describe.skip.sequential.concurrent','describe.skip.sequential.shuffle','describe.skip.sequential.todo','describe.skip.shuffle.only','describe.skip.shuffle.concurrent','describe.skip.shuffle.sequential','describe.skip.shuffle.todo','describe.skip.todo.only','describe.skip.todo.concurrent','describe.skip.todo.sequential','describe.skip.todo.shuffle','describe.only.skip.concurrent','describe.only.skip.sequential','describe.only.skip.shuffle','describe.only.skip.todo','describe.only.concurrent.skip','describe.only.concurrent.sequential','describe.only.concurrent.shuffle','describe.only.concurrent.todo','describe.only.sequential.skip','describe.only.sequential.concurrent','describe.only.sequential.shuffle','describe.only.sequential.todo','describe.only.shuffle.skip','describe.only.shuffle.concurrent','describe.only.shuffle.sequential','describe.only.shuffle.todo','describe.only.todo.skip','describe.only.todo.concurrent','describe.only.todo.sequential','describe.only.todo.shuffle','describe.concurrent.skip.only','describe.concurrent.skip.sequential','describe.concurrent.skip.shuffle','describe.concurrent.skip.todo','describe.concurrent.only.skip','describe.concurrent.only.sequential','describe.concurrent.only.shuffle','describe.concurrent.only.todo','describe.concurrent.sequential.skip','describe.concurrent.sequential.only','describe.concurrent.sequential.shuffle','describe.concurrent.sequential.todo','describe.concurrent.shuffle.skip','describe.concurrent.shuffle.only','describe.concurrent.shuffle.sequential','describe.concurrent.shuffle.todo','describe.concurrent.todo.skip','describe.concurrent.todo.only','describe.concurrent.todo.sequential','describe.concurrent.todo.shuffle','describe.sequential.skip.only','describe.sequential.skip.concurrent','describe.sequential.skip.shuffle','describe.sequential.skip.todo','describe.sequential.only.skip','describe.sequential.only.concurrent','describe.sequential.only.shuffle','describe.sequential.only.todo','describe.sequential.concurrent.skip','describe.sequential.concurrent.only','describe.sequential.concurrent.shuffle','describe.sequential.concurrent.todo','describe.sequential.shuffle.skip','describe.sequential.shuffle.only','describe.sequential.shuffle.concurrent','describe.sequential.shuffle.todo','describe.sequential.todo.skip','describe.sequential.todo.only','describe.sequential.todo.concurrent','describe.sequential.todo.shuffle','describe.shuffle.skip.only','describe.shuffle.skip.concurrent','describe.shuffle.skip.sequential','describe.shuffle.skip.todo','describe.shuffle.only.skip','describe.shuffle.only.concurrent','describe.shuffle.only.sequential','describe.shuffle.only.todo','describe.shuffle.concurrent.skip','describe.shuffle.concurrent.only','describe.shuffle.concurrent.sequential','describe.shuffle.concurrent.todo','describe.shuffle.sequential.skip','describe.shuffle.sequential.only','describe.shuffle.sequential.concurrent','describe.shuffle.sequential.todo','describe.shuffle.todo.skip','describe.shuffle.todo.only','describe.shuffle.todo.concurrent','describe.shuffle.todo.sequential','describe.todo.skip.only','describe.todo.skip.concurrent','describe.todo.skip.sequential','describe.todo.skip.shuffle','describe.todo.only.skip','describe.todo.only.concurrent','describe.todo.only.sequential','describe.todo.only.shuffle','describe.todo.concurrent.skip','describe.todo.concurrent.only','describe.todo.concurrent.sequential','describe.todo.concurrent.shuffle','describe.todo.sequential.skip','describe.todo.sequential.only','describe.todo.sequential.concurrent','describe.todo.sequential.shuffle','describe.todo.shuffle.skip','describe.todo.shuffle.only','describe.todo.shuffle.concurrent','describe.todo.shuffle.sequential','describe.skipIf.skip.only','describe.skipIf.skip.concurrent','describe.skipIf.skip.sequential','describe.skipIf.skip.shuffle','describe.skipIf.skip.todo','describe.skipIf.only.skip','describe.skipIf.only.concurrent','describe.skipIf.only.sequential','describe.skipIf.only.shuffle','describe.skipIf.only.todo','describe.skipIf.concurrent.skip','describe.skipIf.concurrent.only','describe.skipIf.concurrent.sequential','describe.skipIf.concurrent.shuffle','describe.skipIf.concurrent.todo','describe.skipIf.sequential.skip','describe.skipIf.sequential.only','describe.skipIf.sequential.concurrent','describe.skipIf.sequential.shuffle','describe.skipIf.sequential.todo','describe.skipIf.shuffle.skip','describe.skipIf.shuffle.only','describe.skipIf.shuffle.concurrent','describe.skipIf.shuffle.sequential','describe.skipIf.shuffle.todo','describe.skipIf.todo.skip','describe.skipIf.todo.only','describe.skipIf.todo.concurrent','describe.skipIf.todo.sequential','describe.skipIf.todo.shuffle','describe.runIf.skip.only','describe.runIf.skip.concurrent','describe.runIf.skip.sequential','describe.runIf.skip.shuffle','describe.runIf.skip.todo','describe.runIf.only.skip','describe.runIf.only.concurrent','describe.runIf.only.sequential','describe.runIf.only.shuffle','describe.runIf.only.todo','describe.runIf.concurrent.skip','describe.runIf.concurrent.only','describe.runIf.concurrent.sequential','describe.runIf.concurrent.shuffle','describe.runIf.concurrent.todo','describe.runIf.sequential.skip','describe.runIf.sequential.only','describe.runIf.sequential.concurrent','describe.runIf.sequential.shuffle','describe.runIf.sequential.todo','describe.runIf.shuffle.skip','describe.runIf.shuffle.only','describe.runIf.shuffle.concurrent','describe.runIf.shuffle.sequential','describe.runIf.shuffle.todo','describe.runIf.todo.skip','describe.runIf.todo.only','describe.runIf.todo.concurrent','describe.runIf.todo.sequential','describe.runIf.todo.shuffle','describe.skip.only.each','describe.skip.concurrent.each','describe.skip.sequential.each','describe.skip.shuffle.each','describe.skip.todo.each','describe.only.skip.each','describe.only.concurrent.each','describe.only.sequential.each','describe.only.shuffle.each','describe.only.todo.each','describe.concurrent.skip.each','describe.concurrent.only.each','describe.concurrent.sequential.each','describe.concurrent.shuffle.each','describe.concurrent.todo.each','describe.sequential.skip.each','describe.sequential.only.each','describe.sequential.concurrent.each','describe.sequential.shuffle.each','describe.sequential.todo.each','describe.shuffle.skip.each','describe.shuffle.only.each','describe.shuffle.concurrent.each','describe.shuffle.sequential.each','describe.shuffle.todo.each','describe.todo.skip.each','describe.todo.only.each','describe.todo.concurrent.each','describe.todo.sequential.each','describe.todo.shuffle.each','describe.skipIf.skip.each','describe.skipIf.only.each','describe.skipIf.concurrent.each','describe.skipIf.sequential.each','describe.skipIf.shuffle.each','describe.skipIf.todo.each','describe.runIf.skip.each','describe.runIf.only.each','describe.runIf.concurrent.each','describe.runIf.sequential.each','describe.runIf.shuffle.each','describe.runIf.todo.each','suite','suite.skip','suite.only','suite.concurrent','suite.sequential','suite.shuffle','suite.todo','suite.skipIf','suite.runIf','suite.each','suite.skip.only','suite.skip.concurrent','suite.skip.sequential','suite.skip.shuffle','suite.skip.todo','suite.only.skip','suite.only.concurrent','suite.only.sequential','suite.only.shuffle','suite.only.todo','suite.concurrent.skip','suite.concurrent.only','suite.concurrent.sequential','suite.concurrent.shuffle','suite.concurrent.todo','suite.sequential.skip','suite.sequential.only','suite.sequential.concurrent','suite.sequential.shuffle','suite.sequential.todo','suite.shuffle.skip','suite.shuffle.only','suite.shuffle.concurrent','suite.shuffle.sequential','suite.shuffle.todo','suite.todo.skip','suite.todo.only','suite.todo.concurrent','suite.todo.sequential','suite.todo.shuffle','suite.skipIf.skip','suite.skipIf.only','suite.skipIf.concurrent','suite.skipIf.sequential','suite.skipIf.shuffle','suite.skipIf.todo','suite.runIf.skip','suite.runIf.only','suite.runIf.concurrent','suite.runIf.sequential','suite.runIf.shuffle','suite.runIf.todo','suite.skip.each','suite.only.each','suite.concurrent.each','suite.sequential.each','suite.shuffle.each','suite.todo.each','suite.skipIf.each','suite.runIf.each','suite.skip.only.concurrent','suite.skip.only.sequential','suite.skip.only.shuffle','suite.skip.only.todo','suite.skip.concurrent.only','suite.skip.concurrent.sequential','suite.skip.concurrent.shuffle','suite.skip.concurrent.todo','suite.skip.sequential.only','suite.skip.sequential.concurrent','suite.skip.sequential.shuffle','suite.skip.sequential.todo','suite.skip.shuffle.only','suite.skip.shuffle.concurrent','suite.skip.shuffle.sequential','suite.skip.shuffle.todo','suite.skip.todo.only','suite.skip.todo.concurrent','suite.skip.todo.sequential','suite.skip.todo.shuffle','suite.only.skip.concurrent','suite.only.skip.sequential','suite.only.skip.shuffle','suite.only.skip.todo','suite.only.concurrent.skip','suite.only.concurrent.sequential','suite.only.concurrent.shuffle','suite.only.concurrent.todo','suite.only.sequential.skip','suite.only.sequential.concurrent','suite.only.sequential.shuffle','suite.only.sequential.todo','suite.only.shuffle.skip','suite.only.shuffle.concurrent','suite.only.shuffle.sequential','suite.only.shuffle.todo','suite.only.todo.skip','suite.only.todo.concurrent','suite.only.todo.sequential','suite.only.todo.shuffle','suite.concurrent.skip.only','suite.concurrent.skip.sequential','suite.concurrent.skip.shuffle','suite.concurrent.skip.todo','suite.concurrent.only.skip','suite.concurrent.only.sequential','suite.concurrent.only.shuffle','suite.concurrent.only.todo','suite.concurrent.sequential.skip','suite.concurrent.sequential.only','suite.concurrent.sequential.shuffle','suite.concurrent.sequential.todo','suite.concurrent.shuffle.skip','suite.concurrent.shuffle.only','suite.concurrent.shuffle.sequential','suite.concurrent.shuffle.todo','suite.concurrent.todo.skip','suite.concurrent.todo.only','suite.concurrent.todo.sequential','suite.concurrent.todo.shuffle','suite.sequential.skip.only','suite.sequential.skip.concurrent','suite.sequential.skip.shuffle','suite.sequential.skip.todo','suite.sequential.only.skip','suite.sequential.only.concurrent','suite.sequential.only.shuffle','suite.sequential.only.todo','suite.sequential.concurrent.skip','suite.sequential.concurrent.only','suite.sequential.concurrent.shuffle','suite.sequential.concurrent.todo','suite.sequential.shuffle.skip','suite.sequential.shuffle.only','suite.sequential.shuffle.concurrent','suite.sequential.shuffle.todo','suite.sequential.todo.skip','suite.sequential.todo.only','suite.sequential.todo.concurrent','suite.sequential.todo.shuffle','suite.shuffle.skip.only','suite.shuffle.skip.concurrent','suite.shuffle.skip.sequential','suite.shuffle.skip.todo','suite.shuffle.only.skip','suite.shuffle.only.concurrent','suite.shuffle.only.sequential','suite.shuffle.only.todo','suite.shuffle.concurrent.skip','suite.shuffle.concurrent.only','suite.shuffle.concurrent.sequential','suite.shuffle.concurrent.todo','suite.shuffle.sequential.skip','suite.shuffle.sequential.only','suite.shuffle.sequential.concurrent','suite.shuffle.sequential.todo','suite.shuffle.todo.skip','suite.shuffle.todo.only','suite.shuffle.todo.concurrent','suite.shuffle.todo.sequential','suite.todo.skip.only','suite.todo.skip.concurrent','suite.todo.skip.sequential','suite.todo.skip.shuffle','suite.todo.only.skip','suite.todo.only.concurrent','suite.todo.only.sequential','suite.todo.only.shuffle','suite.todo.concurrent.skip','suite.todo.concurrent.only','suite.todo.concurrent.sequential','suite.todo.concurrent.shuffle','suite.todo.sequential.skip','suite.todo.sequential.only','suite.todo.sequential.concurrent','suite.todo.sequential.shuffle','suite.todo.shuffle.skip','suite.todo.shuffle.only','suite.todo.shuffle.concurrent','suite.todo.shuffle.sequential','suite.skipIf.skip.only','suite.skipIf.skip.concurrent','suite.skipIf.skip.sequential','suite.skipIf.skip.shuffle','suite.skipIf.skip.todo','suite.skipIf.only.skip','suite.skipIf.only.concurrent','suite.skipIf.only.sequential','suite.skipIf.only.shuffle','suite.skipIf.only.todo','suite.skipIf.concurrent.skip','suite.skipIf.concurrent.only','suite.skipIf.concurrent.sequential','suite.skipIf.concurrent.shuffle','suite.skipIf.concurrent.todo','suite.skipIf.sequential.skip','suite.skipIf.sequential.only','suite.skipIf.sequential.concurrent','suite.skipIf.sequential.shuffle','suite.skipIf.sequential.todo','suite.skipIf.shuffle.skip','suite.skipIf.shuffle.only','suite.skipIf.shuffle.concurrent','suite.skipIf.shuffle.sequential','suite.skipIf.shuffle.todo','suite.skipIf.todo.skip','suite.skipIf.todo.only','suite.skipIf.todo.concurrent','suite.skipIf.todo.sequential','suite.skipIf.todo.shuffle','suite.runIf.skip.only','suite.runIf.skip.concurrent','suite.runIf.skip.sequential','suite.runIf.skip.shuffle','suite.runIf.skip.todo','suite.runIf.only.skip','suite.runIf.only.concurrent','suite.runIf.only.sequential','suite.runIf.only.shuffle','suite.runIf.only.todo','suite.runIf.concurrent.skip','suite.runIf.concurrent.only','suite.runIf.concurrent.sequential','suite.runIf.concurrent.shuffle','suite.runIf.concurrent.todo','suite.runIf.sequential.skip','suite.runIf.sequential.only','suite.runIf.sequential.concurrent','suite.runIf.sequential.shuffle','suite.runIf.sequential.todo','suite.runIf.shuffle.skip','suite.runIf.shuffle.only','suite.runIf.shuffle.concurrent','suite.runIf.shuffle.sequential','suite.runIf.shuffle.todo','suite.runIf.todo.skip','suite.runIf.todo.only','suite.runIf.todo.concurrent','suite.runIf.todo.sequential','suite.runIf.todo.shuffle','suite.skip.only.each','suite.skip.concurrent.each','suite.skip.sequential.each','suite.skip.shuffle.each','suite.skip.todo.each','suite.only.skip.each','suite.only.concurrent.each','suite.only.sequential.each','suite.only.shuffle.each','suite.only.todo.each','suite.concurrent.skip.each','suite.concurrent.only.each','suite.concurrent.sequential.each','suite.concurrent.shuffle.each','suite.concurrent.todo.each','suite.sequential.skip.each','suite.sequential.only.each','suite.sequential.concurrent.each','suite.sequential.shuffle.each','suite.sequential.todo.each','suite.shuffle.skip.each','suite.shuffle.only.each','suite.shuffle.concurrent.each','suite.shuffle.sequential.each','suite.shuffle.todo.each','suite.todo.skip.each','suite.todo.only.each','suite.todo.concurrent.each','suite.todo.sequential.each','suite.todo.shuffle.each','suite.skipIf.skip.each','suite.skipIf.only.each','suite.skipIf.concurrent.each','suite.skipIf.sequential.each','suite.skipIf.shuffle.each','suite.skipIf.todo.each','suite.runIf.skip.each','suite.runIf.only.each','suite.runIf.concurrent.each','suite.runIf.sequential.each','suite.runIf.shuffle.each','suite.runIf.todo.each','xtest','xtest.each','xit','xit.each','fit','xdescribe','xdescribe.each','fdescribe']) \ No newline at end of file +export const ValidVitestFnCallChains = new Set(['beforeEach', 'beforeAll', 'afterEach', 'afterAll', 'it', 'it.skip', 'it.only', 'it.concurrent', 'it.sequential', 'it.todo', 'it.fails', 'it.extend', 'it.skipIf', 'it.runIf', 'it.each', 'it.skip.only', 'it.skip.concurrent', 'it.skip.sequential', 'it.skip.todo', 'it.skip.fails', 'it.only.skip', 'it.only.concurrent', 'it.only.sequential', 'it.only.todo', 'it.only.fails', 'it.concurrent.skip', 'it.concurrent.only', 'it.concurrent.sequential', 'it.concurrent.todo', 'it.concurrent.fails', 'it.sequential.skip', 'it.sequential.only', 'it.sequential.concurrent', 'it.sequential.todo', 'it.sequential.fails', 'it.todo.skip', 'it.todo.only', 'it.todo.concurrent', 'it.todo.sequential', 'it.todo.fails', 'it.fails.skip', 'it.fails.only', 'it.fails.concurrent', 'it.fails.sequential', 'it.fails.todo', 'it.extend.skip', 'it.extend.only', 'it.extend.concurrent', 'it.extend.sequential', 'it.extend.todo', 'it.extend.fails', 'it.skipIf.skip', 'it.skipIf.only', 'it.skipIf.concurrent', 'it.skipIf.sequential', 'it.skipIf.todo', 'it.skipIf.fails', 'it.runIf.skip', 'it.runIf.only', 'it.runIf.concurrent', 'it.runIf.sequential', 'it.runIf.todo', 'it.runIf.fails', 'it.skip.each', 'it.only.each', 'it.concurrent.each', 'it.sequential.each', 'it.todo.each', 'it.fails.each', 'it.extend.skipIf', 'it.extend.runIf', 'it.extend.each', 'it.skipIf.each', 'it.runIf.each', 'it.skip.only.concurrent', 'it.skip.only.sequential', 'it.skip.only.todo', 'it.skip.only.fails', 'it.skip.concurrent.only', 'it.skip.concurrent.sequential', 'it.skip.concurrent.todo', 'it.skip.concurrent.fails', 'it.skip.sequential.only', 'it.skip.sequential.concurrent', 'it.skip.sequential.todo', 'it.skip.sequential.fails', 'it.skip.todo.only', 'it.skip.todo.concurrent', 'it.skip.todo.sequential', 'it.skip.todo.fails', 'it.skip.fails.only', 'it.skip.fails.concurrent', 'it.skip.fails.sequential', 'it.skip.fails.todo', 'it.only.skip.concurrent', 'it.only.skip.sequential', 'it.only.skip.todo', 'it.only.skip.fails', 'it.only.concurrent.skip', 'it.only.concurrent.sequential', 'it.only.concurrent.todo', 'it.only.concurrent.fails', 'it.only.sequential.skip', 'it.only.sequential.concurrent', 'it.only.sequential.todo', 'it.only.sequential.fails', 'it.only.todo.skip', 'it.only.todo.concurrent', 'it.only.todo.sequential', 'it.only.todo.fails', 'it.only.fails.skip', 'it.only.fails.concurrent', 'it.only.fails.sequential', 'it.only.fails.todo', 'it.concurrent.skip.only', 'it.concurrent.skip.sequential', 'it.concurrent.skip.todo', 'it.concurrent.skip.fails', 'it.concurrent.only.skip', 'it.concurrent.only.sequential', 'it.concurrent.only.todo', 'it.concurrent.only.fails', 'it.concurrent.sequential.skip', 'it.concurrent.sequential.only', 'it.concurrent.sequential.todo', 'it.concurrent.sequential.fails', 'it.concurrent.todo.skip', 'it.concurrent.todo.only', 'it.concurrent.todo.sequential', 'it.concurrent.todo.fails', 'it.concurrent.fails.skip', 'it.concurrent.fails.only', 'it.concurrent.fails.sequential', 'it.concurrent.fails.todo', 'it.sequential.skip.only', 'it.sequential.skip.concurrent', 'it.sequential.skip.todo', 'it.sequential.skip.fails', 'it.sequential.only.skip', 'it.sequential.only.concurrent', 'it.sequential.only.todo', 'it.sequential.only.fails', 'it.sequential.concurrent.skip', 'it.sequential.concurrent.only', 'it.sequential.concurrent.todo', 'it.sequential.concurrent.fails', 'it.sequential.todo.skip', 'it.sequential.todo.only', 'it.sequential.todo.concurrent', 'it.sequential.todo.fails', 'it.sequential.fails.skip', 'it.sequential.fails.only', 'it.sequential.fails.concurrent', 'it.sequential.fails.todo', 'it.todo.skip.only', 'it.todo.skip.concurrent', 'it.todo.skip.sequential', 'it.todo.skip.fails', 'it.todo.only.skip', 'it.todo.only.concurrent', 'it.todo.only.sequential', 'it.todo.only.fails', 'it.todo.concurrent.skip', 'it.todo.concurrent.only', 'it.todo.concurrent.sequential', 'it.todo.concurrent.fails', 'it.todo.sequential.skip', 'it.todo.sequential.only', 'it.todo.sequential.concurrent', 'it.todo.sequential.fails', 'it.todo.fails.skip', 'it.todo.fails.only', 'it.todo.fails.concurrent', 'it.todo.fails.sequential', 'it.fails.skip.only', 'it.fails.skip.concurrent', 'it.fails.skip.sequential', 'it.fails.skip.todo', 'it.fails.only.skip', 'it.fails.only.concurrent', 'it.fails.only.sequential', 'it.fails.only.todo', 'it.fails.concurrent.skip', 'it.fails.concurrent.only', 'it.fails.concurrent.sequential', 'it.fails.concurrent.todo', 'it.fails.sequential.skip', 'it.fails.sequential.only', 'it.fails.sequential.concurrent', 'it.fails.sequential.todo', 'it.fails.todo.skip', 'it.fails.todo.only', 'it.fails.todo.concurrent', 'it.fails.todo.sequential', 'it.extend.skip.only', 'it.extend.skip.concurrent', 'it.extend.skip.sequential', 'it.extend.skip.todo', 'it.extend.skip.fails', 'it.extend.only.skip', 'it.extend.only.concurrent', 'it.extend.only.sequential', 'it.extend.only.todo', 'it.extend.only.fails', 'it.extend.concurrent.skip', 'it.extend.concurrent.only', 'it.extend.concurrent.sequential', 'it.extend.concurrent.todo', 'it.extend.concurrent.fails', 'it.extend.sequential.skip', 'it.extend.sequential.only', 'it.extend.sequential.concurrent', 'it.extend.sequential.todo', 'it.extend.sequential.fails', 'it.extend.todo.skip', 'it.extend.todo.only', 'it.extend.todo.concurrent', 'it.extend.todo.sequential', 'it.extend.todo.fails', 'it.extend.fails.skip', 'it.extend.fails.only', 'it.extend.fails.concurrent', 'it.extend.fails.sequential', 'it.extend.fails.todo', 'it.skipIf.skip.only', 'it.skipIf.skip.concurrent', 'it.skipIf.skip.sequential', 'it.skipIf.skip.todo', 'it.skipIf.skip.fails', 'it.skipIf.only.skip', 'it.skipIf.only.concurrent', 'it.skipIf.only.sequential', 'it.skipIf.only.todo', 'it.skipIf.only.fails', 'it.skipIf.concurrent.skip', 'it.skipIf.concurrent.only', 'it.skipIf.concurrent.sequential', 'it.skipIf.concurrent.todo', 'it.skipIf.concurrent.fails', 'it.skipIf.sequential.skip', 'it.skipIf.sequential.only', 'it.skipIf.sequential.concurrent', 'it.skipIf.sequential.todo', 'it.skipIf.sequential.fails', 'it.skipIf.todo.skip', 'it.skipIf.todo.only', 'it.skipIf.todo.concurrent', 'it.skipIf.todo.sequential', 'it.skipIf.todo.fails', 'it.skipIf.fails.skip', 'it.skipIf.fails.only', 'it.skipIf.fails.concurrent', 'it.skipIf.fails.sequential', 'it.skipIf.fails.todo', 'it.runIf.skip.only', 'it.runIf.skip.concurrent', 'it.runIf.skip.sequential', 'it.runIf.skip.todo', 'it.runIf.skip.fails', 'it.runIf.only.skip', 'it.runIf.only.concurrent', 'it.runIf.only.sequential', 'it.runIf.only.todo', 'it.runIf.only.fails', 'it.runIf.concurrent.skip', 'it.runIf.concurrent.only', 'it.runIf.concurrent.sequential', 'it.runIf.concurrent.todo', 'it.runIf.concurrent.fails', 'it.runIf.sequential.skip', 'it.runIf.sequential.only', 'it.runIf.sequential.concurrent', 'it.runIf.sequential.todo', 'it.runIf.sequential.fails', 'it.runIf.todo.skip', 'it.runIf.todo.only', 'it.runIf.todo.concurrent', 'it.runIf.todo.sequential', 'it.runIf.todo.fails', 'it.runIf.fails.skip', 'it.runIf.fails.only', 'it.runIf.fails.concurrent', 'it.runIf.fails.sequential', 'it.runIf.fails.todo', 'it.skip.only.each', 'it.skip.concurrent.each', 'it.skip.sequential.each', 'it.skip.todo.each', 'it.skip.fails.each', 'it.only.skip.each', 'it.only.concurrent.each', 'it.only.sequential.each', 'it.only.todo.each', 'it.only.fails.each', 'it.concurrent.skip.each', 'it.concurrent.only.each', 'it.concurrent.sequential.each', 'it.concurrent.todo.each', 'it.concurrent.fails.each', 'it.sequential.skip.each', 'it.sequential.only.each', 'it.sequential.concurrent.each', 'it.sequential.todo.each', 'it.sequential.fails.each', 'it.todo.skip.each', 'it.todo.only.each', 'it.todo.concurrent.each', 'it.todo.sequential.each', 'it.todo.fails.each', 'it.fails.skip.each', 'it.fails.only.each', 'it.fails.concurrent.each', 'it.fails.sequential.each', 'it.fails.todo.each', 'it.extend.skipIf.skip', 'it.extend.skipIf.only', 'it.extend.skipIf.concurrent', 'it.extend.skipIf.sequential', 'it.extend.skipIf.todo', 'it.extend.skipIf.fails', 'it.extend.runIf.skip', 'it.extend.runIf.only', 'it.extend.runIf.concurrent', 'it.extend.runIf.sequential', 'it.extend.runIf.todo', 'it.extend.runIf.fails', 'it.extend.skip.each', 'it.extend.only.each', 'it.extend.concurrent.each', 'it.extend.sequential.each', 'it.extend.todo.each', 'it.extend.fails.each', 'it.skipIf.skip.each', 'it.skipIf.only.each', 'it.skipIf.concurrent.each', 'it.skipIf.sequential.each', 'it.skipIf.todo.each', 'it.skipIf.fails.each', 'it.runIf.skip.each', 'it.runIf.only.each', 'it.runIf.concurrent.each', 'it.runIf.sequential.each', 'it.runIf.todo.each', 'it.runIf.fails.each', 'it.extend.skipIf.each', 'it.extend.runIf.each', 'test', 'test.skip', 'test.only', 'test.concurrent', 'test.sequential', 'test.todo', 'test.fails', 'test.extend', 'test.skipIf', 'test.runIf', 'test.each', 'test.skip.only', 'test.skip.concurrent', 'test.skip.sequential', 'test.skip.todo', 'test.skip.fails', 'test.only.skip', 'test.only.concurrent', 'test.only.sequential', 'test.only.todo', 'test.only.fails', 'test.concurrent.skip', 'test.concurrent.only', 'test.concurrent.sequential', 'test.concurrent.todo', 'test.concurrent.fails', 'test.sequential.skip', 'test.sequential.only', 'test.sequential.concurrent', 'test.sequential.todo', 'test.sequential.fails', 'test.todo.skip', 'test.todo.only', 'test.todo.concurrent', 'test.todo.sequential', 'test.todo.fails', 'test.fails.skip', 'test.fails.only', 'test.fails.concurrent', 'test.fails.sequential', 'test.fails.todo', 'test.extend.skip', 'test.extend.only', 'test.extend.concurrent', 'test.extend.sequential', 'test.extend.todo', 'test.extend.fails', 'test.skipIf.skip', 'test.skipIf.only', 'test.skipIf.concurrent', 'test.skipIf.sequential', 'test.skipIf.todo', 'test.skipIf.fails', 'test.runIf.skip', 'test.runIf.only', 'test.runIf.concurrent', 'test.runIf.sequential', 'test.runIf.todo', 'test.runIf.fails', 'test.skip.each', 'test.only.each', 'test.concurrent.each', 'test.sequential.each', 'test.todo.each', 'test.fails.each', 'test.extend.skipIf', 'test.extend.runIf', 'test.extend.each', 'test.skipIf.each', 'test.runIf.each', 'test.skip.only.concurrent', 'test.skip.only.sequential', 'test.skip.only.todo', 'test.skip.only.fails', 'test.skip.concurrent.only', 'test.skip.concurrent.sequential', 'test.skip.concurrent.todo', 'test.skip.concurrent.fails', 'test.skip.sequential.only', 'test.skip.sequential.concurrent', 'test.skip.sequential.todo', 'test.skip.sequential.fails', 'test.skip.todo.only', 'test.skip.todo.concurrent', 'test.skip.todo.sequential', 'test.skip.todo.fails', 'test.skip.fails.only', 'test.skip.fails.concurrent', 'test.skip.fails.sequential', 'test.skip.fails.todo', 'test.only.skip.concurrent', 'test.only.skip.sequential', 'test.only.skip.todo', 'test.only.skip.fails', 'test.only.concurrent.skip', 'test.only.concurrent.sequential', 'test.only.concurrent.todo', 'test.only.concurrent.fails', 'test.only.sequential.skip', 'test.only.sequential.concurrent', 'test.only.sequential.todo', 'test.only.sequential.fails', 'test.only.todo.skip', 'test.only.todo.concurrent', 'test.only.todo.sequential', 'test.only.todo.fails', 'test.only.fails.skip', 'test.only.fails.concurrent', 'test.only.fails.sequential', 'test.only.fails.todo', 'test.concurrent.skip.only', 'test.concurrent.skip.sequential', 'test.concurrent.skip.todo', 'test.concurrent.skip.fails', 'test.concurrent.only.skip', 'test.concurrent.only.sequential', 'test.concurrent.only.todo', 'test.concurrent.only.fails', 'test.concurrent.sequential.skip', 'test.concurrent.sequential.only', 'test.concurrent.sequential.todo', 'test.concurrent.sequential.fails', 'test.concurrent.todo.skip', 'test.concurrent.todo.only', 'test.concurrent.todo.sequential', 'test.concurrent.todo.fails', 'test.concurrent.fails.skip', 'test.concurrent.fails.only', 'test.concurrent.fails.sequential', 'test.concurrent.fails.todo', 'test.sequential.skip.only', 'test.sequential.skip.concurrent', 'test.sequential.skip.todo', 'test.sequential.skip.fails', 'test.sequential.only.skip', 'test.sequential.only.concurrent', 'test.sequential.only.todo', 'test.sequential.only.fails', 'test.sequential.concurrent.skip', 'test.sequential.concurrent.only', 'test.sequential.concurrent.todo', 'test.sequential.concurrent.fails', 'test.sequential.todo.skip', 'test.sequential.todo.only', 'test.sequential.todo.concurrent', 'test.sequential.todo.fails', 'test.sequential.fails.skip', 'test.sequential.fails.only', 'test.sequential.fails.concurrent', 'test.sequential.fails.todo', 'test.todo.skip.only', 'test.todo.skip.concurrent', 'test.todo.skip.sequential', 'test.todo.skip.fails', 'test.todo.only.skip', 'test.todo.only.concurrent', 'test.todo.only.sequential', 'test.todo.only.fails', 'test.todo.concurrent.skip', 'test.todo.concurrent.only', 'test.todo.concurrent.sequential', 'test.todo.concurrent.fails', 'test.todo.sequential.skip', 'test.todo.sequential.only', 'test.todo.sequential.concurrent', 'test.todo.sequential.fails', 'test.todo.fails.skip', 'test.todo.fails.only', 'test.todo.fails.concurrent', 'test.todo.fails.sequential', 'test.fails.skip.only', 'test.fails.skip.concurrent', 'test.fails.skip.sequential', 'test.fails.skip.todo', 'test.fails.only.skip', 'test.fails.only.concurrent', 'test.fails.only.sequential', 'test.fails.only.todo', 'test.fails.concurrent.skip', 'test.fails.concurrent.only', 'test.fails.concurrent.sequential', 'test.fails.concurrent.todo', 'test.fails.sequential.skip', 'test.fails.sequential.only', 'test.fails.sequential.concurrent', 'test.fails.sequential.todo', 'test.fails.todo.skip', 'test.fails.todo.only', 'test.fails.todo.concurrent', 'test.fails.todo.sequential', 'test.extend.skip.only', 'test.extend.skip.concurrent', 'test.extend.skip.sequential', 'test.extend.skip.todo', 'test.extend.skip.fails', 'test.extend.only.skip', 'test.extend.only.concurrent', 'test.extend.only.sequential', 'test.extend.only.todo', 'test.extend.only.fails', 'test.extend.concurrent.skip', 'test.extend.concurrent.only', 'test.extend.concurrent.sequential', 'test.extend.concurrent.todo', 'test.extend.concurrent.fails', 'test.extend.sequential.skip', 'test.extend.sequential.only', 'test.extend.sequential.concurrent', 'test.extend.sequential.todo', 'test.extend.sequential.fails', 'test.extend.todo.skip', 'test.extend.todo.only', 'test.extend.todo.concurrent', 'test.extend.todo.sequential', 'test.extend.todo.fails', 'test.extend.fails.skip', 'test.extend.fails.only', 'test.extend.fails.concurrent', 'test.extend.fails.sequential', 'test.extend.fails.todo', 'test.skipIf.skip.only', 'test.skipIf.skip.concurrent', 'test.skipIf.skip.sequential', 'test.skipIf.skip.todo', 'test.skipIf.skip.fails', 'test.skipIf.only.skip', 'test.skipIf.only.concurrent', 'test.skipIf.only.sequential', 'test.skipIf.only.todo', 'test.skipIf.only.fails', 'test.skipIf.concurrent.skip', 'test.skipIf.concurrent.only', 'test.skipIf.concurrent.sequential', 'test.skipIf.concurrent.todo', 'test.skipIf.concurrent.fails', 'test.skipIf.sequential.skip', 'test.skipIf.sequential.only', 'test.skipIf.sequential.concurrent', 'test.skipIf.sequential.todo', 'test.skipIf.sequential.fails', 'test.skipIf.todo.skip', 'test.skipIf.todo.only', 'test.skipIf.todo.concurrent', 'test.skipIf.todo.sequential', 'test.skipIf.todo.fails', 'test.skipIf.fails.skip', 'test.skipIf.fails.only', 'test.skipIf.fails.concurrent', 'test.skipIf.fails.sequential', 'test.skipIf.fails.todo', 'test.runIf.skip.only', 'test.runIf.skip.concurrent', 'test.runIf.skip.sequential', 'test.runIf.skip.todo', 'test.runIf.skip.fails', 'test.runIf.only.skip', 'test.runIf.only.concurrent', 'test.runIf.only.sequential', 'test.runIf.only.todo', 'test.runIf.only.fails', 'test.runIf.concurrent.skip', 'test.runIf.concurrent.only', 'test.runIf.concurrent.sequential', 'test.runIf.concurrent.todo', 'test.runIf.concurrent.fails', 'test.runIf.sequential.skip', 'test.runIf.sequential.only', 'test.runIf.sequential.concurrent', 'test.runIf.sequential.todo', 'test.runIf.sequential.fails', 'test.runIf.todo.skip', 'test.runIf.todo.only', 'test.runIf.todo.concurrent', 'test.runIf.todo.sequential', 'test.runIf.todo.fails', 'test.runIf.fails.skip', 'test.runIf.fails.only', 'test.runIf.fails.concurrent', 'test.runIf.fails.sequential', 'test.runIf.fails.todo', 'test.skip.only.each', 'test.skip.concurrent.each', 'test.skip.sequential.each', 'test.skip.todo.each', 'test.skip.fails.each', 'test.only.skip.each', 'test.only.concurrent.each', 'test.only.sequential.each', 'test.only.todo.each', 'test.only.fails.each', 'test.concurrent.skip.each', 'test.concurrent.only.each', 'test.concurrent.sequential.each', 'test.concurrent.todo.each', 'test.concurrent.fails.each', 'test.sequential.skip.each', 'test.sequential.only.each', 'test.sequential.concurrent.each', 'test.sequential.todo.each', 'test.sequential.fails.each', 'test.todo.skip.each', 'test.todo.only.each', 'test.todo.concurrent.each', 'test.todo.sequential.each', 'test.todo.fails.each', 'test.fails.skip.each', 'test.fails.only.each', 'test.fails.concurrent.each', 'test.fails.sequential.each', 'test.fails.todo.each', 'test.extend.skipIf.skip', 'test.extend.skipIf.only', 'test.extend.skipIf.concurrent', 'test.extend.skipIf.sequential', 'test.extend.skipIf.todo', 'test.extend.skipIf.fails', 'test.extend.runIf.skip', 'test.extend.runIf.only', 'test.extend.runIf.concurrent', 'test.extend.runIf.sequential', 'test.extend.runIf.todo', 'test.extend.runIf.fails', 'test.extend.skip.each', 'test.extend.only.each', 'test.extend.concurrent.each', 'test.extend.sequential.each', 'test.extend.todo.each', 'test.extend.fails.each', 'test.skipIf.skip.each', 'test.skipIf.only.each', 'test.skipIf.concurrent.each', 'test.skipIf.sequential.each', 'test.skipIf.todo.each', 'test.skipIf.fails.each', 'test.runIf.skip.each', 'test.runIf.only.each', 'test.runIf.concurrent.each', 'test.runIf.sequential.each', 'test.runIf.todo.each', 'test.runIf.fails.each', 'test.extend.skipIf.each', 'test.extend.runIf.each', 'bench', 'bench.skip', 'bench.only', 'bench.todo', 'bench.skipIf', 'bench.runIf', 'bench.skip.only', 'bench.skip.todo', 'bench.only.skip', 'bench.only.todo', 'bench.todo.skip', 'bench.todo.only', 'bench.skipIf.skip', 'bench.skipIf.only', 'bench.skipIf.todo', 'bench.runIf.skip', 'bench.runIf.only', 'bench.runIf.todo', 'bench.skip.only.todo', 'bench.skip.todo.only', 'bench.only.skip.todo', 'bench.only.todo.skip', 'bench.todo.skip.only', 'bench.todo.only.skip', 'bench.skipIf.skip.only', 'bench.skipIf.skip.todo', 'bench.skipIf.only.skip', 'bench.skipIf.only.todo', 'bench.skipIf.todo.skip', 'bench.skipIf.todo.only', 'bench.runIf.skip.only', 'bench.runIf.skip.todo', 'bench.runIf.only.skip', 'bench.runIf.only.todo', 'bench.runIf.todo.skip', 'bench.runIf.todo.only', 'describe', 'describe.skip', 'describe.only', 'describe.concurrent', 'describe.sequential', 'describe.shuffle', 'describe.todo', 'describe.skipIf', 'describe.runIf', 'describe.each', 'describe.skip.only', 'describe.skip.concurrent', 'describe.skip.sequential', 'describe.skip.shuffle', 'describe.skip.todo', 'describe.only.skip', 'describe.only.concurrent', 'describe.only.sequential', 'describe.only.shuffle', 'describe.only.todo', 'describe.concurrent.skip', 'describe.concurrent.only', 'describe.concurrent.sequential', 'describe.concurrent.shuffle', 'describe.concurrent.todo', 'describe.sequential.skip', 'describe.sequential.only', 'describe.sequential.concurrent', 'describe.sequential.shuffle', 'describe.sequential.todo', 'describe.shuffle.skip', 'describe.shuffle.only', 'describe.shuffle.concurrent', 'describe.shuffle.sequential', 'describe.shuffle.todo', 'describe.todo.skip', 'describe.todo.only', 'describe.todo.concurrent', 'describe.todo.sequential', 'describe.todo.shuffle', 'describe.skipIf.skip', 'describe.skipIf.only', 'describe.skipIf.concurrent', 'describe.skipIf.sequential', 'describe.skipIf.shuffle', 'describe.skipIf.todo', 'describe.runIf.skip', 'describe.runIf.only', 'describe.runIf.concurrent', 'describe.runIf.sequential', 'describe.runIf.shuffle', 'describe.runIf.todo', 'describe.skip.each', 'describe.only.each', 'describe.concurrent.each', 'describe.sequential.each', 'describe.shuffle.each', 'describe.todo.each', 'describe.skipIf.each', 'describe.runIf.each', 'describe.skip.only.concurrent', 'describe.skip.only.sequential', 'describe.skip.only.shuffle', 'describe.skip.only.todo', 'describe.skip.concurrent.only', 'describe.skip.concurrent.sequential', 'describe.skip.concurrent.shuffle', 'describe.skip.concurrent.todo', 'describe.skip.sequential.only', 'describe.skip.sequential.concurrent', 'describe.skip.sequential.shuffle', 'describe.skip.sequential.todo', 'describe.skip.shuffle.only', 'describe.skip.shuffle.concurrent', 'describe.skip.shuffle.sequential', 'describe.skip.shuffle.todo', 'describe.skip.todo.only', 'describe.skip.todo.concurrent', 'describe.skip.todo.sequential', 'describe.skip.todo.shuffle', 'describe.only.skip.concurrent', 'describe.only.skip.sequential', 'describe.only.skip.shuffle', 'describe.only.skip.todo', 'describe.only.concurrent.skip', 'describe.only.concurrent.sequential', 'describe.only.concurrent.shuffle', 'describe.only.concurrent.todo', 'describe.only.sequential.skip', 'describe.only.sequential.concurrent', 'describe.only.sequential.shuffle', 'describe.only.sequential.todo', 'describe.only.shuffle.skip', 'describe.only.shuffle.concurrent', 'describe.only.shuffle.sequential', 'describe.only.shuffle.todo', 'describe.only.todo.skip', 'describe.only.todo.concurrent', 'describe.only.todo.sequential', 'describe.only.todo.shuffle', 'describe.concurrent.skip.only', 'describe.concurrent.skip.sequential', 'describe.concurrent.skip.shuffle', 'describe.concurrent.skip.todo', 'describe.concurrent.only.skip', 'describe.concurrent.only.sequential', 'describe.concurrent.only.shuffle', 'describe.concurrent.only.todo', 'describe.concurrent.sequential.skip', 'describe.concurrent.sequential.only', 'describe.concurrent.sequential.shuffle', 'describe.concurrent.sequential.todo', 'describe.concurrent.shuffle.skip', 'describe.concurrent.shuffle.only', 'describe.concurrent.shuffle.sequential', 'describe.concurrent.shuffle.todo', 'describe.concurrent.todo.skip', 'describe.concurrent.todo.only', 'describe.concurrent.todo.sequential', 'describe.concurrent.todo.shuffle', 'describe.sequential.skip.only', 'describe.sequential.skip.concurrent', 'describe.sequential.skip.shuffle', 'describe.sequential.skip.todo', 'describe.sequential.only.skip', 'describe.sequential.only.concurrent', 'describe.sequential.only.shuffle', 'describe.sequential.only.todo', 'describe.sequential.concurrent.skip', 'describe.sequential.concurrent.only', 'describe.sequential.concurrent.shuffle', 'describe.sequential.concurrent.todo', 'describe.sequential.shuffle.skip', 'describe.sequential.shuffle.only', 'describe.sequential.shuffle.concurrent', 'describe.sequential.shuffle.todo', 'describe.sequential.todo.skip', 'describe.sequential.todo.only', 'describe.sequential.todo.concurrent', 'describe.sequential.todo.shuffle', 'describe.shuffle.skip.only', 'describe.shuffle.skip.concurrent', 'describe.shuffle.skip.sequential', 'describe.shuffle.skip.todo', 'describe.shuffle.only.skip', 'describe.shuffle.only.concurrent', 'describe.shuffle.only.sequential', 'describe.shuffle.only.todo', 'describe.shuffle.concurrent.skip', 'describe.shuffle.concurrent.only', 'describe.shuffle.concurrent.sequential', 'describe.shuffle.concurrent.todo', 'describe.shuffle.sequential.skip', 'describe.shuffle.sequential.only', 'describe.shuffle.sequential.concurrent', 'describe.shuffle.sequential.todo', 'describe.shuffle.todo.skip', 'describe.shuffle.todo.only', 'describe.shuffle.todo.concurrent', 'describe.shuffle.todo.sequential', 'describe.todo.skip.only', 'describe.todo.skip.concurrent', 'describe.todo.skip.sequential', 'describe.todo.skip.shuffle', 'describe.todo.only.skip', 'describe.todo.only.concurrent', 'describe.todo.only.sequential', 'describe.todo.only.shuffle', 'describe.todo.concurrent.skip', 'describe.todo.concurrent.only', 'describe.todo.concurrent.sequential', 'describe.todo.concurrent.shuffle', 'describe.todo.sequential.skip', 'describe.todo.sequential.only', 'describe.todo.sequential.concurrent', 'describe.todo.sequential.shuffle', 'describe.todo.shuffle.skip', 'describe.todo.shuffle.only', 'describe.todo.shuffle.concurrent', 'describe.todo.shuffle.sequential', 'describe.skipIf.skip.only', 'describe.skipIf.skip.concurrent', 'describe.skipIf.skip.sequential', 'describe.skipIf.skip.shuffle', 'describe.skipIf.skip.todo', 'describe.skipIf.only.skip', 'describe.skipIf.only.concurrent', 'describe.skipIf.only.sequential', 'describe.skipIf.only.shuffle', 'describe.skipIf.only.todo', 'describe.skipIf.concurrent.skip', 'describe.skipIf.concurrent.only', 'describe.skipIf.concurrent.sequential', 'describe.skipIf.concurrent.shuffle', 'describe.skipIf.concurrent.todo', 'describe.skipIf.sequential.skip', 'describe.skipIf.sequential.only', 'describe.skipIf.sequential.concurrent', 'describe.skipIf.sequential.shuffle', 'describe.skipIf.sequential.todo', 'describe.skipIf.shuffle.skip', 'describe.skipIf.shuffle.only', 'describe.skipIf.shuffle.concurrent', 'describe.skipIf.shuffle.sequential', 'describe.skipIf.shuffle.todo', 'describe.skipIf.todo.skip', 'describe.skipIf.todo.only', 'describe.skipIf.todo.concurrent', 'describe.skipIf.todo.sequential', 'describe.skipIf.todo.shuffle', 'describe.runIf.skip.only', 'describe.runIf.skip.concurrent', 'describe.runIf.skip.sequential', 'describe.runIf.skip.shuffle', 'describe.runIf.skip.todo', 'describe.runIf.only.skip', 'describe.runIf.only.concurrent', 'describe.runIf.only.sequential', 'describe.runIf.only.shuffle', 'describe.runIf.only.todo', 'describe.runIf.concurrent.skip', 'describe.runIf.concurrent.only', 'describe.runIf.concurrent.sequential', 'describe.runIf.concurrent.shuffle', 'describe.runIf.concurrent.todo', 'describe.runIf.sequential.skip', 'describe.runIf.sequential.only', 'describe.runIf.sequential.concurrent', 'describe.runIf.sequential.shuffle', 'describe.runIf.sequential.todo', 'describe.runIf.shuffle.skip', 'describe.runIf.shuffle.only', 'describe.runIf.shuffle.concurrent', 'describe.runIf.shuffle.sequential', 'describe.runIf.shuffle.todo', 'describe.runIf.todo.skip', 'describe.runIf.todo.only', 'describe.runIf.todo.concurrent', 'describe.runIf.todo.sequential', 'describe.runIf.todo.shuffle', 'describe.skip.only.each', 'describe.skip.concurrent.each', 'describe.skip.sequential.each', 'describe.skip.shuffle.each', 'describe.skip.todo.each', 'describe.only.skip.each', 'describe.only.concurrent.each', 'describe.only.sequential.each', 'describe.only.shuffle.each', 'describe.only.todo.each', 'describe.concurrent.skip.each', 'describe.concurrent.only.each', 'describe.concurrent.sequential.each', 'describe.concurrent.shuffle.each', 'describe.concurrent.todo.each', 'describe.sequential.skip.each', 'describe.sequential.only.each', 'describe.sequential.concurrent.each', 'describe.sequential.shuffle.each', 'describe.sequential.todo.each', 'describe.shuffle.skip.each', 'describe.shuffle.only.each', 'describe.shuffle.concurrent.each', 'describe.shuffle.sequential.each', 'describe.shuffle.todo.each', 'describe.todo.skip.each', 'describe.todo.only.each', 'describe.todo.concurrent.each', 'describe.todo.sequential.each', 'describe.todo.shuffle.each', 'describe.skipIf.skip.each', 'describe.skipIf.only.each', 'describe.skipIf.concurrent.each', 'describe.skipIf.sequential.each', 'describe.skipIf.shuffle.each', 'describe.skipIf.todo.each', 'describe.runIf.skip.each', 'describe.runIf.only.each', 'describe.runIf.concurrent.each', 'describe.runIf.sequential.each', 'describe.runIf.shuffle.each', 'describe.runIf.todo.each', 'suite', 'suite.skip', 'suite.only', 'suite.concurrent', 'suite.sequential', 'suite.shuffle', 'suite.todo', 'suite.skipIf', 'suite.runIf', 'suite.each', 'suite.skip.only', 'suite.skip.concurrent', 'suite.skip.sequential', 'suite.skip.shuffle', 'suite.skip.todo', 'suite.only.skip', 'suite.only.concurrent', 'suite.only.sequential', 'suite.only.shuffle', 'suite.only.todo', 'suite.concurrent.skip', 'suite.concurrent.only', 'suite.concurrent.sequential', 'suite.concurrent.shuffle', 'suite.concurrent.todo', 'suite.sequential.skip', 'suite.sequential.only', 'suite.sequential.concurrent', 'suite.sequential.shuffle', 'suite.sequential.todo', 'suite.shuffle.skip', 'suite.shuffle.only', 'suite.shuffle.concurrent', 'suite.shuffle.sequential', 'suite.shuffle.todo', 'suite.todo.skip', 'suite.todo.only', 'suite.todo.concurrent', 'suite.todo.sequential', 'suite.todo.shuffle', 'suite.skipIf.skip', 'suite.skipIf.only', 'suite.skipIf.concurrent', 'suite.skipIf.sequential', 'suite.skipIf.shuffle', 'suite.skipIf.todo', 'suite.runIf.skip', 'suite.runIf.only', 'suite.runIf.concurrent', 'suite.runIf.sequential', 'suite.runIf.shuffle', 'suite.runIf.todo', 'suite.skip.each', 'suite.only.each', 'suite.concurrent.each', 'suite.sequential.each', 'suite.shuffle.each', 'suite.todo.each', 'suite.skipIf.each', 'suite.runIf.each', 'suite.skip.only.concurrent', 'suite.skip.only.sequential', 'suite.skip.only.shuffle', 'suite.skip.only.todo', 'suite.skip.concurrent.only', 'suite.skip.concurrent.sequential', 'suite.skip.concurrent.shuffle', 'suite.skip.concurrent.todo', 'suite.skip.sequential.only', 'suite.skip.sequential.concurrent', 'suite.skip.sequential.shuffle', 'suite.skip.sequential.todo', 'suite.skip.shuffle.only', 'suite.skip.shuffle.concurrent', 'suite.skip.shuffle.sequential', 'suite.skip.shuffle.todo', 'suite.skip.todo.only', 'suite.skip.todo.concurrent', 'suite.skip.todo.sequential', 'suite.skip.todo.shuffle', 'suite.only.skip.concurrent', 'suite.only.skip.sequential', 'suite.only.skip.shuffle', 'suite.only.skip.todo', 'suite.only.concurrent.skip', 'suite.only.concurrent.sequential', 'suite.only.concurrent.shuffle', 'suite.only.concurrent.todo', 'suite.only.sequential.skip', 'suite.only.sequential.concurrent', 'suite.only.sequential.shuffle', 'suite.only.sequential.todo', 'suite.only.shuffle.skip', 'suite.only.shuffle.concurrent', 'suite.only.shuffle.sequential', 'suite.only.shuffle.todo', 'suite.only.todo.skip', 'suite.only.todo.concurrent', 'suite.only.todo.sequential', 'suite.only.todo.shuffle', 'suite.concurrent.skip.only', 'suite.concurrent.skip.sequential', 'suite.concurrent.skip.shuffle', 'suite.concurrent.skip.todo', 'suite.concurrent.only.skip', 'suite.concurrent.only.sequential', 'suite.concurrent.only.shuffle', 'suite.concurrent.only.todo', 'suite.concurrent.sequential.skip', 'suite.concurrent.sequential.only', 'suite.concurrent.sequential.shuffle', 'suite.concurrent.sequential.todo', 'suite.concurrent.shuffle.skip', 'suite.concurrent.shuffle.only', 'suite.concurrent.shuffle.sequential', 'suite.concurrent.shuffle.todo', 'suite.concurrent.todo.skip', 'suite.concurrent.todo.only', 'suite.concurrent.todo.sequential', 'suite.concurrent.todo.shuffle', 'suite.sequential.skip.only', 'suite.sequential.skip.concurrent', 'suite.sequential.skip.shuffle', 'suite.sequential.skip.todo', 'suite.sequential.only.skip', 'suite.sequential.only.concurrent', 'suite.sequential.only.shuffle', 'suite.sequential.only.todo', 'suite.sequential.concurrent.skip', 'suite.sequential.concurrent.only', 'suite.sequential.concurrent.shuffle', 'suite.sequential.concurrent.todo', 'suite.sequential.shuffle.skip', 'suite.sequential.shuffle.only', 'suite.sequential.shuffle.concurrent', 'suite.sequential.shuffle.todo', 'suite.sequential.todo.skip', 'suite.sequential.todo.only', 'suite.sequential.todo.concurrent', 'suite.sequential.todo.shuffle', 'suite.shuffle.skip.only', 'suite.shuffle.skip.concurrent', 'suite.shuffle.skip.sequential', 'suite.shuffle.skip.todo', 'suite.shuffle.only.skip', 'suite.shuffle.only.concurrent', 'suite.shuffle.only.sequential', 'suite.shuffle.only.todo', 'suite.shuffle.concurrent.skip', 'suite.shuffle.concurrent.only', 'suite.shuffle.concurrent.sequential', 'suite.shuffle.concurrent.todo', 'suite.shuffle.sequential.skip', 'suite.shuffle.sequential.only', 'suite.shuffle.sequential.concurrent', 'suite.shuffle.sequential.todo', 'suite.shuffle.todo.skip', 'suite.shuffle.todo.only', 'suite.shuffle.todo.concurrent', 'suite.shuffle.todo.sequential', 'suite.todo.skip.only', 'suite.todo.skip.concurrent', 'suite.todo.skip.sequential', 'suite.todo.skip.shuffle', 'suite.todo.only.skip', 'suite.todo.only.concurrent', 'suite.todo.only.sequential', 'suite.todo.only.shuffle', 'suite.todo.concurrent.skip', 'suite.todo.concurrent.only', 'suite.todo.concurrent.sequential', 'suite.todo.concurrent.shuffle', 'suite.todo.sequential.skip', 'suite.todo.sequential.only', 'suite.todo.sequential.concurrent', 'suite.todo.sequential.shuffle', 'suite.todo.shuffle.skip', 'suite.todo.shuffle.only', 'suite.todo.shuffle.concurrent', 'suite.todo.shuffle.sequential', 'suite.skipIf.skip.only', 'suite.skipIf.skip.concurrent', 'suite.skipIf.skip.sequential', 'suite.skipIf.skip.shuffle', 'suite.skipIf.skip.todo', 'suite.skipIf.only.skip', 'suite.skipIf.only.concurrent', 'suite.skipIf.only.sequential', 'suite.skipIf.only.shuffle', 'suite.skipIf.only.todo', 'suite.skipIf.concurrent.skip', 'suite.skipIf.concurrent.only', 'suite.skipIf.concurrent.sequential', 'suite.skipIf.concurrent.shuffle', 'suite.skipIf.concurrent.todo', 'suite.skipIf.sequential.skip', 'suite.skipIf.sequential.only', 'suite.skipIf.sequential.concurrent', 'suite.skipIf.sequential.shuffle', 'suite.skipIf.sequential.todo', 'suite.skipIf.shuffle.skip', 'suite.skipIf.shuffle.only', 'suite.skipIf.shuffle.concurrent', 'suite.skipIf.shuffle.sequential', 'suite.skipIf.shuffle.todo', 'suite.skipIf.todo.skip', 'suite.skipIf.todo.only', 'suite.skipIf.todo.concurrent', 'suite.skipIf.todo.sequential', 'suite.skipIf.todo.shuffle', 'suite.runIf.skip.only', 'suite.runIf.skip.concurrent', 'suite.runIf.skip.sequential', 'suite.runIf.skip.shuffle', 'suite.runIf.skip.todo', 'suite.runIf.only.skip', 'suite.runIf.only.concurrent', 'suite.runIf.only.sequential', 'suite.runIf.only.shuffle', 'suite.runIf.only.todo', 'suite.runIf.concurrent.skip', 'suite.runIf.concurrent.only', 'suite.runIf.concurrent.sequential', 'suite.runIf.concurrent.shuffle', 'suite.runIf.concurrent.todo', 'suite.runIf.sequential.skip', 'suite.runIf.sequential.only', 'suite.runIf.sequential.concurrent', 'suite.runIf.sequential.shuffle', 'suite.runIf.sequential.todo', 'suite.runIf.shuffle.skip', 'suite.runIf.shuffle.only', 'suite.runIf.shuffle.concurrent', 'suite.runIf.shuffle.sequential', 'suite.runIf.shuffle.todo', 'suite.runIf.todo.skip', 'suite.runIf.todo.only', 'suite.runIf.todo.concurrent', 'suite.runIf.todo.sequential', 'suite.runIf.todo.shuffle', 'suite.skip.only.each', 'suite.skip.concurrent.each', 'suite.skip.sequential.each', 'suite.skip.shuffle.each', 'suite.skip.todo.each', 'suite.only.skip.each', 'suite.only.concurrent.each', 'suite.only.sequential.each', 'suite.only.shuffle.each', 'suite.only.todo.each', 'suite.concurrent.skip.each', 'suite.concurrent.only.each', 'suite.concurrent.sequential.each', 'suite.concurrent.shuffle.each', 'suite.concurrent.todo.each', 'suite.sequential.skip.each', 'suite.sequential.only.each', 'suite.sequential.concurrent.each', 'suite.sequential.shuffle.each', 'suite.sequential.todo.each', 'suite.shuffle.skip.each', 'suite.shuffle.only.each', 'suite.shuffle.concurrent.each', 'suite.shuffle.sequential.each', 'suite.shuffle.todo.each', 'suite.todo.skip.each', 'suite.todo.only.each', 'suite.todo.concurrent.each', 'suite.todo.sequential.each', 'suite.todo.shuffle.each', 'suite.skipIf.skip.each', 'suite.skipIf.only.each', 'suite.skipIf.concurrent.each', 'suite.skipIf.sequential.each', 'suite.skipIf.shuffle.each', 'suite.skipIf.todo.each', 'suite.runIf.skip.each', 'suite.runIf.only.each', 'suite.runIf.concurrent.each', 'suite.runIf.sequential.each', 'suite.runIf.shuffle.each', 'suite.runIf.todo.each', 'xtest', 'xtest.each', 'xit', 'xit.each', 'fit', 'xdescribe', 'xdescribe.each', 'fdescribe']) diff --git a/tests/no-conditional-in-test.test.ts b/tests/no-conditional-in-test.test.ts index 884bf76..a21c138 100644 --- a/tests/no-conditional-in-test.test.ts +++ b/tests/no-conditional-in-test.test.ts @@ -28,7 +28,7 @@ ruleTester.run(`${RULE_NAME}-conditional expressions`, rule, { ] }) -//ruleTester.run(`${RULE_NAME}-switch statements`, rule, { +// ruleTester.run(`${RULE_NAME}-switch statements`, rule, { // valid: [ // 'it(\'foo\', () => {})', // `const values = something.map(thing => { @@ -39,7 +39,7 @@ ruleTester.run(`${RULE_NAME}-conditional expressions`, rule, { // return thing.bar; // } // }); - + // it('valid', () => { // expect(values).toStrictEqual(['foo']); // });` @@ -55,7 +55,7 @@ ruleTester.run(`${RULE_NAME}-conditional expressions`, rule, { // return thing.bar; // } // }); - + // expect(values).toStrictEqual(['foo']); // });`, // errors: [ @@ -120,7 +120,7 @@ ruleTester.run(`${RULE_NAME}-conditional expressions`, rule, { // return thing.bar; // } // }); - + // switch('invalid') { // case true: // expect(values).toStrictEqual(['foo']); @@ -142,7 +142,7 @@ ruleTester.run(`${RULE_NAME}-conditional expressions`, rule, { // ] // } // ] -//}) +// }) ruleTester.run(`${RULE_NAME}-if statements`, rule, { valid: [ diff --git a/tests/no-conditional-tests.test.ts b/tests/no-conditional-tests.test.ts index dc909bd..92e7232 100644 --- a/tests/no-conditional-tests.test.ts +++ b/tests/no-conditional-tests.test.ts @@ -21,7 +21,7 @@ ruleTester.run(RULE_NAME, rule, { myFunc(); } expect(true).toBe(false); - });`, + });` ], invalid: [ {