@jttc/projen-project-types 1.0.0-beta.0 → 1.0.0-beta.2

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/API.md CHANGED
@@ -1,21 +1,28 @@
1
1
  # API Reference <a name="API Reference" id="api-reference"></a>
2
2
 
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
3
4
 
5
+ ### CdkLibrary <a name="CdkLibrary" id="@jttc/projen-project-types.CdkLibrary"></a>
4
6
 
5
- ## Classes <a name="Classes" id="Classes"></a>
7
+ CDK Construct Library Project.
6
8
 
7
- ### Hello <a name="Hello" id="@jttc/projen-project-types.Hello"></a>
8
-
9
- #### Initializers <a name="Initializers" id="@jttc/projen-project-types.Hello.Initializer"></a>
9
+ #### Initializers <a name="Initializers" id="@jttc/projen-project-types.CdkLibrary.Initializer"></a>
10
10
 
11
11
  ```typescript
12
- import { Hello } from '@jttc/projen-project-types'
12
+ import { CdkLibrary } from '@jttc/projen-project-types'
13
13
 
14
- new Hello()
14
+ new CdkLibrary(options: AwsCdkConstructLibraryOptions)
15
15
  ```
16
16
 
17
17
  | **Name** | **Type** | **Description** |
18
18
  | --- | --- | --- |
19
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.Initializer.parameter.options">options</a></code> | <code>projen.awscdk.AwsCdkConstructLibraryOptions</code> | *No description.* |
20
+
21
+ ---
22
+
23
+ ##### `options`<sup>Required</sup> <a name="options" id="@jttc/projen-project-types.CdkLibrary.Initializer.parameter.options"></a>
24
+
25
+ - *Type:* projen.awscdk.AwsCdkConstructLibraryOptions
19
26
 
20
27
  ---
21
28
 
@@ -23,16 +30,1568 @@ new Hello()
23
30
 
24
31
  | **Name** | **Description** |
25
32
  | --- | --- |
26
- | <code><a href="#@jttc/projen-project-types.Hello.sayHello">sayHello</a></code> | *No description.* |
33
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.toString">toString</a></code> | Returns a string representation of this construct. |
34
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
35
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
36
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
37
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addTask">addTask</a></code> | Adds a new task to this project. |
38
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
39
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
40
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
41
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
42
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.removeTask">removeTask</a></code> | Removes a task from a project. |
43
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
44
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.synth">synth</a></code> | Synthesize all project files into `outdir`. |
45
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
46
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
47
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
48
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
49
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addBins">addBins</a></code> | *No description.* |
50
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
51
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
52
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addDeps">addDeps</a></code> | Defines normal dependencies. |
53
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
54
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addFields">addFields</a></code> | Directly set fields in `package.json`. |
55
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
56
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
57
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
58
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
59
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
60
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
61
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
62
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
63
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addCdkDependencies">addCdkDependencies</a></code> | Adds dependencies to AWS CDK modules. |
64
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.addCdkTestDependencies">addCdkTestDependencies</a></code> | Adds AWS CDK modules as dev dependencies. |
65
+
66
+ ---
67
+
68
+ ##### `toString` <a name="toString" id="@jttc/projen-project-types.CdkLibrary.toString"></a>
69
+
70
+ ```typescript
71
+ public toString(): string
72
+ ```
73
+
74
+ Returns a string representation of this construct.
75
+
76
+ ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="@jttc/projen-project-types.CdkLibrary.addExcludeFromCleanup"></a>
77
+
78
+ ```typescript
79
+ public addExcludeFromCleanup(globs: ...string[]): void
80
+ ```
81
+
82
+ Exclude the matching files from pre-synth cleanup.
83
+
84
+ Can be used when, for example, some
85
+ source files include the projen marker and we don't want them to be erased during synth.
86
+
87
+ ###### `globs`<sup>Required</sup> <a name="globs" id="@jttc/projen-project-types.CdkLibrary.addExcludeFromCleanup.parameter.globs"></a>
88
+
89
+ - *Type:* ...string[]
90
+
91
+ The glob patterns to match.
92
+
93
+ ---
94
+
95
+ ##### `addGitIgnore` <a name="addGitIgnore" id="@jttc/projen-project-types.CdkLibrary.addGitIgnore"></a>
96
+
97
+ ```typescript
98
+ public addGitIgnore(pattern: string): void
99
+ ```
100
+
101
+ Adds a .gitignore pattern.
102
+
103
+ ###### `pattern`<sup>Required</sup> <a name="pattern" id="@jttc/projen-project-types.CdkLibrary.addGitIgnore.parameter.pattern"></a>
104
+
105
+ - *Type:* string
106
+
107
+ The glob pattern to ignore.
108
+
109
+ ---
110
+
111
+ ##### `addPackageIgnore` <a name="addPackageIgnore" id="@jttc/projen-project-types.CdkLibrary.addPackageIgnore"></a>
112
+
113
+ ```typescript
114
+ public addPackageIgnore(pattern: string): void
115
+ ```
116
+
117
+ Adds patterns to be ignored by npm.
118
+
119
+ ###### `pattern`<sup>Required</sup> <a name="pattern" id="@jttc/projen-project-types.CdkLibrary.addPackageIgnore.parameter.pattern"></a>
120
+
121
+ - *Type:* string
122
+
123
+ The pattern to ignore.
124
+
125
+ ---
126
+
127
+ ##### `addTask` <a name="addTask" id="@jttc/projen-project-types.CdkLibrary.addTask"></a>
128
+
129
+ ```typescript
130
+ public addTask(name: string, props?: TaskOptions): Task
131
+ ```
132
+
133
+ Adds a new task to this project.
134
+
135
+ This will fail if the project already has
136
+ a task with this name.
137
+
138
+ ###### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.addTask.parameter.name"></a>
139
+
140
+ - *Type:* string
141
+
142
+ The task name to add.
143
+
144
+ ---
145
+
146
+ ###### `props`<sup>Optional</sup> <a name="props" id="@jttc/projen-project-types.CdkLibrary.addTask.parameter.props"></a>
147
+
148
+ - *Type:* projen.TaskOptions
149
+
150
+ Task properties.
151
+
152
+ ---
153
+
154
+ ##### ~~`addTip`~~ <a name="addTip" id="@jttc/projen-project-types.CdkLibrary.addTip"></a>
155
+
156
+ ```typescript
157
+ public addTip(message: string): void
158
+ ```
159
+
160
+ Prints a "tip" message during synthesis.
161
+
162
+ ###### `message`<sup>Required</sup> <a name="message" id="@jttc/projen-project-types.CdkLibrary.addTip.parameter.message"></a>
163
+
164
+ - *Type:* string
165
+
166
+ The message.
167
+
168
+ ---
169
+
170
+ ##### `annotateGenerated` <a name="annotateGenerated" id="@jttc/projen-project-types.CdkLibrary.annotateGenerated"></a>
171
+
172
+ ```typescript
173
+ public annotateGenerated(glob: string): void
174
+ ```
175
+
176
+ Marks the provided file(s) as being generated.
177
+
178
+ This is achieved using the
179
+ github-linguist attributes. Generated files do not count against the
180
+ repository statistics and language breakdown.
181
+
182
+ > [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
183
+
184
+ ###### `glob`<sup>Required</sup> <a name="glob" id="@jttc/projen-project-types.CdkLibrary.annotateGenerated.parameter.glob"></a>
185
+
186
+ - *Type:* string
187
+
188
+ the glob pattern to match (could be a file path).
189
+
190
+ ---
191
+
192
+ ##### `postSynthesize` <a name="postSynthesize" id="@jttc/projen-project-types.CdkLibrary.postSynthesize"></a>
193
+
194
+ ```typescript
195
+ public postSynthesize(): void
196
+ ```
197
+
198
+ Called after all components are synthesized.
199
+
200
+ Order is *not* guaranteed.
201
+
202
+ ##### `preSynthesize` <a name="preSynthesize" id="@jttc/projen-project-types.CdkLibrary.preSynthesize"></a>
203
+
204
+ ```typescript
205
+ public preSynthesize(): void
206
+ ```
207
+
208
+ Called before all components are synthesized.
209
+
210
+ ##### `removeTask` <a name="removeTask" id="@jttc/projen-project-types.CdkLibrary.removeTask"></a>
211
+
212
+ ```typescript
213
+ public removeTask(name: string): Task
214
+ ```
215
+
216
+ Removes a task from a project.
217
+
218
+ ###### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.removeTask.parameter.name"></a>
219
+
220
+ - *Type:* string
221
+
222
+ The name of the task to remove.
223
+
224
+ ---
225
+
226
+ ##### `runTaskCommand` <a name="runTaskCommand" id="@jttc/projen-project-types.CdkLibrary.runTaskCommand"></a>
227
+
228
+ ```typescript
229
+ public runTaskCommand(task: Task): string
230
+ ```
231
+
232
+ Returns the shell command to execute in order to run a task.
233
+
234
+ This will
235
+ typically be `npx projen TASK`.
236
+
237
+ ###### `task`<sup>Required</sup> <a name="task" id="@jttc/projen-project-types.CdkLibrary.runTaskCommand.parameter.task"></a>
238
+
239
+ - *Type:* projen.Task
240
+
241
+ The task for which the command is required.
242
+
243
+ ---
244
+
245
+ ##### `synth` <a name="synth" id="@jttc/projen-project-types.CdkLibrary.synth"></a>
246
+
247
+ ```typescript
248
+ public synth(): void
249
+ ```
250
+
251
+ Synthesize all project files into `outdir`.
252
+
253
+ 1. Call "this.preSynthesize()"
254
+ 2. Delete all generated files
255
+ 3. Synthesize all subprojects
256
+ 4. Synthesize all components of this project
257
+ 5. Call "postSynthesize()" for all components of this project
258
+ 6. Call "this.postSynthesize()"
259
+
260
+ ##### `tryFindFile` <a name="tryFindFile" id="@jttc/projen-project-types.CdkLibrary.tryFindFile"></a>
261
+
262
+ ```typescript
263
+ public tryFindFile(filePath: string): FileBase
264
+ ```
265
+
266
+ Finds a file at the specified relative path within this project and all its subprojects.
267
+
268
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@jttc/projen-project-types.CdkLibrary.tryFindFile.parameter.filePath"></a>
269
+
270
+ - *Type:* string
271
+
272
+ The file path.
273
+
274
+ If this path is relative, it will be resolved
275
+ from the root of _this_ project.
27
276
 
28
277
  ---
29
278
 
30
- ##### `sayHello` <a name="sayHello" id="@jttc/projen-project-types.Hello.sayHello"></a>
279
+ ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="@jttc/projen-project-types.CdkLibrary.tryFindJsonFile"></a>
31
280
 
32
281
  ```typescript
33
- public sayHello(): string
282
+ public tryFindJsonFile(filePath: string): JsonFile
34
283
  ```
35
284
 
285
+ Finds a json file by name.
286
+
287
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@jttc/projen-project-types.CdkLibrary.tryFindJsonFile.parameter.filePath"></a>
288
+
289
+ - *Type:* string
290
+
291
+ The file path.
292
+
293
+ ---
294
+
295
+ ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="@jttc/projen-project-types.CdkLibrary.tryFindObjectFile"></a>
296
+
297
+ ```typescript
298
+ public tryFindObjectFile(filePath: string): ObjectFile
299
+ ```
300
+
301
+ Finds an object file (like JsonFile, YamlFile, etc.) by name.
302
+
303
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@jttc/projen-project-types.CdkLibrary.tryFindObjectFile.parameter.filePath"></a>
304
+
305
+ - *Type:* string
306
+
307
+ The file path.
308
+
309
+ ---
310
+
311
+ ##### `tryRemoveFile` <a name="tryRemoveFile" id="@jttc/projen-project-types.CdkLibrary.tryRemoveFile"></a>
312
+
313
+ ```typescript
314
+ public tryRemoveFile(filePath: string): FileBase
315
+ ```
316
+
317
+ Finds a file at the specified relative path within this project and removes it.
318
+
319
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@jttc/projen-project-types.CdkLibrary.tryRemoveFile.parameter.filePath"></a>
320
+
321
+ - *Type:* string
322
+
323
+ The file path.
324
+
325
+ If this path is relative, it will be
326
+ resolved from the root of _this_ project.
327
+
328
+ ---
329
+
330
+ ##### `addBins` <a name="addBins" id="@jttc/projen-project-types.CdkLibrary.addBins"></a>
331
+
332
+ ```typescript
333
+ public addBins(bins: {[ key: string ]: string}): void
334
+ ```
335
+
336
+ ###### `bins`<sup>Required</sup> <a name="bins" id="@jttc/projen-project-types.CdkLibrary.addBins.parameter.bins"></a>
337
+
338
+ - *Type:* {[ key: string ]: string}
339
+
340
+ ---
341
+
342
+ ##### `addBundledDeps` <a name="addBundledDeps" id="@jttc/projen-project-types.CdkLibrary.addBundledDeps"></a>
343
+
344
+ ```typescript
345
+ public addBundledDeps(deps: ...string[]): void
346
+ ```
347
+
348
+ Defines bundled dependencies.
349
+
350
+ Bundled dependencies will be added as normal dependencies as well as to the
351
+ `bundledDependencies` section of your `package.json`.
352
+
353
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addBundledDeps.parameter.deps"></a>
354
+
355
+ - *Type:* ...string[]
356
+
357
+ Names modules to install.
358
+
359
+ By default, the the dependency will
360
+ be installed in the next `npx projen` run and the version will be recorded
361
+ in your `package.json` file. You can upgrade manually or using `yarn
362
+ add/upgrade`. If you wish to specify a version range use this syntax:
363
+ `module@^7`.
364
+
365
+ ---
366
+
367
+ ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="@jttc/projen-project-types.CdkLibrary.addCompileCommand"></a>
368
+
369
+ ```typescript
370
+ public addCompileCommand(commands: ...string[]): void
371
+ ```
372
+
373
+ DEPRECATED.
374
+
375
+ ###### `commands`<sup>Required</sup> <a name="commands" id="@jttc/projen-project-types.CdkLibrary.addCompileCommand.parameter.commands"></a>
376
+
377
+ - *Type:* ...string[]
378
+
379
+ ---
380
+
381
+ ##### `addDeps` <a name="addDeps" id="@jttc/projen-project-types.CdkLibrary.addDeps"></a>
382
+
383
+ ```typescript
384
+ public addDeps(deps: ...string[]): void
385
+ ```
386
+
387
+ Defines normal dependencies.
388
+
389
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addDeps.parameter.deps"></a>
390
+
391
+ - *Type:* ...string[]
392
+
393
+ Names modules to install.
394
+
395
+ By default, the the dependency will
396
+ be installed in the next `npx projen` run and the version will be recorded
397
+ in your `package.json` file. You can upgrade manually or using `yarn
398
+ add/upgrade`. If you wish to specify a version range use this syntax:
399
+ `module@^7`.
400
+
401
+ ---
402
+
403
+ ##### `addDevDeps` <a name="addDevDeps" id="@jttc/projen-project-types.CdkLibrary.addDevDeps"></a>
404
+
405
+ ```typescript
406
+ public addDevDeps(deps: ...string[]): void
407
+ ```
408
+
409
+ Defines development/test dependencies.
410
+
411
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addDevDeps.parameter.deps"></a>
412
+
413
+ - *Type:* ...string[]
414
+
415
+ Names modules to install.
416
+
417
+ By default, the the dependency will
418
+ be installed in the next `npx projen` run and the version will be recorded
419
+ in your `package.json` file. You can upgrade manually or using `yarn
420
+ add/upgrade`. If you wish to specify a version range use this syntax:
421
+ `module@^7`.
422
+
423
+ ---
424
+
425
+ ##### `addFields` <a name="addFields" id="@jttc/projen-project-types.CdkLibrary.addFields"></a>
426
+
427
+ ```typescript
428
+ public addFields(fields: {[ key: string ]: any}): void
429
+ ```
430
+
431
+ Directly set fields in `package.json`.
432
+
433
+ ###### `fields`<sup>Required</sup> <a name="fields" id="@jttc/projen-project-types.CdkLibrary.addFields.parameter.fields"></a>
434
+
435
+ - *Type:* {[ key: string ]: any}
436
+
437
+ The fields to set.
438
+
439
+ ---
440
+
441
+ ##### `addKeywords` <a name="addKeywords" id="@jttc/projen-project-types.CdkLibrary.addKeywords"></a>
442
+
443
+ ```typescript
444
+ public addKeywords(keywords: ...string[]): void
445
+ ```
446
+
447
+ Adds keywords to package.json (deduplicated).
448
+
449
+ ###### `keywords`<sup>Required</sup> <a name="keywords" id="@jttc/projen-project-types.CdkLibrary.addKeywords.parameter.keywords"></a>
450
+
451
+ - *Type:* ...string[]
452
+
453
+ The keywords to add.
454
+
455
+ ---
456
+
457
+ ##### `addPeerDeps` <a name="addPeerDeps" id="@jttc/projen-project-types.CdkLibrary.addPeerDeps"></a>
458
+
459
+ ```typescript
460
+ public addPeerDeps(deps: ...string[]): void
461
+ ```
462
+
463
+ Defines peer dependencies.
464
+
465
+ When adding peer dependencies, a devDependency will also be added on the
466
+ pinned version of the declared peer. This will ensure that you are testing
467
+ your code against the minimum version required from your consumers.
468
+
469
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addPeerDeps.parameter.deps"></a>
470
+
471
+ - *Type:* ...string[]
472
+
473
+ Names modules to install.
474
+
475
+ By default, the the dependency will
476
+ be installed in the next `npx projen` run and the version will be recorded
477
+ in your `package.json` file. You can upgrade manually or using `yarn
478
+ add/upgrade`. If you wish to specify a version range use this syntax:
479
+ `module@^7`.
480
+
481
+ ---
482
+
483
+ ##### `addScripts` <a name="addScripts" id="@jttc/projen-project-types.CdkLibrary.addScripts"></a>
484
+
485
+ ```typescript
486
+ public addScripts(scripts: {[ key: string ]: string}): void
487
+ ```
488
+
489
+ Replaces the contents of multiple npm package.json scripts.
490
+
491
+ ###### `scripts`<sup>Required</sup> <a name="scripts" id="@jttc/projen-project-types.CdkLibrary.addScripts.parameter.scripts"></a>
492
+
493
+ - *Type:* {[ key: string ]: string}
494
+
495
+ The scripts to set.
496
+
497
+ ---
498
+
499
+ ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="@jttc/projen-project-types.CdkLibrary.addTestCommand"></a>
500
+
501
+ ```typescript
502
+ public addTestCommand(commands: ...string[]): void
503
+ ```
504
+
505
+ DEPRECATED.
506
+
507
+ ###### `commands`<sup>Required</sup> <a name="commands" id="@jttc/projen-project-types.CdkLibrary.addTestCommand.parameter.commands"></a>
508
+
509
+ - *Type:* ...string[]
510
+
511
+ ---
512
+
513
+ ##### ~~`hasScript`~~ <a name="hasScript" id="@jttc/projen-project-types.CdkLibrary.hasScript"></a>
514
+
515
+ ```typescript
516
+ public hasScript(name: string): boolean
517
+ ```
518
+
519
+ Indicates if a script by the name name is defined.
520
+
521
+ ###### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.hasScript.parameter.name"></a>
522
+
523
+ - *Type:* string
524
+
525
+ The name of the script.
526
+
527
+ ---
528
+
529
+ ##### `removeScript` <a name="removeScript" id="@jttc/projen-project-types.CdkLibrary.removeScript"></a>
530
+
531
+ ```typescript
532
+ public removeScript(name: string): void
533
+ ```
534
+
535
+ Removes the npm script (always successful).
536
+
537
+ ###### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.removeScript.parameter.name"></a>
538
+
539
+ - *Type:* string
540
+
541
+ The name of the script.
542
+
543
+ ---
544
+
545
+ ##### `renderWorkflowSetup` <a name="renderWorkflowSetup" id="@jttc/projen-project-types.CdkLibrary.renderWorkflowSetup"></a>
546
+
547
+ ```typescript
548
+ public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
549
+ ```
550
+
551
+ Returns the set of workflow steps which should be executed to bootstrap a workflow.
552
+
553
+ ###### `options`<sup>Optional</sup> <a name="options" id="@jttc/projen-project-types.CdkLibrary.renderWorkflowSetup.parameter.options"></a>
554
+
555
+ - *Type:* projen.javascript.RenderWorkflowSetupOptions
556
+
557
+ Options.
558
+
559
+ ---
560
+
561
+ ##### `setScript` <a name="setScript" id="@jttc/projen-project-types.CdkLibrary.setScript"></a>
562
+
563
+ ```typescript
564
+ public setScript(name: string, command: string): void
565
+ ```
566
+
567
+ Replaces the contents of an npm package.json script.
568
+
569
+ ###### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.setScript.parameter.name"></a>
570
+
571
+ - *Type:* string
572
+
573
+ The script name.
574
+
575
+ ---
576
+
577
+ ###### `command`<sup>Required</sup> <a name="command" id="@jttc/projen-project-types.CdkLibrary.setScript.parameter.command"></a>
578
+
579
+ - *Type:* string
580
+
581
+ The command to execute.
582
+
583
+ ---
584
+
585
+ ##### ~~`addCdkDependencies`~~ <a name="addCdkDependencies" id="@jttc/projen-project-types.CdkLibrary.addCdkDependencies"></a>
586
+
587
+ ```typescript
588
+ public addCdkDependencies(deps: ...string[]): void
589
+ ```
590
+
591
+ Adds dependencies to AWS CDK modules.
592
+
593
+ Since this is a library project, dependencies will be added as peer dependencies.
594
+
595
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addCdkDependencies.parameter.deps"></a>
596
+
597
+ - *Type:* ...string[]
598
+
599
+ names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
600
+
601
+ ---
602
+
603
+ ##### ~~`addCdkTestDependencies`~~ <a name="addCdkTestDependencies" id="@jttc/projen-project-types.CdkLibrary.addCdkTestDependencies"></a>
604
+
605
+ ```typescript
606
+ public addCdkTestDependencies(deps: ...string[]): void
607
+ ```
608
+
609
+ Adds AWS CDK modules as dev dependencies.
610
+
611
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.addCdkTestDependencies.parameter.deps"></a>
612
+
613
+ - *Type:* ...string[]
614
+
615
+ names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
616
+
617
+ ---
618
+
619
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
620
+
621
+ | **Name** | **Description** |
622
+ | --- | --- |
623
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
624
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.isProject">isProject</a></code> | Test whether the given construct is a project. |
625
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.of">of</a></code> | Find the closest ancestor project for given construct. |
626
+
627
+ ---
628
+
629
+ ##### `isConstruct` <a name="isConstruct" id="@jttc/projen-project-types.CdkLibrary.isConstruct"></a>
630
+
631
+ ```typescript
632
+ import { CdkLibrary } from '@jttc/projen-project-types'
633
+
634
+ CdkLibrary.isConstruct(x: any)
635
+ ```
636
+
637
+ Checks if `x` is a construct.
638
+
639
+ Use this method instead of `instanceof` to properly detect `Construct`
640
+ instances, even when the construct library is symlinked.
641
+
642
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
643
+ disk are seen as independent, completely different libraries. As a
644
+ consequence, the class `Construct` in each copy of the `constructs` library
645
+ is seen as a different class, and an instance of one class will not test as
646
+ `instanceof` the other class. `npm install` will not create installations
647
+ like this, but users may manually symlink construct libraries together or
648
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
649
+ library can be accidentally installed, and `instanceof` will behave
650
+ unpredictably. It is safest to avoid using `instanceof`, and using
651
+ this type-testing method instead.
652
+
653
+ ###### `x`<sup>Required</sup> <a name="x" id="@jttc/projen-project-types.CdkLibrary.isConstruct.parameter.x"></a>
654
+
655
+ - *Type:* any
656
+
657
+ Any object.
658
+
659
+ ---
660
+
661
+ ##### `isProject` <a name="isProject" id="@jttc/projen-project-types.CdkLibrary.isProject"></a>
662
+
663
+ ```typescript
664
+ import { CdkLibrary } from '@jttc/projen-project-types'
665
+
666
+ CdkLibrary.isProject(x: any)
667
+ ```
668
+
669
+ Test whether the given construct is a project.
670
+
671
+ ###### `x`<sup>Required</sup> <a name="x" id="@jttc/projen-project-types.CdkLibrary.isProject.parameter.x"></a>
672
+
673
+ - *Type:* any
674
+
675
+ ---
676
+
677
+ ##### `of` <a name="of" id="@jttc/projen-project-types.CdkLibrary.of"></a>
678
+
679
+ ```typescript
680
+ import { CdkLibrary } from '@jttc/projen-project-types'
681
+
682
+ CdkLibrary.of(construct: IConstruct)
683
+ ```
684
+
685
+ Find the closest ancestor project for given construct.
686
+
687
+ When given a project, this it the project itself.
688
+
689
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@jttc/projen-project-types.CdkLibrary.of.parameter.construct"></a>
690
+
691
+ - *Type:* constructs.IConstruct
692
+
693
+ ---
694
+
695
+ #### Properties <a name="Properties" id="Properties"></a>
696
+
697
+ | **Name** | **Type** | **Description** |
698
+ | --- | --- | --- |
699
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
700
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.buildTask">buildTask</a></code> | <code>projen.Task</code> | *No description.* |
701
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
702
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.compileTask">compileTask</a></code> | <code>projen.Task</code> | *No description.* |
703
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.components">components</a></code> | <code>projen.Component[]</code> | Returns all the components within this project. |
704
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.deps">deps</a></code> | <code>projen.Dependencies</code> | Project dependencies. |
705
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.ejected">ejected</a></code> | <code>boolean</code> | Whether or not the project is being ejected. |
706
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.files">files</a></code> | <code>projen.FileBase[]</code> | All files in this project. |
707
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.gitattributes">gitattributes</a></code> | <code>projen.GitAttributesFile</code> | The .gitattributes file for this repository. |
708
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.gitignore">gitignore</a></code> | <code>projen.IgnoreFile</code> | .gitignore. |
709
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.logger">logger</a></code> | <code>projen.Logger</code> | Logging utilities. |
710
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.name">name</a></code> | <code>string</code> | Project name. |
711
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.outdir">outdir</a></code> | <code>string</code> | Absolute output directory of this project. |
712
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.packageTask">packageTask</a></code> | <code>projen.Task</code> | *No description.* |
713
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.postCompileTask">postCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
714
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.preCompileTask">preCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
715
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.projectBuild">projectBuild</a></code> | <code>projen.ProjectBuild</code> | Manages the build process of the project. |
716
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.projenCommand">projenCommand</a></code> | <code>string</code> | The command to use in order to run the projen CLI. |
717
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.root">root</a></code> | <code>projen.Project</code> | The root project. |
718
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.subprojects">subprojects</a></code> | <code>projen.Project[]</code> | Returns all the subprojects within this project. |
719
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.tasks">tasks</a></code> | <code>projen.Tasks</code> | Project tasks. |
720
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.testTask">testTask</a></code> | <code>projen.Task</code> | *No description.* |
721
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
722
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
723
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
724
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
725
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
726
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
727
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
728
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
729
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
730
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
731
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
732
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
733
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
734
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
735
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
736
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
737
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
738
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
739
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.runScriptCommand">runScriptCommand</a></code> | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
740
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
741
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
742
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
743
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
744
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
745
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version supported by this package. |
746
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
747
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
748
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
749
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
750
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
751
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
752
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
753
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.libdir">libdir</a></code> | <code>string</code> | The directory in which compiled .js files reside. |
754
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.srcdir">srcdir</a></code> | <code>string</code> | The directory in which the .ts sources reside. |
755
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.testdir">testdir</a></code> | <code>string</code> | The directory in which tests reside. |
756
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfig</code> | A typescript configuration file which covers all files (sources, tests, projen). |
757
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.watchTask">watchTask</a></code> | <code>projen.Task</code> | The "watch" task. |
758
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.docgen">docgen</a></code> | <code>boolean</code> | *No description.* |
759
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.eslint">eslint</a></code> | <code>projen.javascript.Eslint</code> | *No description.* |
760
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.tsconfig">tsconfig</a></code> | <code>projen.javascript.TypescriptConfig</code> | *No description.* |
761
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.tsconfigEslint">tsconfigEslint</a></code> | <code>projen.javascript.TypescriptConfig</code> | *No description.* |
762
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.cdkDeps">cdkDeps</a></code> | <code>projen.awscdk.AwsCdkDeps</code> | *No description.* |
763
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | The target CDK version for this library. |
764
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.version">version</a></code> | <code>string</code> | *No description.* |
765
+
766
+ ---
767
+
768
+ ##### `node`<sup>Required</sup> <a name="node" id="@jttc/projen-project-types.CdkLibrary.property.node"></a>
769
+
770
+ ```typescript
771
+ public readonly node: Node;
772
+ ```
773
+
774
+ - *Type:* constructs.Node
775
+
776
+ The tree node.
777
+
778
+ ---
779
+
780
+ ##### `buildTask`<sup>Required</sup> <a name="buildTask" id="@jttc/projen-project-types.CdkLibrary.property.buildTask"></a>
781
+
782
+ ```typescript
783
+ public readonly buildTask: Task;
784
+ ```
785
+
786
+ - *Type:* projen.Task
787
+
788
+ ---
789
+
790
+ ##### `commitGenerated`<sup>Required</sup> <a name="commitGenerated" id="@jttc/projen-project-types.CdkLibrary.property.commitGenerated"></a>
791
+
792
+ ```typescript
793
+ public readonly commitGenerated: boolean;
794
+ ```
795
+
796
+ - *Type:* boolean
797
+
798
+ Whether to commit the managed files by default.
799
+
800
+ ---
801
+
802
+ ##### `compileTask`<sup>Required</sup> <a name="compileTask" id="@jttc/projen-project-types.CdkLibrary.property.compileTask"></a>
803
+
804
+ ```typescript
805
+ public readonly compileTask: Task;
806
+ ```
807
+
808
+ - *Type:* projen.Task
809
+
810
+ ---
811
+
812
+ ##### `components`<sup>Required</sup> <a name="components" id="@jttc/projen-project-types.CdkLibrary.property.components"></a>
813
+
814
+ ```typescript
815
+ public readonly components: Component[];
816
+ ```
817
+
818
+ - *Type:* projen.Component[]
819
+
820
+ Returns all the components within this project.
821
+
822
+ ---
823
+
824
+ ##### `deps`<sup>Required</sup> <a name="deps" id="@jttc/projen-project-types.CdkLibrary.property.deps"></a>
825
+
826
+ ```typescript
827
+ public readonly deps: Dependencies;
828
+ ```
829
+
830
+ - *Type:* projen.Dependencies
831
+
832
+ Project dependencies.
833
+
834
+ ---
835
+
836
+ ##### `ejected`<sup>Required</sup> <a name="ejected" id="@jttc/projen-project-types.CdkLibrary.property.ejected"></a>
837
+
838
+ ```typescript
839
+ public readonly ejected: boolean;
840
+ ```
841
+
842
+ - *Type:* boolean
843
+
844
+ Whether or not the project is being ejected.
845
+
846
+ ---
847
+
848
+ ##### `files`<sup>Required</sup> <a name="files" id="@jttc/projen-project-types.CdkLibrary.property.files"></a>
849
+
850
+ ```typescript
851
+ public readonly files: FileBase[];
852
+ ```
853
+
854
+ - *Type:* projen.FileBase[]
855
+
856
+ All files in this project.
857
+
858
+ ---
859
+
860
+ ##### `gitattributes`<sup>Required</sup> <a name="gitattributes" id="@jttc/projen-project-types.CdkLibrary.property.gitattributes"></a>
861
+
862
+ ```typescript
863
+ public readonly gitattributes: GitAttributesFile;
864
+ ```
865
+
866
+ - *Type:* projen.GitAttributesFile
867
+
868
+ The .gitattributes file for this repository.
869
+
870
+ ---
871
+
872
+ ##### `gitignore`<sup>Required</sup> <a name="gitignore" id="@jttc/projen-project-types.CdkLibrary.property.gitignore"></a>
873
+
874
+ ```typescript
875
+ public readonly gitignore: IgnoreFile;
876
+ ```
877
+
878
+ - *Type:* projen.IgnoreFile
879
+
880
+ .gitignore.
881
+
882
+ ---
883
+
884
+ ##### `logger`<sup>Required</sup> <a name="logger" id="@jttc/projen-project-types.CdkLibrary.property.logger"></a>
885
+
886
+ ```typescript
887
+ public readonly logger: Logger;
888
+ ```
889
+
890
+ - *Type:* projen.Logger
891
+
892
+ Logging utilities.
893
+
894
+ ---
895
+
896
+ ##### `name`<sup>Required</sup> <a name="name" id="@jttc/projen-project-types.CdkLibrary.property.name"></a>
897
+
898
+ ```typescript
899
+ public readonly name: string;
900
+ ```
901
+
902
+ - *Type:* string
903
+
904
+ Project name.
905
+
906
+ ---
907
+
908
+ ##### `outdir`<sup>Required</sup> <a name="outdir" id="@jttc/projen-project-types.CdkLibrary.property.outdir"></a>
909
+
910
+ ```typescript
911
+ public readonly outdir: string;
912
+ ```
913
+
914
+ - *Type:* string
915
+
916
+ Absolute output directory of this project.
917
+
918
+ ---
919
+
920
+ ##### `packageTask`<sup>Required</sup> <a name="packageTask" id="@jttc/projen-project-types.CdkLibrary.property.packageTask"></a>
921
+
922
+ ```typescript
923
+ public readonly packageTask: Task;
924
+ ```
925
+
926
+ - *Type:* projen.Task
927
+
928
+ ---
929
+
930
+ ##### `postCompileTask`<sup>Required</sup> <a name="postCompileTask" id="@jttc/projen-project-types.CdkLibrary.property.postCompileTask"></a>
931
+
932
+ ```typescript
933
+ public readonly postCompileTask: Task;
934
+ ```
935
+
936
+ - *Type:* projen.Task
937
+
938
+ ---
939
+
940
+ ##### `preCompileTask`<sup>Required</sup> <a name="preCompileTask" id="@jttc/projen-project-types.CdkLibrary.property.preCompileTask"></a>
941
+
942
+ ```typescript
943
+ public readonly preCompileTask: Task;
944
+ ```
945
+
946
+ - *Type:* projen.Task
947
+
948
+ ---
949
+
950
+ ##### `projectBuild`<sup>Required</sup> <a name="projectBuild" id="@jttc/projen-project-types.CdkLibrary.property.projectBuild"></a>
951
+
952
+ ```typescript
953
+ public readonly projectBuild: ProjectBuild;
954
+ ```
955
+
956
+ - *Type:* projen.ProjectBuild
957
+
958
+ Manages the build process of the project.
959
+
960
+ ---
961
+
962
+ ##### `projenCommand`<sup>Required</sup> <a name="projenCommand" id="@jttc/projen-project-types.CdkLibrary.property.projenCommand"></a>
963
+
964
+ ```typescript
965
+ public readonly projenCommand: string;
966
+ ```
967
+
968
+ - *Type:* string
969
+
970
+ The command to use in order to run the projen CLI.
971
+
972
+ ---
973
+
974
+ ##### `root`<sup>Required</sup> <a name="root" id="@jttc/projen-project-types.CdkLibrary.property.root"></a>
975
+
976
+ ```typescript
977
+ public readonly root: Project;
978
+ ```
979
+
980
+ - *Type:* projen.Project
981
+
982
+ The root project.
983
+
984
+ ---
985
+
986
+ ##### `subprojects`<sup>Required</sup> <a name="subprojects" id="@jttc/projen-project-types.CdkLibrary.property.subprojects"></a>
987
+
988
+ ```typescript
989
+ public readonly subprojects: Project[];
990
+ ```
991
+
992
+ - *Type:* projen.Project[]
993
+
994
+ Returns all the subprojects within this project.
995
+
996
+ ---
997
+
998
+ ##### `tasks`<sup>Required</sup> <a name="tasks" id="@jttc/projen-project-types.CdkLibrary.property.tasks"></a>
999
+
1000
+ ```typescript
1001
+ public readonly tasks: Tasks;
1002
+ ```
1003
+
1004
+ - *Type:* projen.Tasks
1005
+
1006
+ Project tasks.
1007
+
1008
+ ---
1009
+
1010
+ ##### `testTask`<sup>Required</sup> <a name="testTask" id="@jttc/projen-project-types.CdkLibrary.property.testTask"></a>
1011
+
1012
+ ```typescript
1013
+ public readonly testTask: Task;
1014
+ ```
1015
+
1016
+ - *Type:* projen.Task
1017
+
1018
+ ---
1019
+
1020
+ ##### `defaultTask`<sup>Optional</sup> <a name="defaultTask" id="@jttc/projen-project-types.CdkLibrary.property.defaultTask"></a>
1021
+
1022
+ ```typescript
1023
+ public readonly defaultTask: Task;
1024
+ ```
1025
+
1026
+ - *Type:* projen.Task
1027
+
1028
+ This is the "default" task, the one that executes "projen".
1029
+
1030
+ Undefined if
1031
+ the project is being ejected.
1032
+
1033
+ ---
1034
+
1035
+ ##### `initProject`<sup>Optional</sup> <a name="initProject" id="@jttc/projen-project-types.CdkLibrary.property.initProject"></a>
1036
+
1037
+ ```typescript
1038
+ public readonly initProject: InitProject;
1039
+ ```
1040
+
1041
+ - *Type:* projen.InitProject
1042
+
1043
+ The options used when this project is bootstrapped via `projen new`.
1044
+
1045
+ It
1046
+ includes the original set of options passed to the CLI and also the JSII
1047
+ FQN of the project type.
1048
+
1049
+ ---
1050
+
1051
+ ##### `parent`<sup>Optional</sup> <a name="parent" id="@jttc/projen-project-types.CdkLibrary.property.parent"></a>
1052
+
1053
+ ```typescript
1054
+ public readonly parent: Project;
1055
+ ```
1056
+
1057
+ - *Type:* projen.Project
1058
+
1059
+ A parent project.
1060
+
1061
+ If undefined, this is the root project.
1062
+
1063
+ ---
1064
+
1065
+ ##### `projectType`<sup>Required</sup> <a name="projectType" id="@jttc/projen-project-types.CdkLibrary.property.projectType"></a>
1066
+
1067
+ ```typescript
1068
+ public readonly projectType: ProjectType;
1069
+ ```
1070
+
1071
+ - *Type:* projen.ProjectType
1072
+
1073
+ ---
1074
+
1075
+ ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="@jttc/projen-project-types.CdkLibrary.property.autoApprove"></a>
1076
+
1077
+ ```typescript
1078
+ public readonly autoApprove: AutoApprove;
1079
+ ```
1080
+
1081
+ - *Type:* projen.github.AutoApprove
1082
+
1083
+ Auto approve set up for this project.
1084
+
1085
+ ---
1086
+
1087
+ ##### `devContainer`<sup>Optional</sup> <a name="devContainer" id="@jttc/projen-project-types.CdkLibrary.property.devContainer"></a>
1088
+
1089
+ ```typescript
1090
+ public readonly devContainer: DevContainer;
1091
+ ```
1092
+
1093
+ - *Type:* projen.vscode.DevContainer
1094
+
1095
+ Access for .devcontainer.json (used for GitHub Codespaces).
1096
+
1097
+ This will be `undefined` if devContainer boolean is false
1098
+
1099
+ ---
1100
+
1101
+ ##### `github`<sup>Optional</sup> <a name="github" id="@jttc/projen-project-types.CdkLibrary.property.github"></a>
1102
+
1103
+ ```typescript
1104
+ public readonly github: GitHub;
1105
+ ```
1106
+
1107
+ - *Type:* projen.github.GitHub
1108
+
1109
+ Access all github components.
1110
+
1111
+ This will be `undefined` for subprojects.
1112
+
1113
+ ---
1114
+
1115
+ ##### `gitpod`<sup>Optional</sup> <a name="gitpod" id="@jttc/projen-project-types.CdkLibrary.property.gitpod"></a>
1116
+
1117
+ ```typescript
1118
+ public readonly gitpod: Gitpod;
1119
+ ```
1120
+
1121
+ - *Type:* projen.Gitpod
1122
+
1123
+ Access for Gitpod.
1124
+
1125
+ This will be `undefined` if gitpod boolean is false
1126
+
1127
+ ---
1128
+
1129
+ ##### `vscode`<sup>Optional</sup> <a name="vscode" id="@jttc/projen-project-types.CdkLibrary.property.vscode"></a>
1130
+
1131
+ ```typescript
1132
+ public readonly vscode: VsCode;
1133
+ ```
1134
+
1135
+ - *Type:* projen.vscode.VsCode
1136
+
1137
+ Access all VSCode components.
1138
+
1139
+ This will be `undefined` for subprojects.
1140
+
1141
+ ---
1142
+
1143
+ ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="@jttc/projen-project-types.CdkLibrary.property.allowLibraryDependencies"></a>
1144
+
1145
+ - *Deprecated:* use `package.allowLibraryDependencies`
1146
+
1147
+ ```typescript
1148
+ public readonly allowLibraryDependencies: boolean;
1149
+ ```
1150
+
1151
+ - *Type:* boolean
1152
+
1153
+ ---
1154
+
1155
+ ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="@jttc/projen-project-types.CdkLibrary.property.artifactsDirectory"></a>
1156
+
1157
+ ```typescript
1158
+ public readonly artifactsDirectory: string;
1159
+ ```
1160
+
1161
+ - *Type:* string
1162
+
1163
+ The build output directory.
1164
+
1165
+ An npm tarball will be created under the `js`
1166
+ subdirectory. For example, if this is set to `dist` (the default), the npm
1167
+ tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
1168
+
1169
+ ---
1170
+
1171
+ ##### `artifactsJavascriptDirectory`<sup>Required</sup> <a name="artifactsJavascriptDirectory" id="@jttc/projen-project-types.CdkLibrary.property.artifactsJavascriptDirectory"></a>
1172
+
1173
+ ```typescript
1174
+ public readonly artifactsJavascriptDirectory: string;
1175
+ ```
1176
+
1177
+ - *Type:* string
1178
+
1179
+ The location of the npm tarball after build (`${artifactsDirectory}/js`).
1180
+
1181
+ ---
1182
+
1183
+ ##### `bundler`<sup>Required</sup> <a name="bundler" id="@jttc/projen-project-types.CdkLibrary.property.bundler"></a>
1184
+
1185
+ ```typescript
1186
+ public readonly bundler: Bundler;
1187
+ ```
1188
+
1189
+ - *Type:* projen.javascript.Bundler
1190
+
1191
+ ---
1192
+
1193
+ ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="@jttc/projen-project-types.CdkLibrary.property.entrypoint"></a>
1194
+
1195
+ - *Deprecated:* use `package.entrypoint`
1196
+
1197
+ ```typescript
1198
+ public readonly entrypoint: string;
1199
+ ```
1200
+
1201
+ - *Type:* string
1202
+
1203
+ ---
1204
+
1205
+ ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="@jttc/projen-project-types.CdkLibrary.property.manifest"></a>
1206
+
1207
+ - *Deprecated:* use `package.addField(x, y)`
1208
+
1209
+ ```typescript
1210
+ public readonly manifest: any;
1211
+ ```
1212
+
1213
+ - *Type:* any
1214
+
1215
+ ---
1216
+
1217
+ ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="@jttc/projen-project-types.CdkLibrary.property.npmrc"></a>
1218
+
1219
+ ```typescript
1220
+ public readonly npmrc: NpmConfig;
1221
+ ```
1222
+
1223
+ - *Type:* projen.javascript.NpmConfig
1224
+
1225
+ The .npmrc file.
1226
+
1227
+ ---
1228
+
1229
+ ##### `package`<sup>Required</sup> <a name="package" id="@jttc/projen-project-types.CdkLibrary.property.package"></a>
1230
+
1231
+ ```typescript
1232
+ public readonly package: NodePackage;
1233
+ ```
1234
+
1235
+ - *Type:* projen.javascript.NodePackage
1236
+
1237
+ API for managing the node package.
1238
+
1239
+ ---
1240
+
1241
+ ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="@jttc/projen-project-types.CdkLibrary.property.packageManager"></a>
1242
+
1243
+ - *Deprecated:* use `package.packageManager`
1244
+
1245
+ ```typescript
1246
+ public readonly packageManager: NodePackageManager;
1247
+ ```
1248
+
1249
+ - *Type:* projen.javascript.NodePackageManager
1250
+
1251
+ The package manager to use.
1252
+
1253
+ ---
1254
+
1255
+ ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="@jttc/projen-project-types.CdkLibrary.property.runScriptCommand"></a>
1256
+
1257
+ ```typescript
1258
+ public readonly runScriptCommand: string;
1259
+ ```
1260
+
1261
+ - *Type:* string
1262
+
1263
+ The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
1264
+
1265
+ ---
1266
+
1267
+ ##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="@jttc/projen-project-types.CdkLibrary.property.autoMerge"></a>
1268
+
1269
+ ```typescript
1270
+ public readonly autoMerge: AutoMerge;
1271
+ ```
1272
+
1273
+ - *Type:* projen.github.AutoMerge
1274
+
1275
+ Component that sets up mergify for merging approved pull requests.
1276
+
1277
+ ---
1278
+
1279
+ ##### `biome`<sup>Optional</sup> <a name="biome" id="@jttc/projen-project-types.CdkLibrary.property.biome"></a>
1280
+
1281
+ ```typescript
1282
+ public readonly biome: Biome;
1283
+ ```
1284
+
1285
+ - *Type:* projen.javascript.Biome
1286
+
1287
+ ---
1288
+
1289
+ ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@jttc/projen-project-types.CdkLibrary.property.buildWorkflow"></a>
1290
+
1291
+ ```typescript
1292
+ public readonly buildWorkflow: BuildWorkflow;
1293
+ ```
1294
+
1295
+ - *Type:* projen.build.BuildWorkflow
1296
+
1297
+ The PR build GitHub workflow.
1298
+
1299
+ `undefined` if `buildWorkflow` is disabled.
1300
+
1301
+ ---
1302
+
1303
+ ##### `buildWorkflowJobId`<sup>Optional</sup> <a name="buildWorkflowJobId" id="@jttc/projen-project-types.CdkLibrary.property.buildWorkflowJobId"></a>
1304
+
1305
+ ```typescript
1306
+ public readonly buildWorkflowJobId: string;
1307
+ ```
1308
+
1309
+ - *Type:* string
1310
+
1311
+ The job ID of the build workflow.
1312
+
1313
+ ---
1314
+
1315
+ ##### `jest`<sup>Optional</sup> <a name="jest" id="@jttc/projen-project-types.CdkLibrary.property.jest"></a>
1316
+
1317
+ ```typescript
1318
+ public readonly jest: Jest;
1319
+ ```
1320
+
1321
+ - *Type:* projen.javascript.Jest
1322
+
1323
+ The Jest configuration (if enabled).
1324
+
1325
+ ---
1326
+
1327
+ ##### `maxNodeVersion`<sup>Optional</sup> <a name="maxNodeVersion" id="@jttc/projen-project-types.CdkLibrary.property.maxNodeVersion"></a>
1328
+
1329
+ ```typescript
1330
+ public readonly maxNodeVersion: string;
1331
+ ```
1332
+
1333
+ - *Type:* string
1334
+
1335
+ Maximum node version supported by this package.
1336
+
1337
+ The value indicates the package is incompatible with newer versions.
1338
+
1339
+ ---
1340
+
1341
+ ##### `minNodeVersion`<sup>Optional</sup> <a name="minNodeVersion" id="@jttc/projen-project-types.CdkLibrary.property.minNodeVersion"></a>
1342
+
1343
+ ```typescript
1344
+ public readonly minNodeVersion: string;
1345
+ ```
1346
+
1347
+ - *Type:* string
1348
+
1349
+ The minimum node version required by this package to function.
1350
+
1351
+ This value indicates the package is incompatible with older versions.
1352
+
1353
+ ---
1354
+
1355
+ ##### `npmignore`<sup>Optional</sup> <a name="npmignore" id="@jttc/projen-project-types.CdkLibrary.property.npmignore"></a>
1356
+
1357
+ ```typescript
1358
+ public readonly npmignore: IgnoreFile;
1359
+ ```
1360
+
1361
+ - *Type:* projen.IgnoreFile
1362
+
1363
+ The .npmignore file.
1364
+
1365
+ ---
1366
+
1367
+ ##### `prettier`<sup>Optional</sup> <a name="prettier" id="@jttc/projen-project-types.CdkLibrary.property.prettier"></a>
1368
+
1369
+ ```typescript
1370
+ public readonly prettier: Prettier;
1371
+ ```
1372
+
1373
+ - *Type:* projen.javascript.Prettier
1374
+
1375
+ ---
1376
+
1377
+ ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="@jttc/projen-project-types.CdkLibrary.property.publisher"></a>
1378
+
1379
+ - *Deprecated:* use `release.publisher`.
1380
+
1381
+ ```typescript
1382
+ public readonly publisher: Publisher;
1383
+ ```
1384
+
1385
+ - *Type:* projen.release.Publisher
1386
+
1387
+ Package publisher.
1388
+
1389
+ This will be `undefined` if the project does not have a
1390
+ release workflow.
1391
+
1392
+ ---
1393
+
1394
+ ##### `release`<sup>Optional</sup> <a name="release" id="@jttc/projen-project-types.CdkLibrary.property.release"></a>
1395
+
1396
+ ```typescript
1397
+ public readonly release: Release;
1398
+ ```
1399
+
1400
+ - *Type:* projen.release.Release
1401
+
1402
+ Release management.
1403
+
1404
+ ---
1405
+
1406
+ ##### `upgradeWorkflow`<sup>Optional</sup> <a name="upgradeWorkflow" id="@jttc/projen-project-types.CdkLibrary.property.upgradeWorkflow"></a>
1407
+
1408
+ ```typescript
1409
+ public readonly upgradeWorkflow: UpgradeDependencies;
1410
+ ```
1411
+
1412
+ - *Type:* projen.javascript.UpgradeDependencies
1413
+
1414
+ The upgrade workflow.
1415
+
1416
+ ---
1417
+
1418
+ ##### `docsDirectory`<sup>Required</sup> <a name="docsDirectory" id="@jttc/projen-project-types.CdkLibrary.property.docsDirectory"></a>
1419
+
1420
+ ```typescript
1421
+ public readonly docsDirectory: string;
1422
+ ```
1423
+
1424
+ - *Type:* string
1425
+
1426
+ ---
1427
+
1428
+ ##### `libdir`<sup>Required</sup> <a name="libdir" id="@jttc/projen-project-types.CdkLibrary.property.libdir"></a>
1429
+
1430
+ ```typescript
1431
+ public readonly libdir: string;
1432
+ ```
1433
+
1434
+ - *Type:* string
1435
+
1436
+ The directory in which compiled .js files reside.
1437
+
1438
+ ---
1439
+
1440
+ ##### `srcdir`<sup>Required</sup> <a name="srcdir" id="@jttc/projen-project-types.CdkLibrary.property.srcdir"></a>
1441
+
1442
+ ```typescript
1443
+ public readonly srcdir: string;
1444
+ ```
1445
+
1446
+ - *Type:* string
1447
+
1448
+ The directory in which the .ts sources reside.
1449
+
1450
+ ---
1451
+
1452
+ ##### `testdir`<sup>Required</sup> <a name="testdir" id="@jttc/projen-project-types.CdkLibrary.property.testdir"></a>
1453
+
1454
+ ```typescript
1455
+ public readonly testdir: string;
1456
+ ```
1457
+
1458
+ - *Type:* string
1459
+
1460
+ The directory in which tests reside.
1461
+
1462
+ ---
1463
+
1464
+ ##### `tsconfigDev`<sup>Required</sup> <a name="tsconfigDev" id="@jttc/projen-project-types.CdkLibrary.property.tsconfigDev"></a>
1465
+
1466
+ ```typescript
1467
+ public readonly tsconfigDev: TypescriptConfig;
1468
+ ```
1469
+
1470
+ - *Type:* projen.javascript.TypescriptConfig
1471
+
1472
+ A typescript configuration file which covers all files (sources, tests, projen).
1473
+
1474
+ ---
1475
+
1476
+ ##### `watchTask`<sup>Required</sup> <a name="watchTask" id="@jttc/projen-project-types.CdkLibrary.property.watchTask"></a>
1477
+
1478
+ ```typescript
1479
+ public readonly watchTask: Task;
1480
+ ```
1481
+
1482
+ - *Type:* projen.Task
1483
+
1484
+ The "watch" task.
1485
+
1486
+ ---
1487
+
1488
+ ##### `docgen`<sup>Optional</sup> <a name="docgen" id="@jttc/projen-project-types.CdkLibrary.property.docgen"></a>
1489
+
1490
+ ```typescript
1491
+ public readonly docgen: boolean;
1492
+ ```
1493
+
1494
+ - *Type:* boolean
1495
+
1496
+ ---
1497
+
1498
+ ##### `eslint`<sup>Optional</sup> <a name="eslint" id="@jttc/projen-project-types.CdkLibrary.property.eslint"></a>
1499
+
1500
+ ```typescript
1501
+ public readonly eslint: Eslint;
1502
+ ```
1503
+
1504
+ - *Type:* projen.javascript.Eslint
1505
+
1506
+ ---
1507
+
1508
+ ##### `tsconfig`<sup>Optional</sup> <a name="tsconfig" id="@jttc/projen-project-types.CdkLibrary.property.tsconfig"></a>
1509
+
1510
+ ```typescript
1511
+ public readonly tsconfig: TypescriptConfig;
1512
+ ```
1513
+
1514
+ - *Type:* projen.javascript.TypescriptConfig
1515
+
1516
+ ---
1517
+
1518
+ ##### `tsconfigEslint`<sup>Optional</sup> <a name="tsconfigEslint" id="@jttc/projen-project-types.CdkLibrary.property.tsconfigEslint"></a>
1519
+
1520
+ ```typescript
1521
+ public readonly tsconfigEslint: TypescriptConfig;
1522
+ ```
1523
+
1524
+ - *Type:* projen.javascript.TypescriptConfig
1525
+
1526
+ ---
1527
+
1528
+ ##### `cdkDeps`<sup>Required</sup> <a name="cdkDeps" id="@jttc/projen-project-types.CdkLibrary.property.cdkDeps"></a>
1529
+
1530
+ ```typescript
1531
+ public readonly cdkDeps: AwsCdkDeps;
1532
+ ```
1533
+
1534
+ - *Type:* projen.awscdk.AwsCdkDeps
1535
+
1536
+ ---
1537
+
1538
+ ##### `cdkVersion`<sup>Required</sup> <a name="cdkVersion" id="@jttc/projen-project-types.CdkLibrary.property.cdkVersion"></a>
1539
+
1540
+ ```typescript
1541
+ public readonly cdkVersion: string;
1542
+ ```
1543
+
1544
+ - *Type:* string
1545
+
1546
+ The target CDK version for this library.
1547
+
1548
+ ---
1549
+
1550
+ ##### ~~`version`~~<sup>Required</sup> <a name="version" id="@jttc/projen-project-types.CdkLibrary.property.version"></a>
1551
+
1552
+ - *Deprecated:* use `cdkVersion`
1553
+
1554
+ ```typescript
1555
+ public readonly version: string;
1556
+ ```
1557
+
1558
+ - *Type:* string
1559
+
1560
+ ---
1561
+
1562
+ #### Constants <a name="Constants" id="Constants"></a>
1563
+
1564
+ | **Name** | **Type** | **Description** |
1565
+ | --- | --- | --- |
1566
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.DEFAULT_TASK">DEFAULT_TASK</a></code> | <code>string</code> | The name of the default task (the task executed when `projen` is run without arguments). |
1567
+ | <code><a href="#@jttc/projen-project-types.CdkLibrary.property.DEFAULT_TS_JEST_TRANFORM_PATTERN">DEFAULT_TS_JEST_TRANFORM_PATTERN</a></code> | <code>string</code> | *No description.* |
1568
+
1569
+ ---
1570
+
1571
+ ##### `DEFAULT_TASK`<sup>Required</sup> <a name="DEFAULT_TASK" id="@jttc/projen-project-types.CdkLibrary.property.DEFAULT_TASK"></a>
1572
+
1573
+ ```typescript
1574
+ public readonly DEFAULT_TASK: string;
1575
+ ```
1576
+
1577
+ - *Type:* string
1578
+
1579
+ The name of the default task (the task executed when `projen` is run without arguments).
1580
+
1581
+ Normally
1582
+ this task should synthesize the project files.
1583
+
1584
+ ---
1585
+
1586
+ ##### `DEFAULT_TS_JEST_TRANFORM_PATTERN`<sup>Required</sup> <a name="DEFAULT_TS_JEST_TRANFORM_PATTERN" id="@jttc/projen-project-types.CdkLibrary.property.DEFAULT_TS_JEST_TRANFORM_PATTERN"></a>
1587
+
1588
+ ```typescript
1589
+ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
1590
+ ```
1591
+
1592
+ - *Type:* string
1593
+
1594
+ ---
36
1595
 
37
1596
 
38
1597