npm.io
1.0.1 • Published 2 years ago

eslint-plugin-prefer-ts-paths

Licence
MIT
Version
1.0.1
Deps
0
Size
13 kB
Vulns
0
Weekly
0

ESLint use-import-alias Rule

This ESLint rule helps enforce the usage of alias imports instead of relative imports for specified paths, keeping your codebase clean and consistent.

Installation & Set Up

Before utilizing this rule, ensure you've configured TypeScript paths. For example:

// tsconfig.json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@components/*": ["src/components/*"],
      "@models/*": ["src/models/*"],
      "@utils/*": ["src/utils/*"]
    }
  }
}

Refer to TypeScript Module Resolution for detailed guidance.

Usage

This rule requires you to provide an array of strings, each being a path that the rule should check.

For instance:

// .eslintrc.json
{
  "rules": {
    "your-plugin-name/use-import-alias": ["error", ["components", "utils", "models"]]
  }
}
Example

Given the configuration above, this ESLint rule will:

Flag as error:

import Button from "../components/Button";
import Model from "../../models/Model";

Auto-fix to:

import Button from "@components/Button";
import Model from "@models/Model";
Testing the Rule

In the project, we also provide test cases to ensure the rule behaves as expected.

Example test:

import { RuleTester } from "eslint";
import rule from "./use-import-alias";

// ... [rest of the test code]
Configurability

This rule is designed to be flexible and adaptable to various project structures. Simply provide the array of paths as per your project’s structure and needs.

Use Case
  • Ensure clean import statements throughout your codebase.
  • Enforce a consistent use of TypeScript path aliases.
  • Reduce the hassle in updating paths during refactors or directory changes.
Further Reading
Contributing

Feel free to open issues or PRs if you find a bug or see potential improvements!

License

This project is open-source and available under MIT License.

Keywords