No description
|
Some checks failed
Build and Publish / build-and-publish (push) Failing after 51s
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| .turbo | ||
| node_modules | ||
| src | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
@lilith/eslint-plugin-import-alias
ESLint plugin to enforce @/* import path aliases with automatic fixing.
v1.1.0: Zero-Config Aggressive Mode
Flags ALL ../ parent directory imports and auto-fixes to @/* aliases.
Installation
pnpm add -D @lilith/eslint-plugin-import-alias
Usage
ESLint Flat Config (ESLint 9+)
import importAliasPlugin from '@lilith/eslint-plugin-import-alias';
export default [
{
plugins: {
'import-alias': importAliasPlugin,
},
rules: {
'import-alias/prefer-alias': 'error', // Zero config!
},
},
];
Behavior
Flags and auto-fixes:
../entities/user.entity→@/entities/user.entity../storage/storage.service→@/storage/storage.service../../dto/create.dto→@/dto/create.dto../../../config/app.config→@/config/app.config
Allows (unchanged):
./local-file- Same directory imports@/entities- Already using @/* alias@features/email/shared- Cross-component imports@lilith/ui-primitives- Published packages
Examples
Before (violations)
import { UserEntity } from '../entities/user.entity';
import { UserService } from '../services/user.service';
import { StorageService } from '../storage/storage.service';
import { CreateUserDto } from '../../dto/create-user.dto';
After (auto-fixed with eslint --fix)
import { UserEntity } from '@/entities/user.entity';
import { UserService } from '@/services/user.service';
import { StorageService } from '@/storage/storage.service';
import { CreateUserDto } from '@/dto/create-user.dto';
Advanced Configuration (Optional)
The plugin works zero-config, but legacy options are available for backward compatibility:
'import-alias/prefer-alias': [
'error',
{
architecturalDirs: ['entities', 'services'], // Ignored in v1.1.0
multiLevelThreshold: 2, // Ignored in v1.1.0
},
],
Note: In v1.1.0, all ../ imports are flagged regardless of config.
License
MIT