knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
70 lines (69 loc) • 3.2 kB
TypeScript
import { CacheConsultant } from './CacheConsultant.ts';
import { type Workspace } from './ConfigurationChief.ts';
import type { GetSourceFile, HandleInput, RegisterCompiler, RegisterVisitor, WorkspaceConfiguration } from './types/config.ts';
import type { ConfigurationHint } from './types/issues.ts';
import type { PluginName } from './types/PluginNames.ts';
import type { PackageJson } from './types/package-json.ts';
import type { DependencySet } from './types/workspace.ts';
import type { MainOptions } from './util/create-options.ts';
import { type Input } from './util/input.ts';
type WorkspaceManagerOptions = {
name: string;
dir: string;
config: WorkspaceConfiguration;
manifest: PackageJson;
dependencies: DependencySet;
rootManifest: PackageJson | undefined;
handleInput: HandleInput;
findWorkspaceByFilePath: (filePath: string) => Workspace | undefined;
getSourceFile: GetSourceFile;
negatedWorkspacePatterns: string[];
ignoredWorkspacePatterns: string[];
enabledPluginsInAncestors: string[];
configFilesMap: Map<string, Map<PluginName, Set<string>>>;
options: MainOptions;
};
type CacheItem = {
resolveConfig?: Input[];
resolveFromAST?: Input[];
configFile?: Input;
};
export declare class WorkspaceWorker {
name: string;
dir: string;
config: WorkspaceConfiguration;
manifest: PackageJson;
rootManifest: PackageJson | undefined;
dependencies: DependencySet;
handleInput: HandleInput;
findWorkspaceByFilePath: (filePath: string) => Workspace | undefined;
getSourceFile: GetSourceFile;
negatedWorkspacePatterns: string[];
ignoredWorkspacePatterns: string[];
options: MainOptions;
enabledPluginsMap: Record<PluginName, boolean>;
enabledPlugins: PluginName[];
enabledPluginsInAncestors: string[];
cache: CacheConsultant<CacheItem>;
configFilesMap: Map<string, Map<PluginName, Set<string>>>;
constructor({ name, dir, config, manifest, dependencies, rootManifest, negatedWorkspacePatterns, ignoredWorkspacePatterns, enabledPluginsInAncestors, handleInput, findWorkspaceByFilePath, getSourceFile, configFilesMap, options, }: WorkspaceManagerOptions);
init(): Promise<void>;
private determineEnabledPlugins;
private getConfigForPlugin;
getEntryFilePatterns(): string[];
getProjectFilePatterns(projectFilePatterns: string[]): string[];
getPluginProjectFilePatterns(patterns?: string[]): string[];
private getPluginConfig;
getPluginConfigPatterns(): string[];
getPluginEntryFilePatterns(patterns: string[]): string[];
getProductionEntryFilePatterns(negatedTestFilePatterns: string[]): string[];
getProductionProjectFilePatterns(negatedTestFilePatterns: string[]): string[];
private getConfigurationFilePatterns;
registerCompilers(registerCompiler: RegisterCompiler): Promise<void>;
registerVisitors(registerVisitors: RegisterVisitor): void;
runPlugins(): Promise<Input[]>;
private filterTransitiveDependencies;
getConfigurationHints(type: 'entry' | 'project', patterns: string[], filePaths: string[], includedPaths: Set<string>): ConfigurationHint[];
onDispose(): void;
}
export {};