import
(no-restricted-imports
)This rule extends the base eslint/no-restricted-imports
rule.
{ // note you must disable the base rule as it can report incorrect errors "no-restricted-imports": "off", "@typescript-eslint/no-restricted-imports": ["error"] }
See eslint/no-restricted-imports
options. This rule adds the following options:
allowTypeImports
(default: false
)
You can specify this option for a specific path or pattern as follows:
"@typescript-eslint/no-restricted-imports": ["error", { "paths": [{ "name": "import-foo", "message": "Please use import-bar instead.", "allowTypeImports": true }, { "name": "import-baz", "message": "Please use import-quux instead.", "allowTypeImports": true }] }]
When set to true
, the rule will allow Type-Only Imports.
Examples of code with the above config:
import foo from 'import-foo'; export { Foo } from 'import-foo'; import baz from 'import-baz'; export { Baz } from 'import-baz';
import { foo } from 'other-module'; import type foo from 'import-foo'; export type { Foo } from 'import-foo'; import type baz from 'import-baz'; export type { Baz } from 'import-baz';