Détail du package

eslint-import-resolver-next

kuoruan67.9kMIT0.6.0

The next resolver for eslint-plugin-import or eslint-plugin-import-x

eslint, eslint-plugin-import, eslint-plugin-import-x, eslint-import-resolver

readme

eslint-import-resolver-next

npm npm npm

The next resolver plugin for eslint-plugin-import or eslint-plugin-import-x that resolves modules with unrs-resolver.

Features

  • Resolves modules using the unrs-resolver package.
  • Support mono-repos and pnpm-workspaces.yaml.
  • Support paths alias defined in tsconfig.compilerOptions.paths or jsconfig.compilerOptions.paths.

Usage

  1. Install the package:
npm install -D eslint-import-resolver-next
  1. Add it as a resolver to your ESLint configuration.

Example config:

module.exports = {
  // ... other configuration options
  settings: {
    "import/resolver": {
      next: {
        // Options for the resolver
      },
    },
  },
};

with Mono-repo:

module.exports = {
  // ... other configuration options
  settings: {
    "import/resolver": {
      next: {
        packages: ["packages/*"],
      },
    },
  },
};

pnpm-workspaces:

module.exports = {
  // ... other configuration options
  settings: {
    "import/resolver": {
      next: {
        packages: {
          pnpmWorkspace: true,
          includeRoot: true,
        },
      },
    },
  },
};
  1. For eslint-plugin-import-x resolver-next
const { createNextImportResolver } = require("eslint-import-resolver-next");

module.exports = {
  // ... other configuration options
  settings: {
    "import-x/resolver-next": [createNextImportResolver({
      // Options for the resolver
    })],
  },
};

Options

  • roots (Array<string>): The directories to search for modules. Default: [process.cwd()].

  • alias (Record<string, string | string[]>): The paths alias. Default: undefined.

    • The alias can be set as relative paths. relative paths are resolved from the package directory.
  • tsconfig (boolean | string | object): Weather to use the tsconfig.json file. Default: true.

    • If true, the resolver will try to find the tsconfig.json file close to the source file.
    • If a string, it's the name of the file to search for or the absolute path to the file.
    • If an object, see ConfigFileOptions.
  • jsconfig (boolean | string | object): Weather to use the jsconfig.json file. Default: true.

    • If true, the resolver will try to find the jsconfig.json file close to the source file.
    • If a string, it's the name of the file to search for or the absolute path to the file.
    • If an object, see ConfigFileOptions.
  • packages (string[] | PackageOptions): The patterns or options to search for packages. Default: undefined.

    • If an array, the resolver will search for packages in the specified patterns.
    • If an object, see PackageOptions.
  • bun (boolean): Weather to enable the bun support. Default: true if bun environment is detected.

    • If true, the resolver will try to resolve bun built-in modules.

All other options are passed to the unrs-resolver package. See the unrs-resolver documentation

ConfigFileOptions

The tsconfig and jsconfig options can have the following properties:

  • configFile (string): The name of the file to search for or the absolute path to the file. Default: tsconfig.json.
  • ignore (string[]): The directories to ignore. Default: ["**/node_modules/**"].
  • references ('auto' | string[]): Support for Typescript Project References. Default: 'auto'.
    • If 'auto', the resolver will try to find the references field in the tsconfig.json file.
    • If an array, the resolver will use the specified references.

PackageOptions

A folder with a package.json file is considered a package. The PackageOptions object can have the following properties:

  • patterns (string[]): The patterns to search for packages. Default: ["."].
  • ignore (string[]): The directories to ignore. Default: ["**/node_modules/**", "**/bower_components/**", "**/test/**", "**/tests/**"].
  • includeRoot (boolean): Weather to include the root directory. Default: false.
  • pnpmWorkspace (boolean | string): Weather to use the pnpm-workspace.yaml file to find packages. Default: false.
    • If true, the resolver will try to find the pnpm-workspace.yaml file in the package directory.
    • If a string, define the path to the pnpm-workspace.yaml file.