@snyk/composer-lockfile-parser
Version:
Generate a dep tree given a composer.lock file
70 lines (69 loc) • 1.46 kB
TypeScript
/**
* Manifest file related types
*/
export interface ComposerJsonFile {
name: string;
version?: string;
extra: ComposerExtras;
require: ComposerDependencies;
'require-dev'?: ComposerDependencies;
}
export interface ComposerExtras {
'branch-alias': {
[alias: string]: string;
};
}
export interface ComposerDependencies {
[depName: string]: string;
}
export interface ComposerLockFile {
packages: LockFilePackage[];
'packages-dev'?: LockFilePackage[];
}
/**
* Lock file related types
*/
export interface LockFilePackage {
name: string;
version?: string;
require: LockFileDependencies;
'require-dev'?: LockFileDependencies;
}
export interface LockFileDependencies {
[depName: string]: string;
}
/**
* Dependency tree related types
*/
export interface DepTree {
name: string;
version: string;
dependencies: DepTreeDependencies;
labels?: {
scope?: Scope;
};
}
export declare enum Scope {
prod = "prod",
dev = "dev"
}
export declare type DepTreeDependencies = DepTree | {};
/**
* Helper types
*/
export interface SystemPackages {
[depName: string]: string;
}
export interface PackageRefCount {
[depName: string]: number;
}
/**
* Response type
*/
export interface ComposerParserResponse {
name: string;
version: string;
packageFormatVersion: 'composer:0.0.1';
dependencies: DepTreeDependencies;
hasDevDependencies: boolean;
}