-
Notifications
You must be signed in to change notification settings - Fork 0
/
package-json.d.ts
executable file
·128 lines (88 loc) · 1.93 KB
/
package-json.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
export interface IPackageJSON extends Object {
readonly name: string;
readonly version?: string;
readonly description?: string;
readonly keywords?: string[];
readonly homepage?: string;
readonly bugs?: string|IBugs;
readonly license?: string;
readonly author?: string|IAuthor;
readonly contributors?: string[]|IAuthor[];
readonly files?: string[];
readonly main?: string;
readonly bin?: string|IBinMap;
readonly man?: string|string[];
readonly directories?: IDirectories;
readonly repository?: string|IRepository;
readonly scripts?: IScriptsMap;
readonly config?: IConfig;
readonly dependencies?: IDependencyMap;
readonly devDependencies?: IDependencyMap;
readonly peerDependencies?: IDependencyMap;
readonly optionalDependencies?: IDependencyMap;
readonly bundledDependencies?: string[];
readonly engines?: IEngines;
readonly os?: string[];
readonly cpu?: string[];
readonly preferGlobal?: boolean;
readonly private?: boolean;
readonly publishConfig?: IPublishConfig;
}
/**
* An author or contributor
*/
export interface IAuthor {
name: string;
email?: string;
homepage?: string;
}
/**
* A map of exposed bin commands
*/
export interface IBinMap {
[commandName: string]: string;
}
/**
* A bugs link
*/
export interface IBugs {
email?: string;
url?: string;
}
export interface IConfig {
name?: string;
config?: Object;
}
/**
* A map of dependencies
*/
export interface IDependencyMap {
[dependencyName: string]: string;
}
/**
* CommonJS package structure
*/
export interface IDirectories {
lib?: string;
bin?: string;
man?: string;
doc?: string;
example?: string;
}
export interface IEngines {
node?: string;
npm?: string;
}
export interface IPublishConfig {
registry?: string;
}
/**
* A project repository
*/
export interface IRepository {
type: string;
url: string;
}
export interface IScriptsMap {
[scriptName: string]: string;
}