UNPKG

1.46 kBTypeScriptView Raw
1/**
2 * Manifest file related types
3 */
4export interface ComposerJsonFile {
5 name: string;
6 version?: string;
7 extra: ComposerExtras;
8 require: ComposerDependencies;
9 'require-dev'?: ComposerDependencies;
10}
11export interface ComposerExtras {
12 'branch-alias': {
13 [alias: string]: string;
14 };
15}
16export interface ComposerDependencies {
17 [depName: string]: string;
18}
19export interface ComposerLockFile {
20 packages: LockFilePackage[];
21 'packages-dev'?: LockFilePackage[];
22}
23/**
24 * Lock file related types
25 */
26export interface LockFilePackage {
27 name: string;
28 version?: string;
29 require: LockFileDependencies;
30 'require-dev'?: LockFileDependencies;
31}
32export interface LockFileDependencies {
33 [depName: string]: string;
34}
35/**
36 * Dependency tree related types
37 */
38export interface DepTree {
39 name: string;
40 version: string;
41 dependencies: DepTreeDependencies;
42 labels?: {
43 scope?: Scope;
44 };
45}
46export declare enum Scope {
47 prod = "prod",
48 dev = "dev"
49}
50export declare type DepTreeDependencies = DepTree | {};
51/**
52 * Helper types
53 */
54export interface SystemPackages {
55 [depName: string]: string;
56}
57export interface PackageRefCount {
58 [depName: string]: number;
59}
60/**
61 * Response type
62 */
63export interface ComposerParserResponse {
64 name: string;
65 version: string;
66 packageFormatVersion: 'composer:0.0.1';
67 dependencies: DepTreeDependencies;
68 hasDevDependencies: boolean;
69}