eslint-plugin-prefer-ts-paths v1.0.1
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.