///
import type { PackageJson } from 'type-fest';
import type { Node } from 'acorn';
import type { Writable } from 'node:stream';
import type { Options } from 'acorn';
export declare type CliOptions = {
'--auto-correct': boolean;
'--format': string;
'--help': boolean;
'--generate-config': boolean;
'--version': boolean;
};
export interface CompilerFunctionOptionsBuiltin {
cwd: string;
filename: string;
config: TranspilerConfigBuiltin;
}
export interface CompilerFunctionOptionsExternal {
cwd: string;
filename: string;
config: TranspilerConfigExternal;
}
export declare type CompilerFunctionExternal = (content: string, options: CompilerFunctionOptionsExternal) => Record;
export declare type CompilerFunctionBuiltin = (content: undefined, options: CompilerFunctionOptionsBuiltin) => string;
export declare type ExecOptionsBase = {
format: FormatterNames;
autoCorrect?: boolean;
outputStream?: Writable;
};
export interface AcornNodeNode extends Node {
callee: AcornCallee;
}
export interface AcornCallee {
object: AcornCallee;
property: AcornCallee;
name: string;
type: string;
}
export declare type ModuleUsage = {
name: string;
script: string;
file?: undefined;
} | {
name: string;
file: string;
script?: undefined;
};
export declare type ScriptsAndFiles = {
scripts: string[];
files: string[];
};
export interface ModuleUsages extends ScriptsAndFiles {
name: string;
}
export declare type ExecutableModules = {
moduleExecutables: Record;
packageJsonScripts: any;
shellScripts: Record;
};
export declare type ShellScripts = {
dev?: any;
root: string;
ignore?: string | ReadonlyArray | undefined;
};
export declare type NpmScripts = ShellScripts;
export declare type ExecutedModules = {
shellScripts: ShellScripts;
npmScripts?: NpmScripts;
};
export declare type AcornParseProps = Options;
export interface TranspilerConfigBuiltin {
extension: string;
builtin: 'ts';
configFile?: string;
}
export interface TranspilerConfigExternal {
extension: string;
module: string;
fnName?: string;
resultKey?: string;
}
export declare function isTranspilerConfigBuiltin(value: unknown): value is TranspilerConfigBuiltin;
export declare function isCompilerFunctionBuiltin(config: TranspilerConfigBuiltin | TranspilerConfigExternal, value: unknown): value is CompilerFunctionBuiltin;
export declare type RequiredModulesConfig = {
files: ShellScripts;
acornParseProps?: AcornParseProps | undefined;
stripLoaders?: boolean;
transpilers?: (TranspilerConfigBuiltin | TranspilerConfigExternal)[];
};
export interface DependencyLinterConfig {
ignoreErrors: Partial>;
executedModules: ExecutedModules;
requiredModules: RequiredModulesConfig;
}
export declare type LibaryInfo = {
dir: string;
packageJson: PackageJson;
};
export declare type ModuleInfo = {
name: string;
files: string[];
scripts: string[];
error?: number;
errorIgnored?: boolean;
errorFixed?: boolean;
};
export declare type ModuleInfoWithError = {
name: string;
files: string[];
scripts: string[];
error: number;
errorIgnored?: boolean;
};
export declare type DependencyMap = {
dependencies: string[];
devDependencies: string[];
peerDependencies: string[];
};
export declare type DependencyModuleInfoMap = {
dependencies: ModuleInfo[];
devDependencies: ModuleInfo[];
peerDependencies: ModuleInfo[];
};
export declare type ModuleStatus = {
isDependency: boolean;
listedAsDependency: boolean;
listedAsDevDependency: boolean;
listedAsPeerDependency: boolean;
};
export declare type FormatterNames = 'minimal' | 'summary' | 'json';
//# sourceMappingURL=types.d.ts.map