Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 1.68 KB

no-restricted-imports.md

File metadata and controls

78 lines (55 loc) · 1.68 KB

no-restricted-imports

Disallow specified modules when loaded by import.

Rule Details

This rule extends the base eslint/no-restricted-imports rule.

How to Use

{
  // note you must disable the base rule as it can report incorrect errors
  "no-restricted-imports": "off",
  "@typescript-eslint/no-restricted-imports": ["error"]
}

Options

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:

❌ Incorrect

import foo from 'import-foo';
export { Foo } from 'import-foo';

import baz from 'import-baz';
export { Baz } from 'import-baz';

✅ Correct

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';

Attributes

  • Configs:
    • ✅ Recommended
    • 🔒 Strict
  • 🔧 Fixable
  • 💭 Requires type information