Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 1.99 KB

prefer-importing-jest-globals.md

File metadata and controls

83 lines (62 loc) · 1.99 KB

Prefer importing Jest globals (prefer-importing-jest-globals)

🔧 This rule is automatically fixable by the --fix CLI option.

This rule aims to enforce explicit imports from @jest/globals.

  1. This is useful for ensuring that the Jest APIs are imported the same way in the codebase.
  2. When you can't modify Jest's injectGlobals configuration property, this rule can help to ensure that the Jest globals are imported explicitly and facilitate a migration to @jest/globals.

Rule details

Examples of incorrect code for this rule

/* eslint jest/prefer-importing-jest-globals: "error" */

describe('foo', () => {
  it('accepts this input', () => {
    // ...
  });
});

Examples of correct code for this rule

/* eslint jest/prefer-importing-jest-globals: "error" */

import { describe, it } from '@jest/globals';

describe('foo', () => {
  it('accepts this input', () => {
    // ...
  });
});

Options

This rule can be configured as follows

{
  "type": "object",
  "properties": {
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["hook", "describe", "test", "expect", "jest", "unknown"]
      }
    }
  },
  "additionalProperties": false
}

types

A list of Jest global types to enforce explicit imports for. By default, all Jest globals are enforced.

This option is useful when you only want to enforce explicit imports for a subset of Jest globals. For instance, when migrating to ESM, you might want to enforce explicit imports only for the jest global, as of Jest's ESM documentation.

{
  'jest/prefer-importing-jest-globals': ['error', { types: ['jest'] }],
}

Further Reading