eslint-import-resolver-typescript
    TypeScript icon, indicating that this package has built-in type declarations

    2.4.0 • Public • Published

    eslint-import-resolver-typescript

    GitHub Actions type-coverage npm GitHub Release

    David Peer David David Dev

    Conventional Commits JavaScript Style Guide Code Style: Prettier codechecks.io

    This plugin adds TypeScript support to eslint-plugin-import.

    This means you can:

    • import/require files with extension .ts/.tsx!
    • Use paths defined in tsconfig.json.
    • Prefer resolve @types/* definitions over plain .js.
    • Multiple tsconfigs support just like normal.

    TOC

    Notice

    After version 2.0.0, .d.ts will take higher priority then normal .js files on resolving node_modules packages in favor of @types/* definitions.

    If you're facing some problems on rules import/default or import/named from eslint-plugin-import, do not post any issue here, because they are just working exactly as expected on our sides, take https://github.com/benmosher/eslint-plugin-import/issues/1525 as reference or post a new issue to eslint-plugin-import instead.

    Installation

    # npm
    npm i -D eslint-plugin-import @typescript-eslint/parser eslint-import-resolver-typescript
    
    # yarn
    yarn add -D eslint-plugin-import @typescript-eslint/parser eslint-import-resolver-typescript

    Configuration

    Add the following to your .eslintrc config:

    {
      "plugins": ["import"],
      "rules": {
        // turn on errors for missing imports
        "import/no-unresolved": "error"
      },
      "settings": {
        "import/parsers": {
          "@typescript-eslint/parser": [".ts", ".tsx"]
        },
        "import/resolver": {
          "typescript": {
            "alwaysTryTypes": true, // always try to resolve types under `<root>@types` directory even it doesn't contain any source code, like `@types/unist`
    
            // Choose from one of the "project" configs below or omit to use <root>/tsconfig.json by default
    
            // use <root>/path/to/folder/tsconfig.json
            "project": "path/to/folder",
    
            // Multiple tsconfigs (Useful for monorepos)
    
            // use a glob pattern
            "project": "packages/*/tsconfig.json",
    
            // use an array
            "project": [
              "packages/module-a/tsconfig.json",
              "packages/module-b/tsconfig.json"
            ],
    
            // use an array of glob patterns
            "project": [
              "packages/*/tsconfig.json",
              "other-packages/*/tsconfig.json"
            ]
          }
        }
      }
    }

    Contributing

    • Make sure your change is covered by a test import.
    • Make sure that yarn test passes without a failure.
    • Make sure that yarn lint passes without conflicts.
    • Make sure your code changes match our type-coverage settings: yarn type-coverage.

    We have GitHub Actions which will run the above commands on your PRs.

    If either fails, we won't be able to merge your PR until it's fixed.

    Install

    npm i eslint-import-resolver-typescript

    DownloadsWeekly Downloads

    1,142,576

    Version

    2.4.0

    License

    ISC

    Unpacked Size

    48.4 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar