eslint-plugin-prefer-ts-paths
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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.

Package Sidebar

Install

npm i eslint-plugin-prefer-ts-paths

Weekly Downloads

60

Version

1.0.1

License

MIT

Unpacked Size

13.3 kB

Total Files

15

Last publish

Collaborators

  • kanevnik