projen-modules 0.2.49 → 0.2.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3341 -3
- package/API.md +5179 -940
- package/README.md +6 -5
- package/lib/components/readme/elements/section.js +1 -1
- package/lib/components/readme/index.js +1 -1
- package/lib/projects/cdk-ts/cdk-typescript-app-options.d.ts +1200 -0
- package/lib/projects/cdk-ts/cdk-typescript-app-options.js +3 -0
- package/lib/projects/cdk-ts/index.d.ts +14 -0
- package/lib/projects/cdk-ts/index.js +77 -0
- package/lib/projects/index.d.ts +1 -0
- package/lib/projects/index.js +2 -1
- package/lib/projects/jsii/index.js +1 -1
- package/lib/projects/npm/index.js +1 -1
- package/lib/projects/python/index.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,1200 @@
|
|
|
1
|
+
import type { awscdk, github, GitOptions, GroupRunnerOptions, IgnoreFileOptions, javascript, LoggerOptions, Project, ProjectType, ProjenrcJsonOptions, ReleasableCommits, release, RenovatebotOptions, typescript } from 'projen';
|
|
2
|
+
import type { ReadmeOptions } from '../../';
|
|
3
|
+
/**
|
|
4
|
+
* CdkTypeScriptAppOptions
|
|
5
|
+
*/
|
|
6
|
+
export interface CdkTypeScriptAppOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Common options for all AWS Lambda functions.
|
|
9
|
+
* @default - default options
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
readonly lambdaOptions?: awscdk.LambdaFunctionCommonOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
|
|
15
|
+
* @default true
|
|
16
|
+
* @stability experimental
|
|
17
|
+
*/
|
|
18
|
+
readonly lambdaExtensionAutoDiscover?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
|
|
21
|
+
* @default true
|
|
22
|
+
* @stability experimental
|
|
23
|
+
*/
|
|
24
|
+
readonly lambdaAutoDiscover?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Automatically discovers and creates integration tests for each `.integ.ts` file in under your test directory.
|
|
27
|
+
* @default true
|
|
28
|
+
* @stability experimental
|
|
29
|
+
*/
|
|
30
|
+
readonly integrationTestAutoDiscover?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Enable experimental support for the AWS CDK integ-runner.
|
|
33
|
+
* @default false
|
|
34
|
+
* @stability experimental
|
|
35
|
+
*/
|
|
36
|
+
readonly experimentalIntegRunner?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
|
|
39
|
+
* @default true
|
|
40
|
+
* @stability experimental
|
|
41
|
+
*/
|
|
42
|
+
readonly edgeLambdaAutoDiscover?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* The CDK app's entrypoint (relative to the source directory, which is "src" by default).
|
|
45
|
+
* @default "main.ts"
|
|
46
|
+
* @stability experimental
|
|
47
|
+
*/
|
|
48
|
+
readonly appEntrypoint?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Minimum version of the `constructs` library to depend on.
|
|
51
|
+
* @default - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is
|
|
52
|
+
"10.0.5".
|
|
53
|
+
* @stability experimental
|
|
54
|
+
*/
|
|
55
|
+
readonly constructsVersion?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Use pinned version instead of caret version for CDK.
|
|
58
|
+
* You can use this to prevent mixed versions for your CDK dependencies and to prevent auto-updates.
|
|
59
|
+
* If you use experimental features this will let you define the moment you include breaking changes.
|
|
60
|
+
* @stability experimental
|
|
61
|
+
*/
|
|
62
|
+
readonly cdkVersionPinning?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* AWS CDK modules required for testing.
|
|
65
|
+
* @deprecated For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead
|
|
66
|
+
* @stability deprecated
|
|
67
|
+
*/
|
|
68
|
+
readonly cdkTestDependencies?: Array<string>;
|
|
69
|
+
/**
|
|
70
|
+
* If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
|
|
71
|
+
* This is to ensure that downstream consumers actually have your CDK dependencies installed
|
|
72
|
+
* when using npm < 7 or yarn, where peer dependencies are not automatically installed.
|
|
73
|
+
* If this is disabled, `cdkDependencies` will be added to `devDependencies` to ensure
|
|
74
|
+
* they are present during development.
|
|
75
|
+
*
|
|
76
|
+
* Note: this setting only applies to construct library projects
|
|
77
|
+
* @default true
|
|
78
|
+
* @deprecated Not supported in CDK v2.
|
|
79
|
+
* @stability deprecated
|
|
80
|
+
*/
|
|
81
|
+
readonly cdkDependenciesAsDeps?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Which AWS CDKv1 modules this project requires.
|
|
84
|
+
* @deprecated For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)
|
|
85
|
+
* @stability deprecated
|
|
86
|
+
*/
|
|
87
|
+
readonly cdkDependencies?: Array<string>;
|
|
88
|
+
/**
|
|
89
|
+
* Version range of the AWS CDK CLI to depend on.
|
|
90
|
+
* Can be either a specific version, or an NPM version range.
|
|
91
|
+
*
|
|
92
|
+
* By default, the latest 2.x version will be installed; you can use this
|
|
93
|
+
* option to restrict it to a specific version or version range.
|
|
94
|
+
* @default "^2"
|
|
95
|
+
* @stability experimental
|
|
96
|
+
*/
|
|
97
|
+
readonly cdkCliVersion?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Install the assertions library?
|
|
100
|
+
* Only needed for CDK 1.x. If using CDK 2.x then
|
|
101
|
+
* assertions is already included in 'aws-cdk-lib'
|
|
102
|
+
* @default - will be included by default for AWS CDK >= 1.111.0 < 2.0.0
|
|
103
|
+
* @stability experimental
|
|
104
|
+
*/
|
|
105
|
+
readonly cdkAssertions?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Warning: NodeJS only.
|
|
108
|
+
* Install the
|
|
109
|
+
* @default - will be included by default for AWS CDK >= 1.0.0 < 2.0.0
|
|
110
|
+
* @deprecated The
|
|
111
|
+
* @stability deprecated
|
|
112
|
+
* @aws-cdk /assertions (in V1) and included in `aws-cdk-lib` for V2.
|
|
113
|
+
*/
|
|
114
|
+
readonly cdkAssert?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Minimum version of the AWS CDK to depend on.
|
|
117
|
+
* @default "2.1.0"
|
|
118
|
+
* @stability experimental
|
|
119
|
+
*/
|
|
120
|
+
readonly cdkVersion: string;
|
|
121
|
+
/**
|
|
122
|
+
* Glob patterns to include in `cdk watch`.
|
|
123
|
+
* @default []
|
|
124
|
+
* @stability experimental
|
|
125
|
+
*/
|
|
126
|
+
readonly watchIncludes?: Array<string>;
|
|
127
|
+
/**
|
|
128
|
+
* Glob patterns to exclude from `cdk watch`.
|
|
129
|
+
* @default []
|
|
130
|
+
* @stability experimental
|
|
131
|
+
*/
|
|
132
|
+
readonly watchExcludes?: Array<string>;
|
|
133
|
+
/**
|
|
134
|
+
* To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.
|
|
135
|
+
* @default ApprovalLevel.BROADENING
|
|
136
|
+
* @stability experimental
|
|
137
|
+
*/
|
|
138
|
+
readonly requireApproval?: awscdk.ApprovalLevel;
|
|
139
|
+
/**
|
|
140
|
+
* Include all feature flags in cdk.json.
|
|
141
|
+
* @default true
|
|
142
|
+
* @stability experimental
|
|
143
|
+
*/
|
|
144
|
+
readonly featureFlags?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Additional context to include in `cdk.json`.
|
|
147
|
+
* @default - no additional context
|
|
148
|
+
* @stability experimental
|
|
149
|
+
*/
|
|
150
|
+
readonly context?: Record<string, any>;
|
|
151
|
+
/**
|
|
152
|
+
* cdk.out directory.
|
|
153
|
+
* @default "cdk.out"
|
|
154
|
+
* @stability experimental
|
|
155
|
+
*/
|
|
156
|
+
readonly cdkout?: string;
|
|
157
|
+
/**
|
|
158
|
+
* A command to execute before synthesis.
|
|
159
|
+
* This command will be called when
|
|
160
|
+
* running `cdk synth` or when `cdk watch` identifies a change in your source
|
|
161
|
+
* code before redeployment.
|
|
162
|
+
* @default - no build command
|
|
163
|
+
* @stability experimental
|
|
164
|
+
*/
|
|
165
|
+
readonly buildCommand?: string;
|
|
166
|
+
/**
|
|
167
|
+
* TypeScript version to use.
|
|
168
|
+
* NOTE: Typescript is not semantically versioned and should remain on the
|
|
169
|
+
* same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
|
|
170
|
+
* @default "latest"
|
|
171
|
+
* @stability experimental
|
|
172
|
+
*/
|
|
173
|
+
readonly typescriptVersion?: string;
|
|
174
|
+
/**
|
|
175
|
+
* Options for ts-jest.
|
|
176
|
+
* @stability experimental
|
|
177
|
+
*/
|
|
178
|
+
readonly tsJestOptions?: typescript.TsJestOptions;
|
|
179
|
+
/**
|
|
180
|
+
* The name of the development tsconfig.json file.
|
|
181
|
+
* @default "tsconfig.dev.json"
|
|
182
|
+
* @stability experimental
|
|
183
|
+
*/
|
|
184
|
+
readonly tsconfigDevFile?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Custom tsconfig options for the development tsconfig.json file (used for testing).
|
|
187
|
+
* @default - use the production tsconfig options
|
|
188
|
+
* @stability experimental
|
|
189
|
+
*/
|
|
190
|
+
readonly tsconfigDev?: javascript.TypescriptConfigOptions;
|
|
191
|
+
/**
|
|
192
|
+
* Custom TSConfig.
|
|
193
|
+
* @default - default options
|
|
194
|
+
* @stability experimental
|
|
195
|
+
*/
|
|
196
|
+
readonly tsconfig?: javascript.TypescriptConfigOptions;
|
|
197
|
+
/**
|
|
198
|
+
* Jest tests directory. Tests files should be named `xxx.test.ts`.
|
|
199
|
+
* If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),
|
|
200
|
+
* then tests are going to be compiled into `lib/` and executed as javascript.
|
|
201
|
+
* If the test directory is outside of `src`, then we configure jest to
|
|
202
|
+
* compile the code in-memory.
|
|
203
|
+
* @default "test"
|
|
204
|
+
* @stability experimental
|
|
205
|
+
*/
|
|
206
|
+
readonly testdir?: string;
|
|
207
|
+
/**
|
|
208
|
+
* Typescript sources directory.
|
|
209
|
+
* @default "src"
|
|
210
|
+
* @stability experimental
|
|
211
|
+
*/
|
|
212
|
+
readonly srcdir?: string;
|
|
213
|
+
/**
|
|
214
|
+
* Generate one-time sample in `src/` and `test/` if there are no files there.
|
|
215
|
+
* @default true
|
|
216
|
+
* @stability experimental
|
|
217
|
+
*/
|
|
218
|
+
readonly sampleCode?: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Options for .projenrc.ts.
|
|
221
|
+
* @stability experimental
|
|
222
|
+
*/
|
|
223
|
+
readonly projenrcTsOptions?: typescript.ProjenrcOptions;
|
|
224
|
+
/**
|
|
225
|
+
* Use TypeScript for your projenrc file (`.projenrc.ts`).
|
|
226
|
+
* @default false
|
|
227
|
+
* @stability experimental
|
|
228
|
+
* @pjnew true
|
|
229
|
+
*/
|
|
230
|
+
readonly projenrcTs?: boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Typescript artifacts output directory.
|
|
233
|
+
* @default "lib"
|
|
234
|
+
* @stability experimental
|
|
235
|
+
*/
|
|
236
|
+
readonly libdir?: string;
|
|
237
|
+
/**
|
|
238
|
+
* Eslint options.
|
|
239
|
+
* @default - opinionated default options
|
|
240
|
+
* @stability experimental
|
|
241
|
+
*/
|
|
242
|
+
readonly eslintOptions?: javascript.EslintOptions;
|
|
243
|
+
/**
|
|
244
|
+
* Setup eslint.
|
|
245
|
+
* @default true
|
|
246
|
+
* @stability experimental
|
|
247
|
+
*/
|
|
248
|
+
readonly eslint?: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* The .d.ts file that includes the type declarations for this module.
|
|
251
|
+
* @default - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
|
|
252
|
+
* @stability experimental
|
|
253
|
+
*/
|
|
254
|
+
readonly entrypointTypes?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Docs directory.
|
|
257
|
+
* @default "docs"
|
|
258
|
+
* @stability experimental
|
|
259
|
+
*/
|
|
260
|
+
readonly docsDirectory?: string;
|
|
261
|
+
/**
|
|
262
|
+
* Docgen by Typedoc.
|
|
263
|
+
* @default false
|
|
264
|
+
* @stability experimental
|
|
265
|
+
*/
|
|
266
|
+
readonly docgen?: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Do not generate a `tsconfig.dev.json` file.
|
|
269
|
+
* @default false
|
|
270
|
+
* @stability experimental
|
|
271
|
+
*/
|
|
272
|
+
readonly disableTsconfigDev?: boolean;
|
|
273
|
+
/**
|
|
274
|
+
* Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
|
|
275
|
+
* @default false
|
|
276
|
+
* @stability experimental
|
|
277
|
+
*/
|
|
278
|
+
readonly disableTsconfig?: boolean;
|
|
279
|
+
/**
|
|
280
|
+
* Enable Node.js package cache in GitHub workflows.
|
|
281
|
+
* @default false
|
|
282
|
+
* @stability experimental
|
|
283
|
+
*/
|
|
284
|
+
readonly workflowPackageCache?: boolean;
|
|
285
|
+
/**
|
|
286
|
+
* The node version used in GitHub Actions workflows.
|
|
287
|
+
* Always use this option if your GitHub Actions workflows require a specific to run.
|
|
288
|
+
* @default - `minNodeVersion` if set, otherwise `lts/*`.
|
|
289
|
+
* @stability experimental
|
|
290
|
+
*/
|
|
291
|
+
readonly workflowNodeVersion?: string;
|
|
292
|
+
/**
|
|
293
|
+
* The git identity to use in workflows.
|
|
294
|
+
* @default - GitHub Actions
|
|
295
|
+
* @stability experimental
|
|
296
|
+
*/
|
|
297
|
+
readonly workflowGitIdentity?: github.GitIdentity;
|
|
298
|
+
/**
|
|
299
|
+
* Workflow steps to use in order to bootstrap this repo.
|
|
300
|
+
* @default "yarn install --frozen-lockfile && yarn projen"
|
|
301
|
+
* @stability experimental
|
|
302
|
+
*/
|
|
303
|
+
readonly workflowBootstrapSteps?: Array<github.workflows.JobStep>;
|
|
304
|
+
/**
|
|
305
|
+
* DEPRECATED: renamed to `release`.
|
|
306
|
+
* @default - true if not a subproject
|
|
307
|
+
* @deprecated see `release`.
|
|
308
|
+
* @stability deprecated
|
|
309
|
+
*/
|
|
310
|
+
readonly releaseWorkflow?: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Automatically release to npm when new versions are introduced.
|
|
313
|
+
* @default false
|
|
314
|
+
* @stability experimental
|
|
315
|
+
*/
|
|
316
|
+
readonly releaseToNpm?: boolean;
|
|
317
|
+
/**
|
|
318
|
+
* Add release management to this project.
|
|
319
|
+
* @default - true (false for subprojects)
|
|
320
|
+
* @stability experimental
|
|
321
|
+
*/
|
|
322
|
+
readonly release?: boolean;
|
|
323
|
+
/**
|
|
324
|
+
* The contents of the pull request template.
|
|
325
|
+
* @default - default content
|
|
326
|
+
* @stability experimental
|
|
327
|
+
*/
|
|
328
|
+
readonly pullRequestTemplateContents?: Array<string>;
|
|
329
|
+
/**
|
|
330
|
+
* Include a GitHub pull request template.
|
|
331
|
+
* @default true
|
|
332
|
+
* @stability experimental
|
|
333
|
+
*/
|
|
334
|
+
readonly pullRequestTemplate?: boolean;
|
|
335
|
+
/**
|
|
336
|
+
* Version of projen to install.
|
|
337
|
+
* @default - Defaults to the latest version.
|
|
338
|
+
* @stability experimental
|
|
339
|
+
*/
|
|
340
|
+
readonly projenVersion?: string;
|
|
341
|
+
/**
|
|
342
|
+
* Options for .projenrc.js.
|
|
343
|
+
* @default - default options
|
|
344
|
+
* @stability experimental
|
|
345
|
+
*/
|
|
346
|
+
readonly projenrcJsOptions?: javascript.ProjenrcOptions;
|
|
347
|
+
/**
|
|
348
|
+
* Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
|
|
349
|
+
* @default - true if projenrcJson is false
|
|
350
|
+
* @stability experimental
|
|
351
|
+
*/
|
|
352
|
+
readonly projenrcJs?: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Indicates of "projen" should be installed as a devDependency.
|
|
355
|
+
* @default - true if not a subproject
|
|
356
|
+
* @stability experimental
|
|
357
|
+
*/
|
|
358
|
+
readonly projenDevDependency?: boolean;
|
|
359
|
+
/**
|
|
360
|
+
* Prettier options.
|
|
361
|
+
* @default - default options
|
|
362
|
+
* @stability experimental
|
|
363
|
+
*/
|
|
364
|
+
readonly prettierOptions?: javascript.PrettierOptions;
|
|
365
|
+
/**
|
|
366
|
+
* Setup prettier.
|
|
367
|
+
* @default false
|
|
368
|
+
* @stability experimental
|
|
369
|
+
*/
|
|
370
|
+
readonly prettier?: boolean;
|
|
371
|
+
/**
|
|
372
|
+
* Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
|
|
373
|
+
* @default true
|
|
374
|
+
* @stability experimental
|
|
375
|
+
*/
|
|
376
|
+
readonly package?: boolean;
|
|
377
|
+
/**
|
|
378
|
+
* Configuration options for .npmignore file.
|
|
379
|
+
* @stability experimental
|
|
380
|
+
*/
|
|
381
|
+
readonly npmIgnoreOptions?: IgnoreFileOptions;
|
|
382
|
+
/**
|
|
383
|
+
* Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
|
|
384
|
+
* @default true
|
|
385
|
+
* @stability experimental
|
|
386
|
+
*/
|
|
387
|
+
readonly npmignoreEnabled?: boolean;
|
|
388
|
+
/**
|
|
389
|
+
* Additional entries to .npmignore.
|
|
390
|
+
* @deprecated - use `project.addPackageIgnore`
|
|
391
|
+
* @stability deprecated
|
|
392
|
+
*/
|
|
393
|
+
readonly npmignore?: Array<string>;
|
|
394
|
+
/**
|
|
395
|
+
* Automatically update files modified during builds to pull-request branches.
|
|
396
|
+
* This means
|
|
397
|
+
* that any files synthesized by projen or e.g. test snapshots will always be up-to-date
|
|
398
|
+
* before a PR is merged.
|
|
399
|
+
*
|
|
400
|
+
* Implies that PR builds do not have anti-tamper checks.
|
|
401
|
+
* @default true
|
|
402
|
+
* @deprecated - Use `buildWorkflowOptions.mutableBuild`
|
|
403
|
+
* @stability deprecated
|
|
404
|
+
*/
|
|
405
|
+
readonly mutableBuild?: boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Jest options.
|
|
408
|
+
* @default - default options
|
|
409
|
+
* @stability experimental
|
|
410
|
+
*/
|
|
411
|
+
readonly jestOptions?: javascript.JestOptions;
|
|
412
|
+
/**
|
|
413
|
+
* Setup jest unit tests.
|
|
414
|
+
* @default true
|
|
415
|
+
* @stability experimental
|
|
416
|
+
*/
|
|
417
|
+
readonly jest?: boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Additional entries to .gitignore.
|
|
420
|
+
* @stability experimental
|
|
421
|
+
*/
|
|
422
|
+
readonly gitignore?: Array<string>;
|
|
423
|
+
/**
|
|
424
|
+
* Options for `UpgradeDependencies`.
|
|
425
|
+
* @default - default options
|
|
426
|
+
* @stability experimental
|
|
427
|
+
*/
|
|
428
|
+
readonly depsUpgradeOptions?: javascript.UpgradeDependenciesOptions;
|
|
429
|
+
/**
|
|
430
|
+
* Use tasks and github workflows to handle dependency upgrades.
|
|
431
|
+
* Cannot be used in conjunction with `dependabot`.
|
|
432
|
+
* @default true
|
|
433
|
+
* @stability experimental
|
|
434
|
+
*/
|
|
435
|
+
readonly depsUpgrade?: boolean;
|
|
436
|
+
/**
|
|
437
|
+
* Options for dependabot.
|
|
438
|
+
* @default - default options
|
|
439
|
+
* @stability experimental
|
|
440
|
+
*/
|
|
441
|
+
readonly dependabotOptions?: github.DependabotOptions;
|
|
442
|
+
/**
|
|
443
|
+
* Use dependabot to handle dependency upgrades.
|
|
444
|
+
* Cannot be used in conjunction with `depsUpgrade`.
|
|
445
|
+
* @default false
|
|
446
|
+
* @stability experimental
|
|
447
|
+
*/
|
|
448
|
+
readonly dependabot?: boolean;
|
|
449
|
+
/**
|
|
450
|
+
* The copyright years to put in the LICENSE file.
|
|
451
|
+
* @default - current year
|
|
452
|
+
* @stability experimental
|
|
453
|
+
*/
|
|
454
|
+
readonly copyrightPeriod?: string;
|
|
455
|
+
/**
|
|
456
|
+
* License copyright owner.
|
|
457
|
+
* @default - defaults to the value of authorName or "" if `authorName` is undefined.
|
|
458
|
+
* @stability experimental
|
|
459
|
+
*/
|
|
460
|
+
readonly copyrightOwner?: string;
|
|
461
|
+
/**
|
|
462
|
+
* Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
|
|
463
|
+
* @default - if this option is not specified, only public repositories are supported
|
|
464
|
+
* @stability experimental
|
|
465
|
+
*/
|
|
466
|
+
readonly codeCovTokenSecret?: string;
|
|
467
|
+
/**
|
|
468
|
+
* Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
|
|
469
|
+
* @default false
|
|
470
|
+
* @stability experimental
|
|
471
|
+
*/
|
|
472
|
+
readonly codeCov?: boolean;
|
|
473
|
+
/**
|
|
474
|
+
* Configure which licenses should be deemed acceptable for use by dependencies.
|
|
475
|
+
* This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered.
|
|
476
|
+
* @default - no license checks are run during the build and all licenses will be accepted
|
|
477
|
+
* @stability experimental
|
|
478
|
+
*/
|
|
479
|
+
readonly checkLicenses?: javascript.LicenseCheckerOptions;
|
|
480
|
+
/**
|
|
481
|
+
* Options for `Bundler`.
|
|
482
|
+
* @stability experimental
|
|
483
|
+
*/
|
|
484
|
+
readonly bundlerOptions?: javascript.BundlerOptions;
|
|
485
|
+
/**
|
|
486
|
+
* Build workflow triggers.
|
|
487
|
+
* @default "{ pullRequest: {}, workflowDispatch: {} }"
|
|
488
|
+
* @deprecated - Use `buildWorkflowOptions.workflowTriggers`
|
|
489
|
+
* @stability deprecated
|
|
490
|
+
*/
|
|
491
|
+
readonly buildWorkflowTriggers?: github.workflows.Triggers;
|
|
492
|
+
/**
|
|
493
|
+
* Options for PR build workflow.
|
|
494
|
+
* @stability experimental
|
|
495
|
+
*/
|
|
496
|
+
readonly buildWorkflowOptions?: javascript.BuildWorkflowOptions;
|
|
497
|
+
/**
|
|
498
|
+
* Define a GitHub workflow for building PRs.
|
|
499
|
+
* @default - true if not a subproject
|
|
500
|
+
* @stability experimental
|
|
501
|
+
*/
|
|
502
|
+
readonly buildWorkflow?: boolean;
|
|
503
|
+
/**
|
|
504
|
+
* Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
|
|
505
|
+
* Throw if set to true but `autoApproveOptions` are not defined.
|
|
506
|
+
* @default - true
|
|
507
|
+
* @stability experimental
|
|
508
|
+
*/
|
|
509
|
+
readonly autoApproveUpgrades?: boolean;
|
|
510
|
+
/**
|
|
511
|
+
* A directory which will contain build artifacts.
|
|
512
|
+
* @default "dist"
|
|
513
|
+
* @stability experimental
|
|
514
|
+
*/
|
|
515
|
+
readonly artifactsDirectory?: string;
|
|
516
|
+
/**
|
|
517
|
+
* The name of the main release branch.
|
|
518
|
+
* @default "main"
|
|
519
|
+
* @stability experimental
|
|
520
|
+
*/
|
|
521
|
+
readonly defaultReleaseBranch?: string;
|
|
522
|
+
/**
|
|
523
|
+
* Github Runner Group selection options.
|
|
524
|
+
* @stability experimental
|
|
525
|
+
* @description Defines a target Runner Group by name and/or labels
|
|
526
|
+
* @throws {Error} if both `runsOn` and `runsOnGroup` are specified
|
|
527
|
+
*/
|
|
528
|
+
readonly workflowRunsOnGroup?: GroupRunnerOptions;
|
|
529
|
+
/**
|
|
530
|
+
* Github Runner selection labels.
|
|
531
|
+
* @default ["ubuntu-latest"]
|
|
532
|
+
* @stability experimental
|
|
533
|
+
* @description Defines a target Runner by labels
|
|
534
|
+
* @throws {Error} if both `runsOn` and `runsOnGroup` are specified
|
|
535
|
+
*/
|
|
536
|
+
readonly workflowRunsOn?: Array<string>;
|
|
537
|
+
/**
|
|
538
|
+
* Container image to use for GitHub workflows.
|
|
539
|
+
* @default - default image
|
|
540
|
+
* @stability experimental
|
|
541
|
+
*/
|
|
542
|
+
readonly workflowContainerImage?: string;
|
|
543
|
+
/**
|
|
544
|
+
* Custom configuration used when creating changelog with commit-and-tag-version package.
|
|
545
|
+
* Given values either append to default configuration or overwrite values in it.
|
|
546
|
+
* @default - standard configuration applicable for GitHub repositories
|
|
547
|
+
* @stability experimental
|
|
548
|
+
*/
|
|
549
|
+
readonly versionrcOptions?: Record<string, any>;
|
|
550
|
+
/**
|
|
551
|
+
* A set of workflow steps to execute in order to setup the workflow container.
|
|
552
|
+
* @stability experimental
|
|
553
|
+
*/
|
|
554
|
+
readonly releaseWorkflowSetupSteps?: Array<github.workflows.JobStep>;
|
|
555
|
+
/**
|
|
556
|
+
* The name of the default release workflow.
|
|
557
|
+
* @default "release"
|
|
558
|
+
* @stability experimental
|
|
559
|
+
*/
|
|
560
|
+
readonly releaseWorkflowName?: string;
|
|
561
|
+
/**
|
|
562
|
+
* The release trigger to use.
|
|
563
|
+
* @default - Continuous releases (`ReleaseTrigger.continuous()`)
|
|
564
|
+
* @stability experimental
|
|
565
|
+
*/
|
|
566
|
+
readonly releaseTrigger?: release.ReleaseTrigger;
|
|
567
|
+
/**
|
|
568
|
+
* Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers.
|
|
569
|
+
* Note: this prefix is used to detect the latest tagged version
|
|
570
|
+
* when bumping, so if you change this on a project with an existing version
|
|
571
|
+
* history, you may need to manually tag your latest release
|
|
572
|
+
* with the new prefix.
|
|
573
|
+
* @default "v"
|
|
574
|
+
* @stability experimental
|
|
575
|
+
*/
|
|
576
|
+
readonly releaseTagPrefix?: string;
|
|
577
|
+
/**
|
|
578
|
+
* CRON schedule to trigger new releases.
|
|
579
|
+
* @default - no scheduled releases
|
|
580
|
+
* @deprecated Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
|
|
581
|
+
* @stability deprecated
|
|
582
|
+
*/
|
|
583
|
+
readonly releaseSchedule?: string;
|
|
584
|
+
/**
|
|
585
|
+
* The label to apply to issues indicating publish failures.
|
|
586
|
+
* Only applies if `releaseFailureIssue` is true.
|
|
587
|
+
* @default "failed-release"
|
|
588
|
+
* @stability experimental
|
|
589
|
+
*/
|
|
590
|
+
readonly releaseFailureIssueLabel?: string;
|
|
591
|
+
/**
|
|
592
|
+
* Create a github issue on every failed publishing task.
|
|
593
|
+
* @default false
|
|
594
|
+
* @stability experimental
|
|
595
|
+
*/
|
|
596
|
+
readonly releaseFailureIssue?: boolean;
|
|
597
|
+
/**
|
|
598
|
+
* Automatically release new versions every commit to one of branches in `releaseBranches`.
|
|
599
|
+
* @default true
|
|
600
|
+
* @deprecated Use `releaseTrigger: ReleaseTrigger.continuous()` instead
|
|
601
|
+
* @stability deprecated
|
|
602
|
+
*/
|
|
603
|
+
readonly releaseEveryCommit?: boolean;
|
|
604
|
+
/**
|
|
605
|
+
* Defines additional release branches.
|
|
606
|
+
* A workflow will be created for each
|
|
607
|
+
* release branch which will publish releases from commits in this branch.
|
|
608
|
+
* Each release branch _must_ be assigned a major version number which is used
|
|
609
|
+
* to enforce that versions published from that branch always use that major
|
|
610
|
+
* version. If multiple branches are used, the `majorVersion` field must also
|
|
611
|
+
* be provided for the default branch.
|
|
612
|
+
* @default - no additional branches are used for release. you can use
|
|
613
|
+
`addBranch()` to add additional branches.
|
|
614
|
+
* @stability experimental
|
|
615
|
+
*/
|
|
616
|
+
readonly releaseBranches?: Record<string, release.BranchOptions>;
|
|
617
|
+
/**
|
|
618
|
+
* Find commits that should be considered releasable Used to decide if a release is required.
|
|
619
|
+
* @default ReleasableCommits.everyCommit()
|
|
620
|
+
* @stability experimental
|
|
621
|
+
*/
|
|
622
|
+
readonly releasableCommits?: ReleasableCommits;
|
|
623
|
+
/**
|
|
624
|
+
* Define publishing tasks that can be executed manually as well as workflows.
|
|
625
|
+
* Normally, publishing only happens within automated workflows. Enable this
|
|
626
|
+
* in order to create a publishing task for each publishing activity.
|
|
627
|
+
* @default false
|
|
628
|
+
* @stability experimental
|
|
629
|
+
*/
|
|
630
|
+
readonly publishTasks?: boolean;
|
|
631
|
+
/**
|
|
632
|
+
* Instead of actually publishing to package managers, just print the publishing command.
|
|
633
|
+
* @default false
|
|
634
|
+
* @stability experimental
|
|
635
|
+
*/
|
|
636
|
+
readonly publishDryRun?: boolean;
|
|
637
|
+
/**
|
|
638
|
+
* Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
|
|
639
|
+
* @default - normal semantic versions
|
|
640
|
+
* @stability experimental
|
|
641
|
+
*/
|
|
642
|
+
readonly prerelease?: string;
|
|
643
|
+
/**
|
|
644
|
+
* Steps to execute after build as part of the release workflow.
|
|
645
|
+
* @default []
|
|
646
|
+
* @stability experimental
|
|
647
|
+
*/
|
|
648
|
+
readonly postBuildSteps?: Array<github.workflows.JobStep>;
|
|
649
|
+
/**
|
|
650
|
+
* The npmDistTag to use when publishing from the default branch.
|
|
651
|
+
* To set the npm dist-tag for release branches, set the `npmDistTag` property
|
|
652
|
+
* for each branch.
|
|
653
|
+
* @default "latest"
|
|
654
|
+
* @stability experimental
|
|
655
|
+
*/
|
|
656
|
+
readonly npmDistTag?: string;
|
|
657
|
+
/**
|
|
658
|
+
* A shell command to control the next version to release.
|
|
659
|
+
* If present, this shell command will be run before the bump is executed, and
|
|
660
|
+
* it determines what version to release. It will be executed in the following
|
|
661
|
+
* environment:
|
|
662
|
+
*
|
|
663
|
+
* - Working directory: the project directory.
|
|
664
|
+
* - `$VERSION`: the current version. Looks like `1.2.3`.
|
|
665
|
+
* - `$LATEST_TAG`: the most recent tag. Looks like `prefix-v1.2.3`, or may be unset.
|
|
666
|
+
*
|
|
667
|
+
* The command should print one of the following to `stdout`:
|
|
668
|
+
*
|
|
669
|
+
* - Nothing: the next version number will be determined based on commit history.
|
|
670
|
+
* - `x.y.z`: the next version number will be `x.y.z`.
|
|
671
|
+
* - `major|minor|patch`: the next version number will be the current version number
|
|
672
|
+
* with the indicated component bumped.
|
|
673
|
+
*
|
|
674
|
+
* This setting cannot be specified together with `minMajorVersion`; the invoked
|
|
675
|
+
* script can be used to achieve the effects of `minMajorVersion`.
|
|
676
|
+
* @default - The next version will be determined based on the commit history and project settings.
|
|
677
|
+
* @stability experimental
|
|
678
|
+
*/
|
|
679
|
+
readonly nextVersionCommand?: string;
|
|
680
|
+
/**
|
|
681
|
+
* Minimal Major version to release.
|
|
682
|
+
* This can be useful to set to 1, as breaking changes before the 1.x major
|
|
683
|
+
* release are not incrementing the major version number.
|
|
684
|
+
*
|
|
685
|
+
* Can not be set together with `majorVersion`.
|
|
686
|
+
* @default - No minimum version is being enforced
|
|
687
|
+
* @stability experimental
|
|
688
|
+
*/
|
|
689
|
+
readonly minMajorVersion?: number;
|
|
690
|
+
/**
|
|
691
|
+
* Major version to release from the default branch.
|
|
692
|
+
* If this is specified, we bump the latest version of this major version line.
|
|
693
|
+
* If not specified, we bump the global latest version.
|
|
694
|
+
* @default - Major version is not enforced.
|
|
695
|
+
* @stability experimental
|
|
696
|
+
*/
|
|
697
|
+
readonly majorVersion?: number;
|
|
698
|
+
/**
|
|
699
|
+
* Version requirement of `publib` which is used to publish modules to npm.
|
|
700
|
+
* @default "latest"
|
|
701
|
+
* @stability experimental
|
|
702
|
+
*/
|
|
703
|
+
readonly jsiiReleaseVersion?: string;
|
|
704
|
+
/**
|
|
705
|
+
* The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string.
|
|
706
|
+
* This can be any compatible package version, including the deprecated `standard-version@9`.
|
|
707
|
+
* @default - A recent version of "commit-and-tag-version"
|
|
708
|
+
* @stability experimental
|
|
709
|
+
*/
|
|
710
|
+
readonly bumpPackage?: string;
|
|
711
|
+
/**
|
|
712
|
+
* Options for Yarn Berry.
|
|
713
|
+
* @default - Yarn Berry v4 with all default options
|
|
714
|
+
* @stability experimental
|
|
715
|
+
*/
|
|
716
|
+
readonly yarnBerryOptions?: javascript.YarnBerryOptions;
|
|
717
|
+
/**
|
|
718
|
+
* Package's Stability.
|
|
719
|
+
* @stability experimental
|
|
720
|
+
*/
|
|
721
|
+
readonly stability?: string;
|
|
722
|
+
/**
|
|
723
|
+
* npm scripts to include.
|
|
724
|
+
* If a script has the same name as a standard script,
|
|
725
|
+
* the standard script will be overwritten.
|
|
726
|
+
* Also adds the script as a task.
|
|
727
|
+
* @default {}
|
|
728
|
+
* @deprecated use `project.addTask()` or `package.setScript()`
|
|
729
|
+
* @stability deprecated
|
|
730
|
+
*/
|
|
731
|
+
readonly scripts?: Record<string, string>;
|
|
732
|
+
/**
|
|
733
|
+
* Options for privately hosted scoped packages.
|
|
734
|
+
* @default - fetch all scoped packages from the public npm registry
|
|
735
|
+
* @stability experimental
|
|
736
|
+
*/
|
|
737
|
+
readonly scopedPackagesOptions?: Array<javascript.ScopedPackagesOptions>;
|
|
738
|
+
/**
|
|
739
|
+
* If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
|
|
740
|
+
* @stability experimental
|
|
741
|
+
*/
|
|
742
|
+
readonly repositoryDirectory?: string;
|
|
743
|
+
/**
|
|
744
|
+
* The repository is the location where the actual code for your package lives.
|
|
745
|
+
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
|
|
746
|
+
* @stability experimental
|
|
747
|
+
*/
|
|
748
|
+
readonly repository?: string;
|
|
749
|
+
/**
|
|
750
|
+
* The version of PNPM to use if using PNPM as a package manager.
|
|
751
|
+
* @default "9"
|
|
752
|
+
* @stability experimental
|
|
753
|
+
*/
|
|
754
|
+
readonly pnpmVersion?: string;
|
|
755
|
+
/**
|
|
756
|
+
* Peer dependencies for this module.
|
|
757
|
+
* Dependencies listed here are required to
|
|
758
|
+
* be installed (and satisfied) by the _consumer_ of this library. Using peer
|
|
759
|
+
* dependencies allows you to ensure that only a single module of a certain
|
|
760
|
+
* library exists in the `node_modules` tree of your consumers.
|
|
761
|
+
*
|
|
762
|
+
* Note that prior to npm@7, peer dependencies are _not_ automatically
|
|
763
|
+
* installed, which means that adding peer dependencies to a library will be a
|
|
764
|
+
* breaking change for your customers.
|
|
765
|
+
*
|
|
766
|
+
* Unless `peerDependencyOptions.pinnedDevDependency` is disabled (it is
|
|
767
|
+
* enabled by default), projen will automatically add a dev dependency with a
|
|
768
|
+
* pinned version for each peer dependency. This will ensure that you build &
|
|
769
|
+
* test your module against the lowest peer version required.
|
|
770
|
+
* @default []
|
|
771
|
+
* @stability experimental
|
|
772
|
+
*/
|
|
773
|
+
readonly peerDeps?: Array<string>;
|
|
774
|
+
/**
|
|
775
|
+
* Options for `peerDeps`.
|
|
776
|
+
* @stability experimental
|
|
777
|
+
*/
|
|
778
|
+
readonly peerDependencyOptions?: javascript.PeerDependencyOptions;
|
|
779
|
+
/**
|
|
780
|
+
* The "name" in package.json.
|
|
781
|
+
* @default - defaults to project name
|
|
782
|
+
* @stability experimental
|
|
783
|
+
* @featured true
|
|
784
|
+
*/
|
|
785
|
+
readonly packageName?: string;
|
|
786
|
+
/**
|
|
787
|
+
* The Node Package Manager used to execute scripts.
|
|
788
|
+
* @default NodePackageManager.YARN_CLASSIC
|
|
789
|
+
* @stability experimental
|
|
790
|
+
*/
|
|
791
|
+
readonly packageManager?: javascript.NodePackageManager;
|
|
792
|
+
/**
|
|
793
|
+
* GitHub secret which contains the NPM token to use when publishing packages.
|
|
794
|
+
* @default "NPM_TOKEN"
|
|
795
|
+
* @stability experimental
|
|
796
|
+
*/
|
|
797
|
+
readonly npmTokenSecret?: string;
|
|
798
|
+
/**
|
|
799
|
+
* The base URL of the npm package registry.
|
|
800
|
+
* Must be a URL (e.g. start with "https://" or "http://")
|
|
801
|
+
* @default "https://registry.npmjs.org"
|
|
802
|
+
* @stability experimental
|
|
803
|
+
*/
|
|
804
|
+
readonly npmRegistryUrl?: string;
|
|
805
|
+
/**
|
|
806
|
+
* The host name of the npm registry to publish to.
|
|
807
|
+
* Cannot be set together with `npmRegistryUrl`.
|
|
808
|
+
* @deprecated use `npmRegistryUrl` instead
|
|
809
|
+
* @stability deprecated
|
|
810
|
+
*/
|
|
811
|
+
readonly npmRegistry?: string;
|
|
812
|
+
/**
|
|
813
|
+
* Should provenance statements be generated when the package is published.
|
|
814
|
+
* A supported package manager is required to publish a package with npm provenance statements and
|
|
815
|
+
* you will need to use a supported CI/CD provider.
|
|
816
|
+
*
|
|
817
|
+
* Note that the projen `Release` and `Publisher` components are using `publib` to publish packages,
|
|
818
|
+
* which is using npm internally and supports provenance statements independently of the package manager used.
|
|
819
|
+
* @default - true for public packages, false otherwise
|
|
820
|
+
* @stability experimental
|
|
821
|
+
*/
|
|
822
|
+
readonly npmProvenance?: boolean;
|
|
823
|
+
/**
|
|
824
|
+
* Access level of the npm package.
|
|
825
|
+
* @default - for scoped packages (e.g. `foo@bar`), the default is
|
|
826
|
+
`NpmAccess.RESTRICTED`, for non-scoped packages, the default is
|
|
827
|
+
`NpmAccess.PUBLIC`.
|
|
828
|
+
* @stability experimental
|
|
829
|
+
*/
|
|
830
|
+
readonly npmAccess?: javascript.NpmAccess;
|
|
831
|
+
/**
|
|
832
|
+
* The minimum node version required by this package to function. Most projects should not use this option.
|
|
833
|
+
* The value indicates that the package is incompatible with any older versions of node.
|
|
834
|
+
* This requirement is enforced via the engines field.
|
|
835
|
+
*
|
|
836
|
+
* You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
|
|
837
|
+
* Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
|
|
838
|
+
* Setting this option has very high impact on the consumers of your package,
|
|
839
|
+
* as package managers will actively prevent usage with node versions you have marked as incompatible.
|
|
840
|
+
*
|
|
841
|
+
* To change the node version of your CI/CD workflows, use `workflowNodeVersion`.
|
|
842
|
+
* @default - no minimum version is enforced
|
|
843
|
+
* @stability experimental
|
|
844
|
+
*/
|
|
845
|
+
readonly minNodeVersion?: string;
|
|
846
|
+
/**
|
|
847
|
+
* The maximum node version supported by this package. Most projects should not use this option.
|
|
848
|
+
* The value indicates that the package is incompatible with any newer versions of node.
|
|
849
|
+
* This requirement is enforced via the engines field.
|
|
850
|
+
*
|
|
851
|
+
* You will normally not need to set this option.
|
|
852
|
+
* Consider this option only if your package is known to not function with newer versions of node.
|
|
853
|
+
* @default - no maximum version is enforced
|
|
854
|
+
* @stability experimental
|
|
855
|
+
*/
|
|
856
|
+
readonly maxNodeVersion?: string;
|
|
857
|
+
/**
|
|
858
|
+
* Indicates if a license should be added.
|
|
859
|
+
* @default true
|
|
860
|
+
* @stability experimental
|
|
861
|
+
*/
|
|
862
|
+
readonly licensed?: boolean;
|
|
863
|
+
/**
|
|
864
|
+
* License's SPDX identifier.
|
|
865
|
+
* See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses.
|
|
866
|
+
* Use the `licensed` option if you want to no license to be specified.
|
|
867
|
+
* @default "Apache-2.0"
|
|
868
|
+
* @stability experimental
|
|
869
|
+
*/
|
|
870
|
+
readonly license?: string;
|
|
871
|
+
/**
|
|
872
|
+
* Keywords to include in `package.json`.
|
|
873
|
+
* @stability experimental
|
|
874
|
+
*/
|
|
875
|
+
readonly keywords?: Array<string>;
|
|
876
|
+
/**
|
|
877
|
+
* Package's Homepage / Website.
|
|
878
|
+
* @stability experimental
|
|
879
|
+
*/
|
|
880
|
+
readonly homepage?: string;
|
|
881
|
+
/**
|
|
882
|
+
* Module entrypoint (`main` in `package.json`).
|
|
883
|
+
* Set to an empty string to not include `main` in your package.json
|
|
884
|
+
* @default "lib/index.js"
|
|
885
|
+
* @stability experimental
|
|
886
|
+
*/
|
|
887
|
+
readonly entrypoint?: string;
|
|
888
|
+
/**
|
|
889
|
+
* Build dependencies for this module.
|
|
890
|
+
* These dependencies will only be
|
|
891
|
+
* available in your build environment but will not be fetched when this
|
|
892
|
+
* module is consumed.
|
|
893
|
+
*
|
|
894
|
+
* The recommendation is to only specify the module name here (e.g.
|
|
895
|
+
* `express`). This will behave similar to `yarn add` or `npm install` in the
|
|
896
|
+
* sense that it will add the module as a dependency to your `package.json`
|
|
897
|
+
* file with the latest version (`^`). You can specify semver requirements in
|
|
898
|
+
* the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
|
|
899
|
+
* this will be what you `package.json` will eventually include.
|
|
900
|
+
* @default []
|
|
901
|
+
* @stability experimental
|
|
902
|
+
* @featured true
|
|
903
|
+
*/
|
|
904
|
+
readonly devDeps?: Array<string>;
|
|
905
|
+
/**
|
|
906
|
+
* The description is just a string that helps people understand the purpose of the package.
|
|
907
|
+
* It can be used when searching for packages in a package manager as well.
|
|
908
|
+
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
|
|
909
|
+
* @stability experimental
|
|
910
|
+
* @featured true
|
|
911
|
+
*/
|
|
912
|
+
readonly description?: string;
|
|
913
|
+
/**
|
|
914
|
+
* Runtime dependencies of this module.
|
|
915
|
+
* The recommendation is to only specify the module name here (e.g.
|
|
916
|
+
* `express`). This will behave similar to `yarn add` or `npm install` in the
|
|
917
|
+
* sense that it will add the module as a dependency to your `package.json`
|
|
918
|
+
* file with the latest version (`^`). You can specify semver requirements in
|
|
919
|
+
* the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
|
|
920
|
+
* this will be what you `package.json` will eventually include.
|
|
921
|
+
* @default []
|
|
922
|
+
* @stability experimental
|
|
923
|
+
* @featured true
|
|
924
|
+
*/
|
|
925
|
+
readonly deps?: Array<string>;
|
|
926
|
+
/**
|
|
927
|
+
* Options for npm packages using AWS CodeArtifact.
|
|
928
|
+
* This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
|
|
929
|
+
* @default - undefined
|
|
930
|
+
* @stability experimental
|
|
931
|
+
*/
|
|
932
|
+
readonly codeArtifactOptions?: javascript.CodeArtifactOptions;
|
|
933
|
+
/**
|
|
934
|
+
* The version of Bun to use if using Bun as a package manager.
|
|
935
|
+
* @default "latest"
|
|
936
|
+
* @stability experimental
|
|
937
|
+
*/
|
|
938
|
+
readonly bunVersion?: string;
|
|
939
|
+
/**
|
|
940
|
+
* List of dependencies to bundle into this module.
|
|
941
|
+
* These modules will be
|
|
942
|
+
* added both to the `dependencies` section and `bundledDependencies` section of
|
|
943
|
+
* your `package.json`.
|
|
944
|
+
*
|
|
945
|
+
* The recommendation is to only specify the module name here (e.g.
|
|
946
|
+
* `express`). This will behave similar to `yarn add` or `npm install` in the
|
|
947
|
+
* sense that it will add the module as a dependency to your `package.json`
|
|
948
|
+
* file with the latest version (`^`). You can specify semver requirements in
|
|
949
|
+
* the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
|
|
950
|
+
* this will be what you `package.json` will eventually include.
|
|
951
|
+
* @stability experimental
|
|
952
|
+
*/
|
|
953
|
+
readonly bundledDeps?: Array<string>;
|
|
954
|
+
/**
|
|
955
|
+
* The url to your project's issue tracker.
|
|
956
|
+
* @stability experimental
|
|
957
|
+
*/
|
|
958
|
+
readonly bugsUrl?: string;
|
|
959
|
+
/**
|
|
960
|
+
* The email address to which issues should be reported.
|
|
961
|
+
* @stability experimental
|
|
962
|
+
*/
|
|
963
|
+
readonly bugsEmail?: string;
|
|
964
|
+
/**
|
|
965
|
+
* Binary programs vended with your module.
|
|
966
|
+
* You can use this option to add/customize how binaries are represented in
|
|
967
|
+
* your `package.json`, but unless `autoDetectBin` is `false`, every
|
|
968
|
+
* executable file under `bin` will automatically be added to this section.
|
|
969
|
+
* @stability experimental
|
|
970
|
+
*/
|
|
971
|
+
readonly bin?: Record<string, string>;
|
|
972
|
+
/**
|
|
973
|
+
* Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
|
|
974
|
+
* @default true
|
|
975
|
+
* @stability experimental
|
|
976
|
+
*/
|
|
977
|
+
readonly autoDetectBin?: boolean;
|
|
978
|
+
/**
|
|
979
|
+
* Author's URL / Website.
|
|
980
|
+
* @stability experimental
|
|
981
|
+
*/
|
|
982
|
+
readonly authorUrl?: string;
|
|
983
|
+
/**
|
|
984
|
+
* Is the author an organization.
|
|
985
|
+
* @stability experimental
|
|
986
|
+
*/
|
|
987
|
+
readonly authorOrganization?: boolean;
|
|
988
|
+
/**
|
|
989
|
+
* Author's name.
|
|
990
|
+
* @stability experimental
|
|
991
|
+
*/
|
|
992
|
+
readonly authorName?: string;
|
|
993
|
+
/**
|
|
994
|
+
* Author's e-mail.
|
|
995
|
+
* @stability experimental
|
|
996
|
+
*/
|
|
997
|
+
readonly authorEmail?: string;
|
|
998
|
+
/**
|
|
999
|
+
* Allow the project to include `peerDependencies` and `bundledDependencies`.
|
|
1000
|
+
* This is normally only allowed for libraries. For apps, there's no meaning
|
|
1001
|
+
* for specifying these.
|
|
1002
|
+
* @default true
|
|
1003
|
+
* @stability experimental
|
|
1004
|
+
*/
|
|
1005
|
+
readonly allowLibraryDependencies?: boolean;
|
|
1006
|
+
/**
|
|
1007
|
+
* Enable VSCode integration.
|
|
1008
|
+
* Enabled by default for root projects. Disabled for non-root projects.
|
|
1009
|
+
* @default true
|
|
1010
|
+
* @stability experimental
|
|
1011
|
+
*/
|
|
1012
|
+
readonly vscode?: boolean;
|
|
1013
|
+
/**
|
|
1014
|
+
* Auto-close stale issues and pull requests.
|
|
1015
|
+
* To disable set `stale` to `false`.
|
|
1016
|
+
* @default - see defaults in `StaleOptions`
|
|
1017
|
+
* @stability experimental
|
|
1018
|
+
*/
|
|
1019
|
+
readonly staleOptions?: github.StaleOptions;
|
|
1020
|
+
/**
|
|
1021
|
+
* Auto-close of stale issues and pull request.
|
|
1022
|
+
* See `staleOptions` for options.
|
|
1023
|
+
* @default false
|
|
1024
|
+
* @stability experimental
|
|
1025
|
+
*/
|
|
1026
|
+
readonly stale?: boolean;
|
|
1027
|
+
/**
|
|
1028
|
+
* Configuration of the README.md file
|
|
1029
|
+
*/
|
|
1030
|
+
readonly readme?: ReadmeOptions;
|
|
1031
|
+
/**
|
|
1032
|
+
* The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
|
|
1033
|
+
* This token needs to have the `repo`, `workflows`
|
|
1034
|
+
* and `packages` scope.
|
|
1035
|
+
* @default "PROJEN_GITHUB_TOKEN"
|
|
1036
|
+
* @deprecated use `projenCredentials`
|
|
1037
|
+
* @stability deprecated
|
|
1038
|
+
*/
|
|
1039
|
+
readonly projenTokenSecret?: string;
|
|
1040
|
+
/**
|
|
1041
|
+
* Choose a method of providing GitHub API access for projen workflows.
|
|
1042
|
+
* @default - use a personal access token named PROJEN_GITHUB_TOKEN
|
|
1043
|
+
* @stability experimental
|
|
1044
|
+
*/
|
|
1045
|
+
readonly projenCredentials?: github.GithubCredentials;
|
|
1046
|
+
/**
|
|
1047
|
+
* Which type of project this is (library/app).
|
|
1048
|
+
* @default ProjectType.UNKNOWN
|
|
1049
|
+
* @deprecated no longer supported at the base project level
|
|
1050
|
+
* @stability deprecated
|
|
1051
|
+
*/
|
|
1052
|
+
readonly projectType?: ProjectType;
|
|
1053
|
+
/**
|
|
1054
|
+
* Options for mergify.
|
|
1055
|
+
* @default - default options
|
|
1056
|
+
* @deprecated use `githubOptions.mergifyOptions` instead
|
|
1057
|
+
* @stability deprecated
|
|
1058
|
+
*/
|
|
1059
|
+
readonly mergifyOptions?: github.MergifyOptions;
|
|
1060
|
+
/**
|
|
1061
|
+
* Whether mergify should be enabled on this repository or not.
|
|
1062
|
+
* @default true
|
|
1063
|
+
* @deprecated use `githubOptions.mergify` instead
|
|
1064
|
+
* @stability deprecated
|
|
1065
|
+
*/
|
|
1066
|
+
readonly mergify?: boolean;
|
|
1067
|
+
/**
|
|
1068
|
+
* Add a Gitpod development environment.
|
|
1069
|
+
* @default false
|
|
1070
|
+
* @stability experimental
|
|
1071
|
+
*/
|
|
1072
|
+
readonly gitpod?: boolean;
|
|
1073
|
+
/**
|
|
1074
|
+
* Options for GitHub integration.
|
|
1075
|
+
* @default - see GitHubOptions
|
|
1076
|
+
* @stability experimental
|
|
1077
|
+
*/
|
|
1078
|
+
readonly githubOptions?: github.GitHubOptions;
|
|
1079
|
+
/**
|
|
1080
|
+
* Enable GitHub integration.
|
|
1081
|
+
* Enabled by default for root projects. Disabled for non-root projects.
|
|
1082
|
+
* @default true
|
|
1083
|
+
* @stability experimental
|
|
1084
|
+
*/
|
|
1085
|
+
readonly github?: boolean;
|
|
1086
|
+
/**
|
|
1087
|
+
* Add a VSCode development environment (used for GitHub Codespaces).
|
|
1088
|
+
* @default false
|
|
1089
|
+
* @stability experimental
|
|
1090
|
+
*/
|
|
1091
|
+
readonly devContainer?: boolean;
|
|
1092
|
+
/**
|
|
1093
|
+
* Add a `clobber` task which resets the repo to origin.
|
|
1094
|
+
* @default - true, but false for subprojects
|
|
1095
|
+
* @stability experimental
|
|
1096
|
+
*/
|
|
1097
|
+
readonly clobber?: boolean;
|
|
1098
|
+
/**
|
|
1099
|
+
* Configure options for automatic merging on GitHub.
|
|
1100
|
+
* Has no effect if
|
|
1101
|
+
* `github.mergify` or `autoMerge` is set to false.
|
|
1102
|
+
* @default - see defaults in `AutoMergeOptions`
|
|
1103
|
+
* @stability experimental
|
|
1104
|
+
*/
|
|
1105
|
+
readonly autoMergeOptions?: github.AutoMergeOptions;
|
|
1106
|
+
/**
|
|
1107
|
+
* Enable automatic merging on GitHub.
|
|
1108
|
+
* Has no effect if `github.mergify`
|
|
1109
|
+
* is set to false.
|
|
1110
|
+
* @default true
|
|
1111
|
+
* @stability experimental
|
|
1112
|
+
*/
|
|
1113
|
+
readonly autoMerge?: boolean;
|
|
1114
|
+
/**
|
|
1115
|
+
* Enable and configure the 'auto approve' workflow.
|
|
1116
|
+
* @default - auto approve is disabled
|
|
1117
|
+
* @stability experimental
|
|
1118
|
+
*/
|
|
1119
|
+
readonly autoApproveOptions?: github.AutoApproveOptions;
|
|
1120
|
+
/**
|
|
1121
|
+
* Options for renovatebot.
|
|
1122
|
+
* @default - default options
|
|
1123
|
+
* @stability experimental
|
|
1124
|
+
*/
|
|
1125
|
+
readonly renovatebotOptions?: RenovatebotOptions;
|
|
1126
|
+
/**
|
|
1127
|
+
* Use renovatebot to handle dependency upgrades.
|
|
1128
|
+
* @default false
|
|
1129
|
+
* @stability experimental
|
|
1130
|
+
*/
|
|
1131
|
+
readonly renovatebot?: boolean;
|
|
1132
|
+
/**
|
|
1133
|
+
* Options for .projenrc.json.
|
|
1134
|
+
* @default - default options
|
|
1135
|
+
* @stability experimental
|
|
1136
|
+
*/
|
|
1137
|
+
readonly projenrcJsonOptions?: ProjenrcJsonOptions;
|
|
1138
|
+
/**
|
|
1139
|
+
* Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
|
|
1140
|
+
* @default false
|
|
1141
|
+
* @stability experimental
|
|
1142
|
+
*/
|
|
1143
|
+
readonly projenrcJson?: boolean;
|
|
1144
|
+
/**
|
|
1145
|
+
* The shell command to use in order to run the projen CLI.
|
|
1146
|
+
* Can be used to customize in special environments.
|
|
1147
|
+
* @default "npx projen"
|
|
1148
|
+
* @stability experimental
|
|
1149
|
+
*/
|
|
1150
|
+
readonly projenCommand?: string;
|
|
1151
|
+
/**
|
|
1152
|
+
* The parent project, if this project is part of a bigger project.
|
|
1153
|
+
* @stability experimental
|
|
1154
|
+
*/
|
|
1155
|
+
readonly parent?: Project;
|
|
1156
|
+
/**
|
|
1157
|
+
* The root directory of the project.
|
|
1158
|
+
* Relative to this directory, all files are synthesized.
|
|
1159
|
+
*
|
|
1160
|
+
* If this project has a parent, this directory is relative to the parent
|
|
1161
|
+
* directory and it cannot be the same as the parent or any of it's other
|
|
1162
|
+
* subprojects.
|
|
1163
|
+
* @default "."
|
|
1164
|
+
* @stability experimental
|
|
1165
|
+
*/
|
|
1166
|
+
readonly outdir?: string;
|
|
1167
|
+
/**
|
|
1168
|
+
* Configure logging options such as verbosity.
|
|
1169
|
+
* @default {}
|
|
1170
|
+
* @stability experimental
|
|
1171
|
+
*/
|
|
1172
|
+
readonly logging?: LoggerOptions;
|
|
1173
|
+
/**
|
|
1174
|
+
* Configuration options for git.
|
|
1175
|
+
* @stability experimental
|
|
1176
|
+
*/
|
|
1177
|
+
readonly gitOptions?: GitOptions;
|
|
1178
|
+
/**
|
|
1179
|
+
* Configuration options for .gitignore file.
|
|
1180
|
+
* @stability experimental
|
|
1181
|
+
*/
|
|
1182
|
+
readonly gitIgnoreOptions?: IgnoreFileOptions;
|
|
1183
|
+
/**
|
|
1184
|
+
* Whether to commit the managed files by default.
|
|
1185
|
+
* @default true
|
|
1186
|
+
* @stability experimental
|
|
1187
|
+
*/
|
|
1188
|
+
readonly commitGenerated?: boolean;
|
|
1189
|
+
/**
|
|
1190
|
+
* This is the name of your project.
|
|
1191
|
+
* @default $BASEDIR
|
|
1192
|
+
* @stability experimental
|
|
1193
|
+
* @featured true
|
|
1194
|
+
*/
|
|
1195
|
+
readonly name: string;
|
|
1196
|
+
/**
|
|
1197
|
+
* List of teams used to generate the CODEOWNERS file
|
|
1198
|
+
*/
|
|
1199
|
+
readonly codeOwners: Array<string>;
|
|
1200
|
+
}
|