@dword-design/eslint-plugin-import-alias
Version:
An ESLint plugin that enforces the use of import aliases. Also supports autofixing.
29 lines (28 loc) • 1.15 kB
TypeScript
import { loadOptions } from '@babel/core';
import { ESLintUtils } from '@typescript-eslint/utils';
export interface BabelPluginModuleResolverOptions {
alias?: Record<string, string>;
cwd?: string;
resolvePath?: (sourcePath: string, currentFile: string, options: Pick<BabelPluginModuleResolverOptions, 'alias' | 'cwd'>) => string | null;
}
interface AliasInfo {
path: string;
includePatterns: string[];
configDir: string;
}
export interface Options {
alias: Record<string, AliasInfo[]>;
aliasForSubpaths: boolean;
shouldReadTsConfig: boolean;
shouldReadBabelConfig: boolean;
resolvePath: (sourcePath: string, currentFile: string, options: Pick<BabelPluginModuleResolverOptions, 'alias' | 'cwd'>) => string | null;
}
type BabelOptions = Exclude<Parameters<typeof loadOptions>[0], undefined>;
export type OptionsInput = Omit<Partial<Options>, 'alias'> & {
alias?: Record<string, string>;
babelOptions?: BabelOptions;
};
declare const _default: ESLintUtils.RuleModule<"parentImport" | "subpathImport", [OptionsInput], unknown, ESLintUtils.RuleListener> & {
name: string;
};
export default _default;