-
Notifications
You must be signed in to change notification settings - Fork 242
/
configuration.ts
179 lines (153 loc) · 3.37 KB
/
configuration.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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
import { Stability } from './assembly';
/**
* Structure of jsii configuration in package.json
*/
export interface Config {
/**
* Output directory of typescript compiler
*/
outdir?: string;
/**
* Determines the format of the jsii toolchain version string that will be
* included in the .jsii assembly file's jsiiVersion attribute.
*
* full (the default) - a version number including a commit hash will be used
* example: 0.14.3 (build 1b1062d)
*
* short - only the version number of jsii will be used
* example: 0.14.3
*/
versionFormat?: 'full' | 'short';
/**
* Defines which target languages the module supports.
*/
targets?: {
java?: {
/*
* generated maven package name
*/
package: string;
/**
* groupId and artifactId for generated maven package.
*/
maven: {
groupId: string;
artifactId: string;
/**
* optional version suffix for maven module version
*/
versionSuffix?: string;
};
};
python?: {
/**
* name of generated Python module, which will be used by users in import
* directives
*/
module: string;
/**
* the PyPI distribution name for the package.
*/
distName: string;
};
dotnet?: {
/**
* the root namespace under which types will be declared
*/
namespace: string;
/**
* identifier of the package in the NuGet registry
*/
packageId: string;
/**
* url of the icon to be shown in the NuGet Gallery
*/
iconUrl?: string;
/**
* optional suffix that will be appended at the end of the NuGet package's
* version field
*/
versionSuffix?: string;
};
};
/**
* used to record additional metadata as key-value pairs that will be recorded
* as-is into the .jsii assembly file
*/
metadata?: {
[key: string]: any;
};
/**
* TypeScript compiler options
*/
tsc?: {
outDir?: string;
rootDir?: string;
[key: string]: any;
};
}
/**
* Structure of jsii module package.json
*/
export interface PackageJson {
/**
* module name for typescript module published to npmjs
*/
name: string;
/**
* module's current semantic version number
*/
version: string;
/**
* module's source code repository information
*/
repository:
| string
| {
url: string;
type?: string;
directory?: string;
};
/**
* main module entrypoint file
*/
main: string;
/**
* module's primary author information
*/
author:
| string
| {
name: string;
email?: string;
url?: string;
organization?: boolean;
};
/**
* jsii compiler configuration
*/
jsii: Config;
/**
* module's built typescript definitions file location
*/
types: string;
/**
* module's api stability level
*/
stability?: Stability;
/**
* Run-time dependencies that are private to this assembly
*/
dependencies?: Record<string, string>;
/**
* Run-time dependencies that will be shared with other assemblies
*/
peerDependencies?: Record<string, string>;
/**
* Build-time dependencies
*/
devDependencies?: Record<string, string>;
bundleDependencies?: string[];
bundledDependencies?: string[];
[key: string]: unknown;
}