🔧 This rule is automatically fixable by the
--fix
CLI option.
This rule aims to enforce explicit imports from @jest/globals
.
- This is useful for ensuring that the Jest APIs are imported the same way in the codebase.
- 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
.
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', () => {
// ...
});
});
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
}
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'] }],
}