eslint-plugin-no-barrel-files
Version:
ESLint plugin for reducing barrel-file usage in two ways:
52 lines • 1.77 kB
TypeScript
import { TSESTree } from '@typescript-eslint/utils';
import type { CompilerOptions, ModuleResolutionCache } from 'typescript';
export type MessageIds = 'missingTypeScript' | 'preferSourceImport' | 'preferSourceImports';
export type Options = [
{
fixStyle?: 'auto' | 'preserve-alias' | 'relative';
ignore?: string[];
paths?: Record<string, string | string[]>;
tsconfig?: boolean | string;
}?
];
export type ReExportTarget = {
importedName: string;
resolvedFilePath: string;
sourceSpecifier: string;
isTypeOnly: boolean;
fromExportAll: boolean;
};
export type NamedImportSpecifier = TSESTree.ImportSpecifier & {
imported: TSESTree.Identifier;
local: TSESTree.Identifier;
};
export type SupportedImportSpecifier = NamedImportSpecifier | TSESTree.ImportDefaultSpecifier;
export type MatchedSpecifier = {
preferredSourceSpecifier: string | null;
specifier: SupportedImportSpecifier;
reExportTarget: ReExportTarget;
};
export type BarrelAnalysis = {
explicitReExports: Map<string, ReExportTarget>;
exportAllReExports: Map<string, ReExportTarget>;
};
export type AnalysisCaches = {
exportedBindings: Map<string, Set<string>>;
parsedModules: Map<string, TSESTree.Program | null>;
};
export type TsconfigInfo = {
compilerOptions: CompilerOptions;
configFilePath: string;
moduleResolutionCache: ModuleResolutionCache;
};
export type ResolutionCaches = {
barrelAnalyses: Map<string, BarrelAnalysis | null>;
importResolutions: Map<string, string | null>;
tsconfigInfo: Map<string, TsconfigInfo | null>;
tsconfigPaths: Map<string, string | null>;
};
export type ManualAliasMapping = {
pattern: string;
target: string;
};
//# sourceMappingURL=types.d.ts.map