@nodesecure/tarball
Version:
NodeSecure tarball scanner
45 lines • 1.42 kB
TypeScript
import { AstAnalyser, type Warning, type Dependency, type ReportOnFile } from "@nodesecure/js-x-ray";
import { type LocatedManifestManager } from "@nodesecure/mama";
export type Path = "NONE" | "EntryFileAnalyser" | "All" | "Both";
export interface SourceCodeAggregator {
path: Path;
readonly consumed: boolean;
push(report: ReportOnFile & {
file: string;
}): void;
}
export interface SourceCodeEntries {
/**
* Source files from package.json
*/
manifest: string[];
/**
* All JavaScript source files from tarball
*/
javascript: string[];
}
export declare class SourceCodeReport implements SourceCodeAggregator {
#private;
path: Path;
warnings: Warning[];
dependencies: Record<string, Record<string, Dependency>>;
minified: string[];
flags: {
hasExternalCapacity: boolean;
};
get consumed(): boolean;
push(report: ReportOnFile & {
file: string;
}): void;
}
export interface SourceCodeScannerOptions<T> {
reportInitiator?: () => T;
astAnalyser?: AstAnalyser;
}
export declare class SourceCodeScanner<T extends SourceCodeAggregator = SourceCodeReport> {
#private;
manifest: LocatedManifestManager;
constructor(manifest: LocatedManifestManager, options?: SourceCodeScannerOptions<T>);
iterate(entries: SourceCodeEntries): Promise<T>;
}
//# sourceMappingURL=SourceCodeScanner.class.d.ts.map