knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
67 lines (66 loc) • 2.98 kB
TypeScript
import { CacheConsultant } from './CacheConsultant.js';
import { type Workspace } from './ConfigurationChief.js';
import type { GetSourceFile, HandleInput, WorkspaceConfiguration } from './types/config.js';
import type { ConfigurationHint } from './types/issues.js';
import type { PluginName } from './types/PluginNames.js';
import type { PackageJson } from './types/package-json.js';
import type { DependencySet } from './types/workspace.js';
import type { MainOptions } from './util/create-options.js';
import { type Input } from './util/input.js';
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;
runPlugins(): Promise<Input[]>;
getConfigurationHints(type: 'entry' | 'project', patterns: string[], filePaths: string[], includedPaths: Set<string>): ConfigurationHint[];
onDispose(): void;
}
export {};