what-is-my-tech-stack
Version:
Analyze project dependencies and generate a human-readable tech stack description
33 lines (32 loc) • 918 B
TypeScript
interface PackageDependency {
name: string;
version: string;
type: 'dependency' | 'devDependency';
}
export declare class NodeAnalyzer {
private packageJsonPath;
constructor(packageJsonPath: string);
/**
* Analyzes the package.json file and returns a list of dependencies
*/
analyze(): Promise<PackageDependency[]>;
/**
* Processes a dependency object and converts it to PackageDependency array
*/
private processDependencies;
/**
* Normalizes version strings by removing special characters
*/
private normalizeVersion;
/**
* Categorizes dependencies into common tech categories
*/
categorizeDependencies(dependencies: PackageDependency[]): Record<string, string[]>;
private isFramework;
private isTestingTool;
private isBundler;
private isLinter;
private isTypescript;
private isUtility;
}
export {};