mrpj 0.2.9 → 0.2.11

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
@@ -29,11 +29,11 @@ new ConstructProject(options: AwsCdkConstructLibraryOptions)
29
29
  | **Name** | **Description** |
30
30
  | --- | --- |
31
31
  | <code><a href="#mrpj.ConstructProject.toString">toString</a></code> | Returns a string representation of this construct. |
32
+ | <code><a href="#mrpj.ConstructProject.with">with</a></code> | Applies one or more mixins to this construct. |
32
33
  | <code><a href="#mrpj.ConstructProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
33
34
  | <code><a href="#mrpj.ConstructProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
34
35
  | <code><a href="#mrpj.ConstructProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
35
36
  | <code><a href="#mrpj.ConstructProject.addTask">addTask</a></code> | Adds a new task to this project. |
36
- | <code><a href="#mrpj.ConstructProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
37
37
  | <code><a href="#mrpj.ConstructProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
38
38
  | <code><a href="#mrpj.ConstructProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
39
39
  | <code><a href="#mrpj.ConstructProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -41,25 +41,19 @@ new ConstructProject(options: AwsCdkConstructLibraryOptions)
41
41
  | <code><a href="#mrpj.ConstructProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
42
42
  | <code><a href="#mrpj.ConstructProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
43
43
  | <code><a href="#mrpj.ConstructProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
44
- | <code><a href="#mrpj.ConstructProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
45
44
  | <code><a href="#mrpj.ConstructProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
46
45
  | <code><a href="#mrpj.ConstructProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
47
46
  | <code><a href="#mrpj.ConstructProject.addBins">addBins</a></code> | *No description.* |
48
47
  | <code><a href="#mrpj.ConstructProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
49
- | <code><a href="#mrpj.ConstructProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
50
48
  | <code><a href="#mrpj.ConstructProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
51
49
  | <code><a href="#mrpj.ConstructProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
52
50
  | <code><a href="#mrpj.ConstructProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
53
51
  | <code><a href="#mrpj.ConstructProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
54
52
  | <code><a href="#mrpj.ConstructProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
55
53
  | <code><a href="#mrpj.ConstructProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
56
- | <code><a href="#mrpj.ConstructProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
57
- | <code><a href="#mrpj.ConstructProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
58
54
  | <code><a href="#mrpj.ConstructProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
59
55
  | <code><a href="#mrpj.ConstructProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
60
56
  | <code><a href="#mrpj.ConstructProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
61
- | <code><a href="#mrpj.ConstructProject.addCdkDependencies">addCdkDependencies</a></code> | Adds dependencies to AWS CDK modules. |
62
- | <code><a href="#mrpj.ConstructProject.addCdkTestDependencies">addCdkTestDependencies</a></code> | Adds AWS CDK modules as dev dependencies. |
63
57
 
64
58
  ---
65
59
 
@@ -71,6 +65,27 @@ public toString(): string
71
65
 
72
66
  Returns a string representation of this construct.
73
67
 
68
+ ##### `with` <a name="with" id="mrpj.ConstructProject.with"></a>
69
+
70
+ ```typescript
71
+ public with(mixins: ...IMixin[]): IConstruct
72
+ ```
73
+
74
+ Applies one or more mixins to this construct.
75
+
76
+ Mixins are applied in order. The list of constructs is captured at the
77
+ start of the call, so constructs added by a mixin will not be visited.
78
+ Use multiple `with()` calls if subsequent mixins should apply to added
79
+ constructs.
80
+
81
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.ConstructProject.with.parameter.mixins"></a>
82
+
83
+ - *Type:* ...constructs.IMixin[]
84
+
85
+ The mixins to apply.
86
+
87
+ ---
88
+
74
89
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="mrpj.ConstructProject.addExcludeFromCleanup"></a>
75
90
 
76
91
  ```typescript
@@ -149,22 +164,6 @@ Task properties.
149
164
 
150
165
  ---
151
166
 
152
- ##### ~~`addTip`~~ <a name="addTip" id="mrpj.ConstructProject.addTip"></a>
153
-
154
- ```typescript
155
- public addTip(message: string): void
156
- ```
157
-
158
- Prints a "tip" message during synthesis.
159
-
160
- ###### `message`<sup>Required</sup> <a name="message" id="mrpj.ConstructProject.addTip.parameter.message"></a>
161
-
162
- - *Type:* string
163
-
164
- The message.
165
-
166
- ---
167
-
168
167
  ##### `annotateGenerated` <a name="annotateGenerated" id="mrpj.ConstructProject.annotateGenerated"></a>
169
168
 
170
169
  ```typescript
@@ -230,7 +229,7 @@ public runTaskCommand(task: Task): string
230
229
  Returns the shell command to execute in order to run a task.
231
230
 
232
231
  This will
233
- typically be `npx projen TASK`.
232
+ typically be `pnpm projen TASK`.
234
233
 
235
234
  ###### `task`<sup>Required</sup> <a name="task" id="mrpj.ConstructProject.runTaskCommand.parameter.task"></a>
236
235
 
@@ -274,22 +273,6 @@ from the root of _this_ project.
274
273
 
275
274
  ---
276
275
 
277
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="mrpj.ConstructProject.tryFindJsonFile"></a>
278
-
279
- ```typescript
280
- public tryFindJsonFile(filePath: string): JsonFile
281
- ```
282
-
283
- Finds a json file by name.
284
-
285
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="mrpj.ConstructProject.tryFindJsonFile.parameter.filePath"></a>
286
-
287
- - *Type:* string
288
-
289
- The file path.
290
-
291
- ---
292
-
293
276
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="mrpj.ConstructProject.tryFindObjectFile"></a>
294
277
 
295
278
  ```typescript
@@ -355,27 +338,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
355
338
  Names modules to install.
356
339
 
357
340
  By default, the the dependency will
358
- be installed in the next `npx projen` run and the version will be recorded
359
- in your `package.json` file. You can upgrade manually or using `yarn
360
- add/upgrade`. If you wish to specify a version range use this syntax:
341
+ be installed in the next `pnpm projen` run and the version will be recorded
342
+ in your `package.json` file. You can upgrade manually or using `pnpm
343
+ add/update`. If you wish to specify a version range use this syntax:
361
344
  `module@^7`.
362
345
 
363
346
  ---
364
347
 
365
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="mrpj.ConstructProject.addCompileCommand"></a>
366
-
367
- ```typescript
368
- public addCompileCommand(commands: ...string[]): void
369
- ```
370
-
371
- DEPRECATED.
372
-
373
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ConstructProject.addCompileCommand.parameter.commands"></a>
374
-
375
- - *Type:* ...string[]
376
-
377
- ---
378
-
379
348
  ##### `addDeps` <a name="addDeps" id="mrpj.ConstructProject.addDeps"></a>
380
349
 
381
350
  ```typescript
@@ -391,9 +360,9 @@ Defines normal dependencies.
391
360
  Names modules to install.
392
361
 
393
362
  By default, the the dependency will
394
- be installed in the next `npx projen` run and the version will be recorded
395
- in your `package.json` file. You can upgrade manually or using `yarn
396
- add/upgrade`. If you wish to specify a version range use this syntax:
363
+ be installed in the next `pnpm projen` run and the version will be recorded
364
+ in your `package.json` file. You can upgrade manually or using `pnpm
365
+ add/update`. If you wish to specify a version range use this syntax:
397
366
  `module@^7`.
398
367
 
399
368
  ---
@@ -413,9 +382,9 @@ Defines development/test dependencies.
413
382
  Names modules to install.
414
383
 
415
384
  By default, the the dependency will
416
- be installed in the next `npx projen` run and the version will be recorded
417
- in your `package.json` file. You can upgrade manually or using `yarn
418
- add/upgrade`. If you wish to specify a version range use this syntax:
385
+ be installed in the next `pnpm projen` run and the version will be recorded
386
+ in your `package.json` file. You can upgrade manually or using `pnpm
387
+ add/update`. If you wish to specify a version range use this syntax:
419
388
  `module@^7`.
420
389
 
421
390
  ---
@@ -471,9 +440,9 @@ your code against the minimum version required from your consumers.
471
440
  Names modules to install.
472
441
 
473
442
  By default, the the dependency will
474
- be installed in the next `npx projen` run and the version will be recorded
475
- in your `package.json` file. You can upgrade manually or using `yarn
476
- add/upgrade`. If you wish to specify a version range use this syntax:
443
+ be installed in the next `pnpm projen` run and the version will be recorded
444
+ in your `package.json` file. You can upgrade manually or using `pnpm
445
+ add/update`. If you wish to specify a version range use this syntax:
477
446
  `module@^7`.
478
447
 
479
448
  ---
@@ -494,36 +463,6 @@ The scripts to set.
494
463
 
495
464
  ---
496
465
 
497
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="mrpj.ConstructProject.addTestCommand"></a>
498
-
499
- ```typescript
500
- public addTestCommand(commands: ...string[]): void
501
- ```
502
-
503
- DEPRECATED.
504
-
505
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ConstructProject.addTestCommand.parameter.commands"></a>
506
-
507
- - *Type:* ...string[]
508
-
509
- ---
510
-
511
- ##### ~~`hasScript`~~ <a name="hasScript" id="mrpj.ConstructProject.hasScript"></a>
512
-
513
- ```typescript
514
- public hasScript(name: string): boolean
515
- ```
516
-
517
- Indicates if a script by the name name is defined.
518
-
519
- ###### `name`<sup>Required</sup> <a name="name" id="mrpj.ConstructProject.hasScript.parameter.name"></a>
520
-
521
- - *Type:* string
522
-
523
- The name of the script.
524
-
525
- ---
526
-
527
466
  ##### `removeScript` <a name="removeScript" id="mrpj.ConstructProject.removeScript"></a>
528
467
 
529
468
  ```typescript
@@ -580,40 +519,6 @@ The command to execute.
580
519
 
581
520
  ---
582
521
 
583
- ##### ~~`addCdkDependencies`~~ <a name="addCdkDependencies" id="mrpj.ConstructProject.addCdkDependencies"></a>
584
-
585
- ```typescript
586
- public addCdkDependencies(deps: ...string[]): void
587
- ```
588
-
589
- Adds dependencies to AWS CDK modules.
590
-
591
- Since this is a library project, dependencies will be added as peer dependencies.
592
-
593
- ###### `deps`<sup>Required</sup> <a name="deps" id="mrpj.ConstructProject.addCdkDependencies.parameter.deps"></a>
594
-
595
- - *Type:* ...string[]
596
-
597
- names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
598
-
599
- ---
600
-
601
- ##### ~~`addCdkTestDependencies`~~ <a name="addCdkTestDependencies" id="mrpj.ConstructProject.addCdkTestDependencies"></a>
602
-
603
- ```typescript
604
- public addCdkTestDependencies(deps: ...string[]): void
605
- ```
606
-
607
- Adds AWS CDK modules as dev dependencies.
608
-
609
- ###### `deps`<sup>Required</sup> <a name="deps" id="mrpj.ConstructProject.addCdkTestDependencies.parameter.deps"></a>
610
-
611
- - *Type:* ...string[]
612
-
613
- names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
614
-
615
- ---
616
-
617
522
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
618
523
 
619
524
  | **Name** | **Description** |
@@ -719,21 +624,16 @@ When given a project, this it the project itself.
719
624
  | <code><a href="#mrpj.ConstructProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
720
625
  | <code><a href="#mrpj.ConstructProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
721
626
  | <code><a href="#mrpj.ConstructProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
722
- | <code><a href="#mrpj.ConstructProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
723
627
  | <code><a href="#mrpj.ConstructProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
724
628
  | <code><a href="#mrpj.ConstructProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
725
629
  | <code><a href="#mrpj.ConstructProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
726
630
  | <code><a href="#mrpj.ConstructProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
727
631
  | <code><a href="#mrpj.ConstructProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
728
- | <code><a href="#mrpj.ConstructProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
729
632
  | <code><a href="#mrpj.ConstructProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
730
633
  | <code><a href="#mrpj.ConstructProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
731
634
  | <code><a href="#mrpj.ConstructProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
732
- | <code><a href="#mrpj.ConstructProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
733
- | <code><a href="#mrpj.ConstructProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
734
635
  | <code><a href="#mrpj.ConstructProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
735
636
  | <code><a href="#mrpj.ConstructProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
736
- | <code><a href="#mrpj.ConstructProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
737
637
  | <code><a href="#mrpj.ConstructProject.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). |
738
638
  | <code><a href="#mrpj.ConstructProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
739
639
  | <code><a href="#mrpj.ConstructProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -744,7 +644,6 @@ When given a project, this it the project itself.
744
644
  | <code><a href="#mrpj.ConstructProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
745
645
  | <code><a href="#mrpj.ConstructProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
746
646
  | <code><a href="#mrpj.ConstructProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
747
- | <code><a href="#mrpj.ConstructProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
748
647
  | <code><a href="#mrpj.ConstructProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
749
648
  | <code><a href="#mrpj.ConstructProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
750
649
  | <code><a href="#mrpj.ConstructProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
@@ -759,7 +658,6 @@ When given a project, this it the project itself.
759
658
  | <code><a href="#mrpj.ConstructProject.property.tsconfigEslint">tsconfigEslint</a></code> | <code>projen.javascript.TypescriptConfig</code> | *No description.* |
760
659
  | <code><a href="#mrpj.ConstructProject.property.cdkDeps">cdkDeps</a></code> | <code>projen.awscdk.AwsCdkDeps</code> | *No description.* |
761
660
  | <code><a href="#mrpj.ConstructProject.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | The target CDK version for this library. |
762
- | <code><a href="#mrpj.ConstructProject.property.version">version</a></code> | <code>string</code> | *No description.* |
763
661
 
764
662
  ---
765
663
 
@@ -1060,16 +958,6 @@ If undefined, this is the root project.
1060
958
 
1061
959
  ---
1062
960
 
1063
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="mrpj.ConstructProject.property.projectType"></a>
1064
-
1065
- ```typescript
1066
- public readonly projectType: ProjectType;
1067
- ```
1068
-
1069
- - *Type:* projen.ProjectType
1070
-
1071
- ---
1072
-
1073
961
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="mrpj.ConstructProject.property.autoApprove"></a>
1074
962
 
1075
963
  ```typescript
@@ -1138,18 +1026,6 @@ This will be `undefined` for subprojects.
1138
1026
 
1139
1027
  ---
1140
1028
 
1141
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="mrpj.ConstructProject.property.allowLibraryDependencies"></a>
1142
-
1143
- - *Deprecated:* use `package.allowLibraryDependencies`
1144
-
1145
- ```typescript
1146
- public readonly allowLibraryDependencies: boolean;
1147
- ```
1148
-
1149
- - *Type:* boolean
1150
-
1151
- ---
1152
-
1153
1029
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="mrpj.ConstructProject.property.artifactsDirectory"></a>
1154
1030
 
1155
1031
  ```typescript
@@ -1188,30 +1064,6 @@ public readonly bundler: Bundler;
1188
1064
 
1189
1065
  ---
1190
1066
 
1191
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="mrpj.ConstructProject.property.entrypoint"></a>
1192
-
1193
- - *Deprecated:* use `package.entrypoint`
1194
-
1195
- ```typescript
1196
- public readonly entrypoint: string;
1197
- ```
1198
-
1199
- - *Type:* string
1200
-
1201
- ---
1202
-
1203
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="mrpj.ConstructProject.property.manifest"></a>
1204
-
1205
- - *Deprecated:* use `package.addField(x, y)`
1206
-
1207
- ```typescript
1208
- public readonly manifest: any;
1209
- ```
1210
-
1211
- - *Type:* any
1212
-
1213
- ---
1214
-
1215
1067
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="mrpj.ConstructProject.property.npmrc"></a>
1216
1068
 
1217
1069
  ```typescript
@@ -1236,20 +1088,6 @@ API for managing the node package.
1236
1088
 
1237
1089
  ---
1238
1090
 
1239
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="mrpj.ConstructProject.property.packageManager"></a>
1240
-
1241
- - *Deprecated:* use `package.packageManager`
1242
-
1243
- ```typescript
1244
- public readonly packageManager: NodePackageManager;
1245
- ```
1246
-
1247
- - *Type:* projen.javascript.NodePackageManager
1248
-
1249
- The package manager to use.
1250
-
1251
- ---
1252
-
1253
1091
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="mrpj.ConstructProject.property.runScriptCommand"></a>
1254
1092
 
1255
1093
  ```typescript
@@ -1372,23 +1210,6 @@ public readonly prettier: Prettier;
1372
1210
 
1373
1211
  ---
1374
1212
 
1375
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="mrpj.ConstructProject.property.publisher"></a>
1376
-
1377
- - *Deprecated:* use `release.publisher`.
1378
-
1379
- ```typescript
1380
- public readonly publisher: Publisher;
1381
- ```
1382
-
1383
- - *Type:* projen.release.Publisher
1384
-
1385
- Package publisher.
1386
-
1387
- This will be `undefined` if the project does not have a
1388
- release workflow.
1389
-
1390
- ---
1391
-
1392
1213
  ##### `release`<sup>Optional</sup> <a name="release" id="mrpj.ConstructProject.property.release"></a>
1393
1214
 
1394
1215
  ```typescript
@@ -1545,18 +1366,6 @@ The target CDK version for this library.
1545
1366
 
1546
1367
  ---
1547
1368
 
1548
- ##### ~~`version`~~<sup>Required</sup> <a name="version" id="mrpj.ConstructProject.property.version"></a>
1549
-
1550
- - *Deprecated:* use `cdkVersion`
1551
-
1552
- ```typescript
1553
- public readonly version: string;
1554
- ```
1555
-
1556
- - *Type:* string
1557
-
1558
- ---
1559
-
1560
1369
  #### Constants <a name="Constants" id="Constants"></a>
1561
1370
 
1562
1371
  | **Name** | **Type** | **Description** |
@@ -1591,6 +1400,227 @@ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
1591
1400
 
1592
1401
  ---
1593
1402
 
1403
+ ### NodeVersion <a name="NodeVersion" id="mrpj.components.NodeVersion"></a>
1404
+
1405
+ A component that manages Node.js version files (.nvmrc, .node-version).
1406
+
1407
+ #### Initializers <a name="Initializers" id="mrpj.components.NodeVersion.Initializer"></a>
1408
+
1409
+ ```typescript
1410
+ import { components } from 'mrpj'
1411
+
1412
+ new components.NodeVersion(scope: IConstruct, options?: NodeVersionOptions)
1413
+ ```
1414
+
1415
+ | **Name** | **Type** | **Description** |
1416
+ | --- | --- | --- |
1417
+ | <code><a href="#mrpj.components.NodeVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.IConstruct</code> | *No description.* |
1418
+ | <code><a href="#mrpj.components.NodeVersion.Initializer.parameter.options">options</a></code> | <code>mrpj.components.NodeVersionOptions</code> | *No description.* |
1419
+
1420
+ ---
1421
+
1422
+ ##### `scope`<sup>Required</sup> <a name="scope" id="mrpj.components.NodeVersion.Initializer.parameter.scope"></a>
1423
+
1424
+ - *Type:* constructs.IConstruct
1425
+
1426
+ ---
1427
+
1428
+ ##### `options`<sup>Optional</sup> <a name="options" id="mrpj.components.NodeVersion.Initializer.parameter.options"></a>
1429
+
1430
+ - *Type:* mrpj.components.NodeVersionOptions
1431
+
1432
+ ---
1433
+
1434
+ #### Methods <a name="Methods" id="Methods"></a>
1435
+
1436
+ | **Name** | **Description** |
1437
+ | --- | --- |
1438
+ | <code><a href="#mrpj.components.NodeVersion.toString">toString</a></code> | Returns a string representation of this construct. |
1439
+ | <code><a href="#mrpj.components.NodeVersion.with">with</a></code> | Applies one or more mixins to this construct. |
1440
+ | <code><a href="#mrpj.components.NodeVersion.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
1441
+ | <code><a href="#mrpj.components.NodeVersion.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
1442
+ | <code><a href="#mrpj.components.NodeVersion.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
1443
+
1444
+ ---
1445
+
1446
+ ##### `toString` <a name="toString" id="mrpj.components.NodeVersion.toString"></a>
1447
+
1448
+ ```typescript
1449
+ public toString(): string
1450
+ ```
1451
+
1452
+ Returns a string representation of this construct.
1453
+
1454
+ ##### `with` <a name="with" id="mrpj.components.NodeVersion.with"></a>
1455
+
1456
+ ```typescript
1457
+ public with(mixins: ...IMixin[]): IConstruct
1458
+ ```
1459
+
1460
+ Applies one or more mixins to this construct.
1461
+
1462
+ Mixins are applied in order. The list of constructs is captured at the
1463
+ start of the call, so constructs added by a mixin will not be visited.
1464
+ Use multiple `with()` calls if subsequent mixins should apply to added
1465
+ constructs.
1466
+
1467
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.components.NodeVersion.with.parameter.mixins"></a>
1468
+
1469
+ - *Type:* ...constructs.IMixin[]
1470
+
1471
+ The mixins to apply.
1472
+
1473
+ ---
1474
+
1475
+ ##### `postSynthesize` <a name="postSynthesize" id="mrpj.components.NodeVersion.postSynthesize"></a>
1476
+
1477
+ ```typescript
1478
+ public postSynthesize(): void
1479
+ ```
1480
+
1481
+ Called after synthesis.
1482
+
1483
+ Order is *not* guaranteed.
1484
+
1485
+ ##### `preSynthesize` <a name="preSynthesize" id="mrpj.components.NodeVersion.preSynthesize"></a>
1486
+
1487
+ ```typescript
1488
+ public preSynthesize(): void
1489
+ ```
1490
+
1491
+ Called before synthesis.
1492
+
1493
+ ##### `synthesize` <a name="synthesize" id="mrpj.components.NodeVersion.synthesize"></a>
1494
+
1495
+ ```typescript
1496
+ public synthesize(): void
1497
+ ```
1498
+
1499
+ Synthesizes files to the project output directory.
1500
+
1501
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1502
+
1503
+ | **Name** | **Description** |
1504
+ | --- | --- |
1505
+ | <code><a href="#mrpj.components.NodeVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1506
+ | <code><a href="#mrpj.components.NodeVersion.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
1507
+ | <code><a href="#mrpj.components.NodeVersion.specToVersion">specToVersion</a></code> | Converts a version spec to a concrete version number. |
1508
+
1509
+ ---
1510
+
1511
+ ##### `isConstruct` <a name="isConstruct" id="mrpj.components.NodeVersion.isConstruct"></a>
1512
+
1513
+ ```typescript
1514
+ import { components } from 'mrpj'
1515
+
1516
+ components.NodeVersion.isConstruct(x: any)
1517
+ ```
1518
+
1519
+ Checks if `x` is a construct.
1520
+
1521
+ Use this method instead of `instanceof` to properly detect `Construct`
1522
+ instances, even when the construct library is symlinked.
1523
+
1524
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1525
+ disk are seen as independent, completely different libraries. As a
1526
+ consequence, the class `Construct` in each copy of the `constructs` library
1527
+ is seen as a different class, and an instance of one class will not test as
1528
+ `instanceof` the other class. `npm install` will not create installations
1529
+ like this, but users may manually symlink construct libraries together or
1530
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1531
+ library can be accidentally installed, and `instanceof` will behave
1532
+ unpredictably. It is safest to avoid using `instanceof`, and using
1533
+ this type-testing method instead.
1534
+
1535
+ ###### `x`<sup>Required</sup> <a name="x" id="mrpj.components.NodeVersion.isConstruct.parameter.x"></a>
1536
+
1537
+ - *Type:* any
1538
+
1539
+ Any object.
1540
+
1541
+ ---
1542
+
1543
+ ##### `isComponent` <a name="isComponent" id="mrpj.components.NodeVersion.isComponent"></a>
1544
+
1545
+ ```typescript
1546
+ import { components } from 'mrpj'
1547
+
1548
+ components.NodeVersion.isComponent(x: any)
1549
+ ```
1550
+
1551
+ Test whether the given construct is a component.
1552
+
1553
+ ###### `x`<sup>Required</sup> <a name="x" id="mrpj.components.NodeVersion.isComponent.parameter.x"></a>
1554
+
1555
+ - *Type:* any
1556
+
1557
+ ---
1558
+
1559
+ ##### `specToVersion` <a name="specToVersion" id="mrpj.components.NodeVersion.specToVersion"></a>
1560
+
1561
+ ```typescript
1562
+ import { components } from 'mrpj'
1563
+
1564
+ components.NodeVersion.specToVersion(versionSpec: string)
1565
+ ```
1566
+
1567
+ Converts a version spec to a concrete version number.
1568
+
1569
+ Supports aliases like `lts/*`, `lts/-1`, `lts/iron`, `current`, `latest`, `node`.
1570
+
1571
+ ###### `versionSpec`<sup>Required</sup> <a name="versionSpec" id="mrpj.components.NodeVersion.specToVersion.parameter.versionSpec"></a>
1572
+
1573
+ - *Type:* string
1574
+
1575
+ The version spec or alias to convert.
1576
+
1577
+ ---
1578
+
1579
+ #### Properties <a name="Properties" id="Properties"></a>
1580
+
1581
+ | **Name** | **Type** | **Description** |
1582
+ | --- | --- | --- |
1583
+ | <code><a href="#mrpj.components.NodeVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1584
+ | <code><a href="#mrpj.components.NodeVersion.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1585
+ | <code><a href="#mrpj.components.NodeVersion.property.version">version</a></code> | <code>string</code> | The resolved Node.js major version. |
1586
+
1587
+ ---
1588
+
1589
+ ##### `node`<sup>Required</sup> <a name="node" id="mrpj.components.NodeVersion.property.node"></a>
1590
+
1591
+ ```typescript
1592
+ public readonly node: Node;
1593
+ ```
1594
+
1595
+ - *Type:* constructs.Node
1596
+
1597
+ The tree node.
1598
+
1599
+ ---
1600
+
1601
+ ##### `project`<sup>Required</sup> <a name="project" id="mrpj.components.NodeVersion.property.project"></a>
1602
+
1603
+ ```typescript
1604
+ public readonly project: Project;
1605
+ ```
1606
+
1607
+ - *Type:* projen.Project
1608
+
1609
+ ---
1610
+
1611
+ ##### `version`<sup>Required</sup> <a name="version" id="mrpj.components.NodeVersion.property.version"></a>
1612
+
1613
+ ```typescript
1614
+ public readonly version: string;
1615
+ ```
1616
+
1617
+ - *Type:* string
1618
+
1619
+ The resolved Node.js major version.
1620
+
1621
+ ---
1622
+
1623
+
1594
1624
  ### ProjenProject <a name="ProjenProject" id="mrpj.ProjenProject"></a>
1595
1625
 
1596
1626
  A project to create new projen projects & components.
@@ -1620,11 +1650,11 @@ new ProjenProject(options: ProjenProjectOptions)
1620
1650
  | **Name** | **Description** |
1621
1651
  | --- | --- |
1622
1652
  | <code><a href="#mrpj.ProjenProject.toString">toString</a></code> | Returns a string representation of this construct. |
1653
+ | <code><a href="#mrpj.ProjenProject.with">with</a></code> | Applies one or more mixins to this construct. |
1623
1654
  | <code><a href="#mrpj.ProjenProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
1624
1655
  | <code><a href="#mrpj.ProjenProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
1625
1656
  | <code><a href="#mrpj.ProjenProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
1626
1657
  | <code><a href="#mrpj.ProjenProject.addTask">addTask</a></code> | Adds a new task to this project. |
1627
- | <code><a href="#mrpj.ProjenProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
1628
1658
  | <code><a href="#mrpj.ProjenProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
1629
1659
  | <code><a href="#mrpj.ProjenProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
1630
1660
  | <code><a href="#mrpj.ProjenProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -1632,33 +1662,50 @@ new ProjenProject(options: ProjenProjectOptions)
1632
1662
  | <code><a href="#mrpj.ProjenProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
1633
1663
  | <code><a href="#mrpj.ProjenProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
1634
1664
  | <code><a href="#mrpj.ProjenProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
1635
- | <code><a href="#mrpj.ProjenProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
1636
1665
  | <code><a href="#mrpj.ProjenProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
1637
1666
  | <code><a href="#mrpj.ProjenProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
1638
1667
  | <code><a href="#mrpj.ProjenProject.addBins">addBins</a></code> | *No description.* |
1639
1668
  | <code><a href="#mrpj.ProjenProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
1640
- | <code><a href="#mrpj.ProjenProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
1641
1669
  | <code><a href="#mrpj.ProjenProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
1642
1670
  | <code><a href="#mrpj.ProjenProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
1643
1671
  | <code><a href="#mrpj.ProjenProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
1644
1672
  | <code><a href="#mrpj.ProjenProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
1645
1673
  | <code><a href="#mrpj.ProjenProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
1646
1674
  | <code><a href="#mrpj.ProjenProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
1647
- | <code><a href="#mrpj.ProjenProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
1648
- | <code><a href="#mrpj.ProjenProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
1649
1675
  | <code><a href="#mrpj.ProjenProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
1650
1676
  | <code><a href="#mrpj.ProjenProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
1651
1677
  | <code><a href="#mrpj.ProjenProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
1652
1678
 
1653
1679
  ---
1654
1680
 
1655
- ##### `toString` <a name="toString" id="mrpj.ProjenProject.toString"></a>
1681
+ ##### `toString` <a name="toString" id="mrpj.ProjenProject.toString"></a>
1682
+
1683
+ ```typescript
1684
+ public toString(): string
1685
+ ```
1686
+
1687
+ Returns a string representation of this construct.
1688
+
1689
+ ##### `with` <a name="with" id="mrpj.ProjenProject.with"></a>
1656
1690
 
1657
1691
  ```typescript
1658
- public toString(): string
1692
+ public with(mixins: ...IMixin[]): IConstruct
1659
1693
  ```
1660
1694
 
1661
- Returns a string representation of this construct.
1695
+ Applies one or more mixins to this construct.
1696
+
1697
+ Mixins are applied in order. The list of constructs is captured at the
1698
+ start of the call, so constructs added by a mixin will not be visited.
1699
+ Use multiple `with()` calls if subsequent mixins should apply to added
1700
+ constructs.
1701
+
1702
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.ProjenProject.with.parameter.mixins"></a>
1703
+
1704
+ - *Type:* ...constructs.IMixin[]
1705
+
1706
+ The mixins to apply.
1707
+
1708
+ ---
1662
1709
 
1663
1710
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="mrpj.ProjenProject.addExcludeFromCleanup"></a>
1664
1711
 
@@ -1738,22 +1785,6 @@ Task properties.
1738
1785
 
1739
1786
  ---
1740
1787
 
1741
- ##### ~~`addTip`~~ <a name="addTip" id="mrpj.ProjenProject.addTip"></a>
1742
-
1743
- ```typescript
1744
- public addTip(message: string): void
1745
- ```
1746
-
1747
- Prints a "tip" message during synthesis.
1748
-
1749
- ###### `message`<sup>Required</sup> <a name="message" id="mrpj.ProjenProject.addTip.parameter.message"></a>
1750
-
1751
- - *Type:* string
1752
-
1753
- The message.
1754
-
1755
- ---
1756
-
1757
1788
  ##### `annotateGenerated` <a name="annotateGenerated" id="mrpj.ProjenProject.annotateGenerated"></a>
1758
1789
 
1759
1790
  ```typescript
@@ -1819,7 +1850,7 @@ public runTaskCommand(task: Task): string
1819
1850
  Returns the shell command to execute in order to run a task.
1820
1851
 
1821
1852
  This will
1822
- typically be `npx projen TASK`.
1853
+ typically be `pnpm projen TASK`.
1823
1854
 
1824
1855
  ###### `task`<sup>Required</sup> <a name="task" id="mrpj.ProjenProject.runTaskCommand.parameter.task"></a>
1825
1856
 
@@ -1863,22 +1894,6 @@ from the root of _this_ project.
1863
1894
 
1864
1895
  ---
1865
1896
 
1866
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="mrpj.ProjenProject.tryFindJsonFile"></a>
1867
-
1868
- ```typescript
1869
- public tryFindJsonFile(filePath: string): JsonFile
1870
- ```
1871
-
1872
- Finds a json file by name.
1873
-
1874
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="mrpj.ProjenProject.tryFindJsonFile.parameter.filePath"></a>
1875
-
1876
- - *Type:* string
1877
-
1878
- The file path.
1879
-
1880
- ---
1881
-
1882
1897
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="mrpj.ProjenProject.tryFindObjectFile"></a>
1883
1898
 
1884
1899
  ```typescript
@@ -1944,27 +1959,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
1944
1959
  Names modules to install.
1945
1960
 
1946
1961
  By default, the the dependency will
1947
- be installed in the next `npx projen` run and the version will be recorded
1948
- in your `package.json` file. You can upgrade manually or using `yarn
1949
- add/upgrade`. If you wish to specify a version range use this syntax:
1962
+ be installed in the next `pnpm projen` run and the version will be recorded
1963
+ in your `package.json` file. You can upgrade manually or using `pnpm
1964
+ add/update`. If you wish to specify a version range use this syntax:
1950
1965
  `module@^7`.
1951
1966
 
1952
1967
  ---
1953
1968
 
1954
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="mrpj.ProjenProject.addCompileCommand"></a>
1955
-
1956
- ```typescript
1957
- public addCompileCommand(commands: ...string[]): void
1958
- ```
1959
-
1960
- DEPRECATED.
1961
-
1962
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ProjenProject.addCompileCommand.parameter.commands"></a>
1963
-
1964
- - *Type:* ...string[]
1965
-
1966
- ---
1967
-
1968
1969
  ##### `addDeps` <a name="addDeps" id="mrpj.ProjenProject.addDeps"></a>
1969
1970
 
1970
1971
  ```typescript
@@ -1980,9 +1981,9 @@ Defines normal dependencies.
1980
1981
  Names modules to install.
1981
1982
 
1982
1983
  By default, the the dependency will
1983
- be installed in the next `npx projen` run and the version will be recorded
1984
- in your `package.json` file. You can upgrade manually or using `yarn
1985
- add/upgrade`. If you wish to specify a version range use this syntax:
1984
+ be installed in the next `pnpm projen` run and the version will be recorded
1985
+ in your `package.json` file. You can upgrade manually or using `pnpm
1986
+ add/update`. If you wish to specify a version range use this syntax:
1986
1987
  `module@^7`.
1987
1988
 
1988
1989
  ---
@@ -2002,9 +2003,9 @@ Defines development/test dependencies.
2002
2003
  Names modules to install.
2003
2004
 
2004
2005
  By default, the the dependency will
2005
- be installed in the next `npx projen` run and the version will be recorded
2006
- in your `package.json` file. You can upgrade manually or using `yarn
2007
- add/upgrade`. If you wish to specify a version range use this syntax:
2006
+ be installed in the next `pnpm projen` run and the version will be recorded
2007
+ in your `package.json` file. You can upgrade manually or using `pnpm
2008
+ add/update`. If you wish to specify a version range use this syntax:
2008
2009
  `module@^7`.
2009
2010
 
2010
2011
  ---
@@ -2060,9 +2061,9 @@ your code against the minimum version required from your consumers.
2060
2061
  Names modules to install.
2061
2062
 
2062
2063
  By default, the the dependency will
2063
- be installed in the next `npx projen` run and the version will be recorded
2064
- in your `package.json` file. You can upgrade manually or using `yarn
2065
- add/upgrade`. If you wish to specify a version range use this syntax:
2064
+ be installed in the next `pnpm projen` run and the version will be recorded
2065
+ in your `package.json` file. You can upgrade manually or using `pnpm
2066
+ add/update`. If you wish to specify a version range use this syntax:
2066
2067
  `module@^7`.
2067
2068
 
2068
2069
  ---
@@ -2083,36 +2084,6 @@ The scripts to set.
2083
2084
 
2084
2085
  ---
2085
2086
 
2086
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="mrpj.ProjenProject.addTestCommand"></a>
2087
-
2088
- ```typescript
2089
- public addTestCommand(commands: ...string[]): void
2090
- ```
2091
-
2092
- DEPRECATED.
2093
-
2094
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ProjenProject.addTestCommand.parameter.commands"></a>
2095
-
2096
- - *Type:* ...string[]
2097
-
2098
- ---
2099
-
2100
- ##### ~~`hasScript`~~ <a name="hasScript" id="mrpj.ProjenProject.hasScript"></a>
2101
-
2102
- ```typescript
2103
- public hasScript(name: string): boolean
2104
- ```
2105
-
2106
- Indicates if a script by the name name is defined.
2107
-
2108
- ###### `name`<sup>Required</sup> <a name="name" id="mrpj.ProjenProject.hasScript.parameter.name"></a>
2109
-
2110
- - *Type:* string
2111
-
2112
- The name of the script.
2113
-
2114
- ---
2115
-
2116
2087
  ##### `removeScript` <a name="removeScript" id="mrpj.ProjenProject.removeScript"></a>
2117
2088
 
2118
2089
  ```typescript
@@ -2274,21 +2245,16 @@ When given a project, this it the project itself.
2274
2245
  | <code><a href="#mrpj.ProjenProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
2275
2246
  | <code><a href="#mrpj.ProjenProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
2276
2247
  | <code><a href="#mrpj.ProjenProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
2277
- | <code><a href="#mrpj.ProjenProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
2278
2248
  | <code><a href="#mrpj.ProjenProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
2279
2249
  | <code><a href="#mrpj.ProjenProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
2280
2250
  | <code><a href="#mrpj.ProjenProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
2281
2251
  | <code><a href="#mrpj.ProjenProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
2282
2252
  | <code><a href="#mrpj.ProjenProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
2283
- | <code><a href="#mrpj.ProjenProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
2284
2253
  | <code><a href="#mrpj.ProjenProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
2285
2254
  | <code><a href="#mrpj.ProjenProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
2286
2255
  | <code><a href="#mrpj.ProjenProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
2287
- | <code><a href="#mrpj.ProjenProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
2288
- | <code><a href="#mrpj.ProjenProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
2289
2256
  | <code><a href="#mrpj.ProjenProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
2290
2257
  | <code><a href="#mrpj.ProjenProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
2291
- | <code><a href="#mrpj.ProjenProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
2292
2258
  | <code><a href="#mrpj.ProjenProject.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). |
2293
2259
  | <code><a href="#mrpj.ProjenProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
2294
2260
  | <code><a href="#mrpj.ProjenProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -2299,7 +2265,6 @@ When given a project, this it the project itself.
2299
2265
  | <code><a href="#mrpj.ProjenProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
2300
2266
  | <code><a href="#mrpj.ProjenProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
2301
2267
  | <code><a href="#mrpj.ProjenProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
2302
- | <code><a href="#mrpj.ProjenProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
2303
2268
  | <code><a href="#mrpj.ProjenProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
2304
2269
  | <code><a href="#mrpj.ProjenProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
2305
2270
  | <code><a href="#mrpj.ProjenProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
@@ -2614,16 +2579,6 @@ If undefined, this is the root project.
2614
2579
 
2615
2580
  ---
2616
2581
 
2617
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="mrpj.ProjenProject.property.projectType"></a>
2618
-
2619
- ```typescript
2620
- public readonly projectType: ProjectType;
2621
- ```
2622
-
2623
- - *Type:* projen.ProjectType
2624
-
2625
- ---
2626
-
2627
2582
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="mrpj.ProjenProject.property.autoApprove"></a>
2628
2583
 
2629
2584
  ```typescript
@@ -2692,18 +2647,6 @@ This will be `undefined` for subprojects.
2692
2647
 
2693
2648
  ---
2694
2649
 
2695
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="mrpj.ProjenProject.property.allowLibraryDependencies"></a>
2696
-
2697
- - *Deprecated:* use `package.allowLibraryDependencies`
2698
-
2699
- ```typescript
2700
- public readonly allowLibraryDependencies: boolean;
2701
- ```
2702
-
2703
- - *Type:* boolean
2704
-
2705
- ---
2706
-
2707
2650
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="mrpj.ProjenProject.property.artifactsDirectory"></a>
2708
2651
 
2709
2652
  ```typescript
@@ -2742,30 +2685,6 @@ public readonly bundler: Bundler;
2742
2685
 
2743
2686
  ---
2744
2687
 
2745
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="mrpj.ProjenProject.property.entrypoint"></a>
2746
-
2747
- - *Deprecated:* use `package.entrypoint`
2748
-
2749
- ```typescript
2750
- public readonly entrypoint: string;
2751
- ```
2752
-
2753
- - *Type:* string
2754
-
2755
- ---
2756
-
2757
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="mrpj.ProjenProject.property.manifest"></a>
2758
-
2759
- - *Deprecated:* use `package.addField(x, y)`
2760
-
2761
- ```typescript
2762
- public readonly manifest: any;
2763
- ```
2764
-
2765
- - *Type:* any
2766
-
2767
- ---
2768
-
2769
2688
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="mrpj.ProjenProject.property.npmrc"></a>
2770
2689
 
2771
2690
  ```typescript
@@ -2790,20 +2709,6 @@ API for managing the node package.
2790
2709
 
2791
2710
  ---
2792
2711
 
2793
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="mrpj.ProjenProject.property.packageManager"></a>
2794
-
2795
- - *Deprecated:* use `package.packageManager`
2796
-
2797
- ```typescript
2798
- public readonly packageManager: NodePackageManager;
2799
- ```
2800
-
2801
- - *Type:* projen.javascript.NodePackageManager
2802
-
2803
- The package manager to use.
2804
-
2805
- ---
2806
-
2807
2712
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="mrpj.ProjenProject.property.runScriptCommand"></a>
2808
2713
 
2809
2714
  ```typescript
@@ -2926,23 +2831,6 @@ public readonly prettier: Prettier;
2926
2831
 
2927
2832
  ---
2928
2833
 
2929
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="mrpj.ProjenProject.property.publisher"></a>
2930
-
2931
- - *Deprecated:* use `release.publisher`.
2932
-
2933
- ```typescript
2934
- public readonly publisher: Publisher;
2935
- ```
2936
-
2937
- - *Type:* projen.release.Publisher
2938
-
2939
- Package publisher.
2940
-
2941
- This will be `undefined` if the project does not have a
2942
- release workflow.
2943
-
2944
- ---
2945
-
2946
2834
  ##### `release`<sup>Optional</sup> <a name="release" id="mrpj.ProjenProject.property.release"></a>
2947
2835
 
2948
2836
  ```typescript
@@ -3174,6 +3062,7 @@ new logo.SvgFile(project: Project, filePath: string, options: SvgFileOptions)
3174
3062
  | **Name** | **Description** |
3175
3063
  | --- | --- |
3176
3064
  | <code><a href="#mrpj.logo.SvgFile.toString">toString</a></code> | Returns a string representation of this construct. |
3065
+ | <code><a href="#mrpj.logo.SvgFile.with">with</a></code> | Applies one or more mixins to this construct. |
3177
3066
  | <code><a href="#mrpj.logo.SvgFile.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
3178
3067
  | <code><a href="#mrpj.logo.SvgFile.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
3179
3068
  | <code><a href="#mrpj.logo.SvgFile.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
@@ -3191,6 +3080,27 @@ public toString(): string
3191
3080
 
3192
3081
  Returns a string representation of this construct.
3193
3082
 
3083
+ ##### `with` <a name="with" id="mrpj.logo.SvgFile.with"></a>
3084
+
3085
+ ```typescript
3086
+ public with(mixins: ...IMixin[]): IConstruct
3087
+ ```
3088
+
3089
+ Applies one or more mixins to this construct.
3090
+
3091
+ Mixins are applied in order. The list of constructs is captured at the
3092
+ start of the call, so constructs added by a mixin will not be visited.
3093
+ Use multiple `with()` calls if subsequent mixins should apply to added
3094
+ constructs.
3095
+
3096
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.logo.SvgFile.with.parameter.mixins"></a>
3097
+
3098
+ - *Type:* ...constructs.IMixin[]
3099
+
3100
+ The mixins to apply.
3101
+
3102
+ ---
3103
+
3194
3104
  ##### `postSynthesize` <a name="postSynthesize" id="mrpj.logo.SvgFile.postSynthesize"></a>
3195
3105
 
3196
3106
  ```typescript
@@ -3403,11 +3313,11 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
3403
3313
  | **Name** | **Description** |
3404
3314
  | --- | --- |
3405
3315
  | <code><a href="#mrpj.TypeScriptProject.toString">toString</a></code> | Returns a string representation of this construct. |
3316
+ | <code><a href="#mrpj.TypeScriptProject.with">with</a></code> | Applies one or more mixins to this construct. |
3406
3317
  | <code><a href="#mrpj.TypeScriptProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
3407
3318
  | <code><a href="#mrpj.TypeScriptProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
3408
3319
  | <code><a href="#mrpj.TypeScriptProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
3409
3320
  | <code><a href="#mrpj.TypeScriptProject.addTask">addTask</a></code> | Adds a new task to this project. |
3410
- | <code><a href="#mrpj.TypeScriptProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
3411
3321
  | <code><a href="#mrpj.TypeScriptProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
3412
3322
  | <code><a href="#mrpj.TypeScriptProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
3413
3323
  | <code><a href="#mrpj.TypeScriptProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -3415,20 +3325,16 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
3415
3325
  | <code><a href="#mrpj.TypeScriptProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
3416
3326
  | <code><a href="#mrpj.TypeScriptProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
3417
3327
  | <code><a href="#mrpj.TypeScriptProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
3418
- | <code><a href="#mrpj.TypeScriptProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
3419
3328
  | <code><a href="#mrpj.TypeScriptProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
3420
3329
  | <code><a href="#mrpj.TypeScriptProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
3421
3330
  | <code><a href="#mrpj.TypeScriptProject.addBins">addBins</a></code> | *No description.* |
3422
3331
  | <code><a href="#mrpj.TypeScriptProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
3423
- | <code><a href="#mrpj.TypeScriptProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
3424
3332
  | <code><a href="#mrpj.TypeScriptProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
3425
3333
  | <code><a href="#mrpj.TypeScriptProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
3426
3334
  | <code><a href="#mrpj.TypeScriptProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
3427
3335
  | <code><a href="#mrpj.TypeScriptProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
3428
3336
  | <code><a href="#mrpj.TypeScriptProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
3429
3337
  | <code><a href="#mrpj.TypeScriptProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
3430
- | <code><a href="#mrpj.TypeScriptProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
3431
- | <code><a href="#mrpj.TypeScriptProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
3432
3338
  | <code><a href="#mrpj.TypeScriptProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
3433
3339
  | <code><a href="#mrpj.TypeScriptProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
3434
3340
  | <code><a href="#mrpj.TypeScriptProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
@@ -3443,6 +3349,27 @@ public toString(): string
3443
3349
 
3444
3350
  Returns a string representation of this construct.
3445
3351
 
3352
+ ##### `with` <a name="with" id="mrpj.TypeScriptProject.with"></a>
3353
+
3354
+ ```typescript
3355
+ public with(mixins: ...IMixin[]): IConstruct
3356
+ ```
3357
+
3358
+ Applies one or more mixins to this construct.
3359
+
3360
+ Mixins are applied in order. The list of constructs is captured at the
3361
+ start of the call, so constructs added by a mixin will not be visited.
3362
+ Use multiple `with()` calls if subsequent mixins should apply to added
3363
+ constructs.
3364
+
3365
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.TypeScriptProject.with.parameter.mixins"></a>
3366
+
3367
+ - *Type:* ...constructs.IMixin[]
3368
+
3369
+ The mixins to apply.
3370
+
3371
+ ---
3372
+
3446
3373
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="mrpj.TypeScriptProject.addExcludeFromCleanup"></a>
3447
3374
 
3448
3375
  ```typescript
@@ -3521,22 +3448,6 @@ Task properties.
3521
3448
 
3522
3449
  ---
3523
3450
 
3524
- ##### ~~`addTip`~~ <a name="addTip" id="mrpj.TypeScriptProject.addTip"></a>
3525
-
3526
- ```typescript
3527
- public addTip(message: string): void
3528
- ```
3529
-
3530
- Prints a "tip" message during synthesis.
3531
-
3532
- ###### `message`<sup>Required</sup> <a name="message" id="mrpj.TypeScriptProject.addTip.parameter.message"></a>
3533
-
3534
- - *Type:* string
3535
-
3536
- The message.
3537
-
3538
- ---
3539
-
3540
3451
  ##### `annotateGenerated` <a name="annotateGenerated" id="mrpj.TypeScriptProject.annotateGenerated"></a>
3541
3452
 
3542
3453
  ```typescript
@@ -3602,7 +3513,7 @@ public runTaskCommand(task: Task): string
3602
3513
  Returns the shell command to execute in order to run a task.
3603
3514
 
3604
3515
  This will
3605
- typically be `npx projen TASK`.
3516
+ typically be `pnpm projen TASK`.
3606
3517
 
3607
3518
  ###### `task`<sup>Required</sup> <a name="task" id="mrpj.TypeScriptProject.runTaskCommand.parameter.task"></a>
3608
3519
 
@@ -3646,22 +3557,6 @@ from the root of _this_ project.
3646
3557
 
3647
3558
  ---
3648
3559
 
3649
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="mrpj.TypeScriptProject.tryFindJsonFile"></a>
3650
-
3651
- ```typescript
3652
- public tryFindJsonFile(filePath: string): JsonFile
3653
- ```
3654
-
3655
- Finds a json file by name.
3656
-
3657
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="mrpj.TypeScriptProject.tryFindJsonFile.parameter.filePath"></a>
3658
-
3659
- - *Type:* string
3660
-
3661
- The file path.
3662
-
3663
- ---
3664
-
3665
3560
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="mrpj.TypeScriptProject.tryFindObjectFile"></a>
3666
3561
 
3667
3562
  ```typescript
@@ -3727,27 +3622,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
3727
3622
  Names modules to install.
3728
3623
 
3729
3624
  By default, the the dependency will
3730
- be installed in the next `npx projen` run and the version will be recorded
3731
- in your `package.json` file. You can upgrade manually or using `yarn
3732
- add/upgrade`. If you wish to specify a version range use this syntax:
3625
+ be installed in the next `pnpm projen` run and the version will be recorded
3626
+ in your `package.json` file. You can upgrade manually or using `pnpm
3627
+ add/update`. If you wish to specify a version range use this syntax:
3733
3628
  `module@^7`.
3734
3629
 
3735
3630
  ---
3736
3631
 
3737
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="mrpj.TypeScriptProject.addCompileCommand"></a>
3738
-
3739
- ```typescript
3740
- public addCompileCommand(commands: ...string[]): void
3741
- ```
3742
-
3743
- DEPRECATED.
3744
-
3745
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.TypeScriptProject.addCompileCommand.parameter.commands"></a>
3746
-
3747
- - *Type:* ...string[]
3748
-
3749
- ---
3750
-
3751
3632
  ##### `addDeps` <a name="addDeps" id="mrpj.TypeScriptProject.addDeps"></a>
3752
3633
 
3753
3634
  ```typescript
@@ -3763,9 +3644,9 @@ Defines normal dependencies.
3763
3644
  Names modules to install.
3764
3645
 
3765
3646
  By default, the the dependency will
3766
- be installed in the next `npx projen` run and the version will be recorded
3767
- in your `package.json` file. You can upgrade manually or using `yarn
3768
- add/upgrade`. If you wish to specify a version range use this syntax:
3647
+ be installed in the next `pnpm projen` run and the version will be recorded
3648
+ in your `package.json` file. You can upgrade manually or using `pnpm
3649
+ add/update`. If you wish to specify a version range use this syntax:
3769
3650
  `module@^7`.
3770
3651
 
3771
3652
  ---
@@ -3785,9 +3666,9 @@ Defines development/test dependencies.
3785
3666
  Names modules to install.
3786
3667
 
3787
3668
  By default, the the dependency will
3788
- be installed in the next `npx projen` run and the version will be recorded
3789
- in your `package.json` file. You can upgrade manually or using `yarn
3790
- add/upgrade`. If you wish to specify a version range use this syntax:
3669
+ be installed in the next `pnpm projen` run and the version will be recorded
3670
+ in your `package.json` file. You can upgrade manually or using `pnpm
3671
+ add/update`. If you wish to specify a version range use this syntax:
3791
3672
  `module@^7`.
3792
3673
 
3793
3674
  ---
@@ -3843,9 +3724,9 @@ your code against the minimum version required from your consumers.
3843
3724
  Names modules to install.
3844
3725
 
3845
3726
  By default, the the dependency will
3846
- be installed in the next `npx projen` run and the version will be recorded
3847
- in your `package.json` file. You can upgrade manually or using `yarn
3848
- add/upgrade`. If you wish to specify a version range use this syntax:
3727
+ be installed in the next `pnpm projen` run and the version will be recorded
3728
+ in your `package.json` file. You can upgrade manually or using `pnpm
3729
+ add/update`. If you wish to specify a version range use this syntax:
3849
3730
  `module@^7`.
3850
3731
 
3851
3732
  ---
@@ -3866,36 +3747,6 @@ The scripts to set.
3866
3747
 
3867
3748
  ---
3868
3749
 
3869
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="mrpj.TypeScriptProject.addTestCommand"></a>
3870
-
3871
- ```typescript
3872
- public addTestCommand(commands: ...string[]): void
3873
- ```
3874
-
3875
- DEPRECATED.
3876
-
3877
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.TypeScriptProject.addTestCommand.parameter.commands"></a>
3878
-
3879
- - *Type:* ...string[]
3880
-
3881
- ---
3882
-
3883
- ##### ~~`hasScript`~~ <a name="hasScript" id="mrpj.TypeScriptProject.hasScript"></a>
3884
-
3885
- ```typescript
3886
- public hasScript(name: string): boolean
3887
- ```
3888
-
3889
- Indicates if a script by the name name is defined.
3890
-
3891
- ###### `name`<sup>Required</sup> <a name="name" id="mrpj.TypeScriptProject.hasScript.parameter.name"></a>
3892
-
3893
- - *Type:* string
3894
-
3895
- The name of the script.
3896
-
3897
- ---
3898
-
3899
3750
  ##### `removeScript` <a name="removeScript" id="mrpj.TypeScriptProject.removeScript"></a>
3900
3751
 
3901
3752
  ```typescript
@@ -4057,21 +3908,16 @@ When given a project, this it the project itself.
4057
3908
  | <code><a href="#mrpj.TypeScriptProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
4058
3909
  | <code><a href="#mrpj.TypeScriptProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
4059
3910
  | <code><a href="#mrpj.TypeScriptProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
4060
- | <code><a href="#mrpj.TypeScriptProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
4061
3911
  | <code><a href="#mrpj.TypeScriptProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
4062
3912
  | <code><a href="#mrpj.TypeScriptProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
4063
3913
  | <code><a href="#mrpj.TypeScriptProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
4064
3914
  | <code><a href="#mrpj.TypeScriptProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
4065
3915
  | <code><a href="#mrpj.TypeScriptProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
4066
- | <code><a href="#mrpj.TypeScriptProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
4067
3916
  | <code><a href="#mrpj.TypeScriptProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
4068
3917
  | <code><a href="#mrpj.TypeScriptProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
4069
3918
  | <code><a href="#mrpj.TypeScriptProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
4070
- | <code><a href="#mrpj.TypeScriptProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
4071
- | <code><a href="#mrpj.TypeScriptProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
4072
3919
  | <code><a href="#mrpj.TypeScriptProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
4073
3920
  | <code><a href="#mrpj.TypeScriptProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
4074
- | <code><a href="#mrpj.TypeScriptProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
4075
3921
  | <code><a href="#mrpj.TypeScriptProject.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). |
4076
3922
  | <code><a href="#mrpj.TypeScriptProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
4077
3923
  | <code><a href="#mrpj.TypeScriptProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -4082,7 +3928,6 @@ When given a project, this it the project itself.
4082
3928
  | <code><a href="#mrpj.TypeScriptProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
4083
3929
  | <code><a href="#mrpj.TypeScriptProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
4084
3930
  | <code><a href="#mrpj.TypeScriptProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
4085
- | <code><a href="#mrpj.TypeScriptProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
4086
3931
  | <code><a href="#mrpj.TypeScriptProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
4087
3932
  | <code><a href="#mrpj.TypeScriptProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
4088
3933
  | <code><a href="#mrpj.TypeScriptProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
@@ -4397,16 +4242,6 @@ If undefined, this is the root project.
4397
4242
 
4398
4243
  ---
4399
4244
 
4400
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="mrpj.TypeScriptProject.property.projectType"></a>
4401
-
4402
- ```typescript
4403
- public readonly projectType: ProjectType;
4404
- ```
4405
-
4406
- - *Type:* projen.ProjectType
4407
-
4408
- ---
4409
-
4410
4245
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="mrpj.TypeScriptProject.property.autoApprove"></a>
4411
4246
 
4412
4247
  ```typescript
@@ -4475,18 +4310,6 @@ This will be `undefined` for subprojects.
4475
4310
 
4476
4311
  ---
4477
4312
 
4478
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="mrpj.TypeScriptProject.property.allowLibraryDependencies"></a>
4479
-
4480
- - *Deprecated:* use `package.allowLibraryDependencies`
4481
-
4482
- ```typescript
4483
- public readonly allowLibraryDependencies: boolean;
4484
- ```
4485
-
4486
- - *Type:* boolean
4487
-
4488
- ---
4489
-
4490
4313
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="mrpj.TypeScriptProject.property.artifactsDirectory"></a>
4491
4314
 
4492
4315
  ```typescript
@@ -4525,30 +4348,6 @@ public readonly bundler: Bundler;
4525
4348
 
4526
4349
  ---
4527
4350
 
4528
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="mrpj.TypeScriptProject.property.entrypoint"></a>
4529
-
4530
- - *Deprecated:* use `package.entrypoint`
4531
-
4532
- ```typescript
4533
- public readonly entrypoint: string;
4534
- ```
4535
-
4536
- - *Type:* string
4537
-
4538
- ---
4539
-
4540
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="mrpj.TypeScriptProject.property.manifest"></a>
4541
-
4542
- - *Deprecated:* use `package.addField(x, y)`
4543
-
4544
- ```typescript
4545
- public readonly manifest: any;
4546
- ```
4547
-
4548
- - *Type:* any
4549
-
4550
- ---
4551
-
4552
4351
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="mrpj.TypeScriptProject.property.npmrc"></a>
4553
4352
 
4554
4353
  ```typescript
@@ -4573,20 +4372,6 @@ API for managing the node package.
4573
4372
 
4574
4373
  ---
4575
4374
 
4576
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="mrpj.TypeScriptProject.property.packageManager"></a>
4577
-
4578
- - *Deprecated:* use `package.packageManager`
4579
-
4580
- ```typescript
4581
- public readonly packageManager: NodePackageManager;
4582
- ```
4583
-
4584
- - *Type:* projen.javascript.NodePackageManager
4585
-
4586
- The package manager to use.
4587
-
4588
- ---
4589
-
4590
4375
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="mrpj.TypeScriptProject.property.runScriptCommand"></a>
4591
4376
 
4592
4377
  ```typescript
@@ -4702,27 +4487,10 @@ The .npmignore file.
4702
4487
  ##### `prettier`<sup>Optional</sup> <a name="prettier" id="mrpj.TypeScriptProject.property.prettier"></a>
4703
4488
 
4704
4489
  ```typescript
4705
- public readonly prettier: Prettier;
4706
- ```
4707
-
4708
- - *Type:* projen.javascript.Prettier
4709
-
4710
- ---
4711
-
4712
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="mrpj.TypeScriptProject.property.publisher"></a>
4713
-
4714
- - *Deprecated:* use `release.publisher`.
4715
-
4716
- ```typescript
4717
- public readonly publisher: Publisher;
4490
+ public readonly prettier: Prettier;
4718
4491
  ```
4719
4492
 
4720
- - *Type:* projen.release.Publisher
4721
-
4722
- Package publisher.
4723
-
4724
- This will be `undefined` if the project does not have a
4725
- release workflow.
4493
+ - *Type:* projen.javascript.Prettier
4726
4494
 
4727
4495
  ---
4728
4496
 
@@ -4948,6 +4716,7 @@ new logo.Wordmark(project: Project, options?: WordmarkOptions)
4948
4716
  | **Name** | **Description** |
4949
4717
  | --- | --- |
4950
4718
  | <code><a href="#mrpj.logo.Wordmark.toString">toString</a></code> | Returns a string representation of this construct. |
4719
+ | <code><a href="#mrpj.logo.Wordmark.with">with</a></code> | Applies one or more mixins to this construct. |
4951
4720
  | <code><a href="#mrpj.logo.Wordmark.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
4952
4721
  | <code><a href="#mrpj.logo.Wordmark.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
4953
4722
  | <code><a href="#mrpj.logo.Wordmark.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
@@ -4962,6 +4731,27 @@ public toString(): string
4962
4731
 
4963
4732
  Returns a string representation of this construct.
4964
4733
 
4734
+ ##### `with` <a name="with" id="mrpj.logo.Wordmark.with"></a>
4735
+
4736
+ ```typescript
4737
+ public with(mixins: ...IMixin[]): IConstruct
4738
+ ```
4739
+
4740
+ Applies one or more mixins to this construct.
4741
+
4742
+ Mixins are applied in order. The list of constructs is captured at the
4743
+ start of the call, so constructs added by a mixin will not be visited.
4744
+ Use multiple `with()` calls if subsequent mixins should apply to added
4745
+ constructs.
4746
+
4747
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="mrpj.logo.Wordmark.with.parameter.mixins"></a>
4748
+
4749
+ - *Type:* ...constructs.IMixin[]
4750
+
4751
+ The mixins to apply.
4752
+
4753
+ ---
4754
+
4965
4755
  ##### `postSynthesize` <a name="postSynthesize" id="mrpj.logo.Wordmark.postSynthesize"></a>
4966
4756
 
4967
4757
  ```typescript
@@ -5137,9 +4927,9 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5137
4927
  | <code><a href="#mrpj.ConstructProjectOptions.property.author">author</a></code> | <code>string</code> | The name of the library author. |
5138
4928
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorAddress">authorAddress</a></code> | <code>string</code> | Email or URL of the library author. |
5139
4929
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | Minimum version of the AWS CDK to depend on. |
5140
- | <code><a href="#mrpj.ConstructProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
5141
4930
  | <code><a href="#mrpj.ConstructProjectOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
5142
4931
  | <code><a href="#mrpj.ConstructProjectOptions.property.repositoryUrl">repositoryUrl</a></code> | <code>string</code> | Git repository URL. |
4932
+ | <code><a href="#mrpj.ConstructProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
5143
4933
  | <code><a href="#mrpj.ConstructProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
5144
4934
  | <code><a href="#mrpj.ConstructProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
5145
4935
  | <code><a href="#mrpj.ConstructProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
@@ -5149,7 +4939,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5149
4939
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
5150
4940
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorUrl">authorUrl</a></code> | <code>string</code> | Author's URL / Website. |
5151
4941
  | <code><a href="#mrpj.ConstructProjectOptions.property.autoApproveOptions">autoApproveOptions</a></code> | <code>projen.github.AutoApproveOptions</code> | Enable and configure the 'auto approve' workflow. |
5152
- | <code><a href="#mrpj.ConstructProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
4942
+ | <code><a href="#mrpj.ConstructProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
5153
4943
  | <code><a href="#mrpj.ConstructProjectOptions.property.autoDetectBin">autoDetectBin</a></code> | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
5154
4944
  | <code><a href="#mrpj.ConstructProjectOptions.property.autoMerge">autoMerge</a></code> | <code>boolean</code> | Enable automatic merging on GitHub. |
5155
4945
  | <code><a href="#mrpj.ConstructProjectOptions.property.autoMergeOptions">autoMergeOptions</a></code> | <code>projen.github.AutoMergeOptions</code> | Configure options for automatic merging on GitHub. |
@@ -5165,7 +4955,6 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5165
4955
  | <code><a href="#mrpj.ConstructProjectOptions.property.bundlerOptions">bundlerOptions</a></code> | <code>projen.javascript.BundlerOptions</code> | Options for `Bundler`. |
5166
4956
  | <code><a href="#mrpj.ConstructProjectOptions.property.bunVersion">bunVersion</a></code> | <code>string</code> | The version of Bun to use if using Bun as a package manager. |
5167
4957
  | <code><a href="#mrpj.ConstructProjectOptions.property.catalog">catalog</a></code> | <code>projen.cdk.Catalog</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. |
5168
- | <code><a href="#mrpj.ConstructProjectOptions.property.cdkAssertions">cdkAssertions</a></code> | <code>boolean</code> | Install the assertions library? |
5169
4958
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkCliVersion">cdkCliVersion</a></code> | <code>string</code> | Version range of the AWS CDK CLI to depend on. |
5170
4959
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkVersionPinning">cdkVersionPinning</a></code> | <code>boolean</code> | Use pinned version instead of caret version for CDK. |
5171
4960
  | <code><a href="#mrpj.ConstructProjectOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
@@ -5180,6 +4969,8 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5180
4969
  | <code><a href="#mrpj.ConstructProjectOptions.property.constructsVersion">constructsVersion</a></code> | <code>string</code> | Minimum version of the `constructs` library to depend on. |
5181
4970
  | <code><a href="#mrpj.ConstructProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
5182
4971
  | <code><a href="#mrpj.ConstructProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
4972
+ | <code><a href="#mrpj.ConstructProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
4973
+ | <code><a href="#mrpj.ConstructProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
5183
4974
  | <code><a href="#mrpj.ConstructProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
5184
4975
  | <code><a href="#mrpj.ConstructProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
5185
4976
  | <code><a href="#mrpj.ConstructProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -5188,6 +4979,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5188
4979
  | <code><a href="#mrpj.ConstructProjectOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
5189
4980
  | <code><a href="#mrpj.ConstructProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
5190
4981
  | <code><a href="#mrpj.ConstructProjectOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
4982
+ | <code><a href="#mrpj.ConstructProjectOptions.property.devEngines">devEngines</a></code> | <code>projen.javascript.DevEngines</code> | Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry. |
5191
4983
  | <code><a href="#mrpj.ConstructProjectOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
5192
4984
  | <code><a href="#mrpj.ConstructProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
5193
4985
  | <code><a href="#mrpj.ConstructProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -5245,6 +5037,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5245
5037
  | <code><a href="#mrpj.ConstructProjectOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
5246
5038
  | <code><a href="#mrpj.ConstructProjectOptions.property.prettier">prettier</a></code> | <code>boolean</code> | Setup prettier. |
5247
5039
  | <code><a href="#mrpj.ConstructProjectOptions.property.prettierOptions">prettierOptions</a></code> | <code>projen.javascript.PrettierOptions</code> | Prettier options. |
5040
+ | <code><a href="#mrpj.ConstructProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
5248
5041
  | <code><a href="#mrpj.ConstructProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
5249
5042
  | <code><a href="#mrpj.ConstructProjectOptions.property.projenCredentials">projenCredentials</a></code> | <code>projen.github.GithubCredentials</code> | Choose a method of providing GitHub API access for projen workflows. |
5250
5043
  | <code><a href="#mrpj.ConstructProjectOptions.property.projenDevDependency">projenDevDependency</a></code> | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency. |
@@ -5283,6 +5076,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5283
5076
  | <code><a href="#mrpj.ConstructProjectOptions.property.rootdir">rootdir</a></code> | <code>string</code> | *No description.* |
5284
5077
  | <code><a href="#mrpj.ConstructProjectOptions.property.sampleCode">sampleCode</a></code> | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there. |
5285
5078
  | <code><a href="#mrpj.ConstructProjectOptions.property.scopedPackagesOptions">scopedPackagesOptions</a></code> | <code>projen.javascript.ScopedPackagesOptions[]</code> | Options for privately hosted scoped packages. |
5079
+ | <code><a href="#mrpj.ConstructProjectOptions.property.singletonLambdaAutoDiscover">singletonLambdaAutoDiscover</a></code> | <code>boolean</code> | Automatically adds an `awscdk.SingletonFunction` for each `.singleton-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
5286
5080
  | <code><a href="#mrpj.ConstructProjectOptions.property.srcdir">srcdir</a></code> | <code>string</code> | Typescript sources directory. |
5287
5081
  | <code><a href="#mrpj.ConstructProjectOptions.property.stability">stability</a></code> | <code>string</code> | Package's Stability. |
5288
5082
  | <code><a href="#mrpj.ConstructProjectOptions.property.stale">stale</a></code> | <code>boolean</code> | Auto-close of stale issues and pull request. |
@@ -5293,6 +5087,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5293
5087
  | <code><a href="#mrpj.ConstructProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
5294
5088
  | <code><a href="#mrpj.ConstructProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
5295
5089
  | <code><a href="#mrpj.ConstructProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
5090
+ | <code><a href="#mrpj.ConstructProjectOptions.property.validateTsconfig">validateTsconfig</a></code> | <code>projen.cdk.ValidateTsconfig</code> | Level of tsconfig validation jsii should perform on the user-provided tsconfig. |
5296
5091
  | <code><a href="#mrpj.ConstructProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
5297
5092
  | <code><a href="#mrpj.ConstructProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
5298
5093
  | <code><a href="#mrpj.ConstructProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
@@ -5339,25 +5134,12 @@ public readonly cdkVersion: string;
5339
5134
  ```
5340
5135
 
5341
5136
  - *Type:* string
5342
- - *Default:* "2.1.0"
5137
+ - *Default:* "2.189.1"
5343
5138
 
5344
5139
  Minimum version of the AWS CDK to depend on.
5345
5140
 
5346
5141
  ---
5347
5142
 
5348
- ##### `defaultReleaseBranch`<sup>Required</sup> <a name="defaultReleaseBranch" id="mrpj.ConstructProjectOptions.property.defaultReleaseBranch"></a>
5349
-
5350
- ```typescript
5351
- public readonly defaultReleaseBranch: string;
5352
- ```
5353
-
5354
- - *Type:* string
5355
- - *Default:* "main"
5356
-
5357
- The name of the main release branch.
5358
-
5359
- ---
5360
-
5361
5143
  ##### `name`<sup>Required</sup> <a name="name" id="mrpj.ConstructProjectOptions.property.name"></a>
5362
5144
 
5363
5145
  ```typescript
@@ -5384,6 +5166,19 @@ Git repository URL.
5384
5166
 
5385
5167
  ---
5386
5168
 
5169
+ ##### `addPackageManagerToDevEngines`<sup>Optional</sup> <a name="addPackageManagerToDevEngines" id="mrpj.ConstructProjectOptions.property.addPackageManagerToDevEngines"></a>
5170
+
5171
+ ```typescript
5172
+ public readonly addPackageManagerToDevEngines: boolean;
5173
+ ```
5174
+
5175
+ - *Type:* boolean
5176
+ - *Default:* true
5177
+
5178
+ Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
5179
+
5180
+ ---
5181
+
5387
5182
  ##### `allowLibraryDependencies`<sup>Optional</sup> <a name="allowLibraryDependencies" id="mrpj.ConstructProjectOptions.property.allowLibraryDependencies"></a>
5388
5183
 
5389
5184
  ```typescript
@@ -5513,7 +5308,7 @@ public readonly autoApproveUpgrades: boolean;
5513
5308
  - *Type:* boolean
5514
5309
  - *Default:* true
5515
5310
 
5516
- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
5311
+ Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
5517
5312
 
5518
5313
  Throw if set to true but `autoApproveOptions` are not defined.
5519
5314
 
@@ -5685,11 +5480,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
5685
5480
  your `package.json`.
5686
5481
 
5687
5482
  The recommendation is to only specify the module name here (e.g.
5688
- `express`). This will behave similar to `yarn add` or `npm install` in the
5483
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
5689
5484
  sense that it will add the module as a dependency to your `package.json`
5690
5485
  file with the latest version (`^`). You can specify semver requirements in
5691
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
5692
- this will be what you `package.json` will eventually include.
5486
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
5487
+ this will be what your `package.json` will eventually include.
5693
5488
 
5694
5489
  ---
5695
5490
 
@@ -5740,22 +5535,6 @@ mentioned in the tweet.
5740
5535
 
5741
5536
  ---
5742
5537
 
5743
- ##### `cdkAssertions`<sup>Optional</sup> <a name="cdkAssertions" id="mrpj.ConstructProjectOptions.property.cdkAssertions"></a>
5744
-
5745
- ```typescript
5746
- public readonly cdkAssertions: boolean;
5747
- ```
5748
-
5749
- - *Type:* boolean
5750
- - *Default:* will be included by default for AWS CDK >= 1.111.0 < 2.0.0
5751
-
5752
- Install the assertions library?
5753
-
5754
- Only needed for CDK 1.x. If using CDK 2.x then
5755
- assertions is already included in 'aws-cdk-lib'
5756
-
5757
- ---
5758
-
5759
5538
  ##### `cdkCliVersion`<sup>Optional</sup> <a name="cdkCliVersion" id="mrpj.ConstructProjectOptions.property.cdkCliVersion"></a>
5760
5539
 
5761
5540
  ```typescript
@@ -5920,7 +5699,7 @@ public readonly constructsVersion: string;
5920
5699
  ```
5921
5700
 
5922
5701
  - *Type:* string
5923
- - *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
5702
+ - *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.5.1".
5924
5703
 
5925
5704
  Minimum version of the `constructs` library to depend on.
5926
5705
 
@@ -5952,6 +5731,37 @@ The copyright years to put in the LICENSE file.
5952
5731
 
5953
5732
  ---
5954
5733
 
5734
+ ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="mrpj.ConstructProjectOptions.property.defaultReleaseBranch"></a>
5735
+
5736
+ ```typescript
5737
+ public readonly defaultReleaseBranch: string;
5738
+ ```
5739
+
5740
+ - *Type:* string
5741
+ - *Default:* "main"
5742
+
5743
+ The name of the main release branch.
5744
+
5745
+ ---
5746
+
5747
+ ##### `deleteOrphanedLockFiles`<sup>Optional</sup> <a name="deleteOrphanedLockFiles" id="mrpj.ConstructProjectOptions.property.deleteOrphanedLockFiles"></a>
5748
+
5749
+ ```typescript
5750
+ public readonly deleteOrphanedLockFiles: boolean;
5751
+ ```
5752
+
5753
+ - *Type:* boolean
5754
+ - *Default:* true
5755
+
5756
+ Automatically delete lockfiles from package managers that are not the active one.
5757
+
5758
+ Only triggered when the lockfile for the configured package
5759
+ manager already exists.
5760
+
5761
+ This is useful when migrating between package managers to avoid conflicts.
5762
+
5763
+ ---
5764
+
5955
5765
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.ConstructProjectOptions.property.dependabot"></a>
5956
5766
 
5957
5767
  ```typescript
@@ -5992,11 +5802,11 @@ public readonly deps: string[];
5992
5802
  Runtime dependencies of this module.
5993
5803
 
5994
5804
  The recommendation is to only specify the module name here (e.g.
5995
- `express`). This will behave similar to `yarn add` or `npm install` in the
5805
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
5996
5806
  sense that it will add the module as a dependency to your `package.json`
5997
5807
  file with the latest version (`^`). You can specify semver requirements in
5998
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
5999
- this will be what you `package.json` will eventually include.
5808
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
5809
+ this will be what your `package.json` will eventually include.
6000
5810
 
6001
5811
  ---
6002
5812
 
@@ -6007,7 +5817,7 @@ public readonly depsUpgrade: boolean;
6007
5817
  ```
6008
5818
 
6009
5819
  - *Type:* boolean
6010
- - *Default:* true
5820
+ - *Default:* `true` for root projects, `false` for subprojects
6011
5821
 
6012
5822
  Use tasks and github workflows to handle dependency upgrades.
6013
5823
 
@@ -6072,11 +5882,23 @@ available in your build environment but will not be fetched when this
6072
5882
  module is consumed.
6073
5883
 
6074
5884
  The recommendation is to only specify the module name here (e.g.
6075
- `express`). This will behave similar to `yarn add` or `npm install` in the
5885
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
6076
5886
  sense that it will add the module as a dependency to your `package.json`
6077
5887
  file with the latest version (`^`). You can specify semver requirements in
6078
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
6079
- this will be what you `package.json` will eventually include.
5888
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
5889
+ this will be what your `package.json` will eventually include.
5890
+
5891
+ ---
5892
+
5893
+ ##### `devEngines`<sup>Optional</sup> <a name="devEngines" id="mrpj.ConstructProjectOptions.property.devEngines"></a>
5894
+
5895
+ ```typescript
5896
+ public readonly devEngines: DevEngines;
5897
+ ```
5898
+
5899
+ - *Type:* projen.javascript.DevEngines
5900
+
5901
+ Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry.
6080
5902
 
6081
5903
  ---
6082
5904
 
@@ -6387,7 +6209,7 @@ public readonly jsiiVersion: string;
6387
6209
  ```
6388
6210
 
6389
6211
  - *Type:* string
6390
- - *Default:* "~5.8.0"
6212
+ - *Default:* "~5.9.0"
6391
6213
 
6392
6214
  Version of the jsii compiler to use.
6393
6215
 
@@ -6767,7 +6589,7 @@ public readonly packageManager: NodePackageManager;
6767
6589
  ```
6768
6590
 
6769
6591
  - *Type:* projen.javascript.NodePackageManager
6770
- - *Default:* NodePackageManager.YARN_CLASSIC
6592
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
6771
6593
 
6772
6594
  The Node Package Manager used to execute scripts.
6773
6595
 
@@ -6844,7 +6666,7 @@ public readonly pnpmVersion: string;
6844
6666
  ```
6845
6667
 
6846
6668
  - *Type:* string
6847
- - *Default:* "9"
6669
+ - *Default:* "10.33.0"
6848
6670
 
6849
6671
  The version of PNPM to use if using PNPM as a package manager.
6850
6672
 
@@ -6902,6 +6724,19 @@ Prettier options.
6902
6724
 
6903
6725
  ---
6904
6726
 
6727
+ ##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="mrpj.ConstructProjectOptions.property.projectTree"></a>
6728
+
6729
+ ```typescript
6730
+ public readonly projectTree: boolean;
6731
+ ```
6732
+
6733
+ - *Type:* boolean
6734
+ - *Default:* false
6735
+
6736
+ Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
6737
+
6738
+ ---
6739
+
6905
6740
  ##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="mrpj.ConstructProjectOptions.property.projenCommand"></a>
6906
6741
 
6907
6742
  ```typescript
@@ -7418,6 +7253,19 @@ Options for privately hosted scoped packages.
7418
7253
 
7419
7254
  ---
7420
7255
 
7256
+ ##### `singletonLambdaAutoDiscover`<sup>Optional</sup> <a name="singletonLambdaAutoDiscover" id="mrpj.ConstructProjectOptions.property.singletonLambdaAutoDiscover"></a>
7257
+
7258
+ ```typescript
7259
+ public readonly singletonLambdaAutoDiscover: boolean;
7260
+ ```
7261
+
7262
+ - *Type:* boolean
7263
+ - *Default:* true
7264
+
7265
+ Automatically adds an `awscdk.SingletonFunction` for each `.singleton-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
7266
+
7267
+ ---
7268
+
7421
7269
  ##### `srcdir`<sup>Optional</sup> <a name="srcdir" id="mrpj.ConstructProjectOptions.property.srcdir"></a>
7422
7270
 
7423
7271
  ```typescript
@@ -7559,6 +7407,22 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
7559
7407
 
7560
7408
  ---
7561
7409
 
7410
+ ##### `validateTsconfig`<sup>Optional</sup> <a name="validateTsconfig" id="mrpj.ConstructProjectOptions.property.validateTsconfig"></a>
7411
+
7412
+ ```typescript
7413
+ public readonly validateTsconfig: ValidateTsconfig;
7414
+ ```
7415
+
7416
+ - *Type:* projen.cdk.ValidateTsconfig
7417
+ - *Default:* ValidateTsconfig.STRICT
7418
+
7419
+ Level of tsconfig validation jsii should perform on the user-provided tsconfig.
7420
+
7421
+ Only relevant when the project synthesizes its own tsconfig
7422
+ (i.e. `disableTsconfig` is not set on the TypeScriptProject).
7423
+
7424
+ ---
7425
+
7562
7426
  ##### `versionrcOptions`<sup>Optional</sup> <a name="versionrcOptions" id="mrpj.ConstructProjectOptions.property.versionrcOptions"></a>
7563
7427
 
7564
7428
  ```typescript
@@ -8075,6 +7939,67 @@ The SVG content of the logo as a string.
8075
7939
 
8076
7940
  ---
8077
7941
 
7942
+ ### NodeVersionOptions <a name="NodeVersionOptions" id="mrpj.components.NodeVersionOptions"></a>
7943
+
7944
+ #### Initializer <a name="Initializer" id="mrpj.components.NodeVersionOptions.Initializer"></a>
7945
+
7946
+ ```typescript
7947
+ import { components } from 'mrpj'
7948
+
7949
+ const nodeVersionOptions: components.NodeVersionOptions = { ... }
7950
+ ```
7951
+
7952
+ #### Properties <a name="Properties" id="Properties"></a>
7953
+
7954
+ | **Name** | **Type** | **Description** |
7955
+ | --- | --- | --- |
7956
+ | <code><a href="#mrpj.components.NodeVersionOptions.property.dotNodeVersion">dotNodeVersion</a></code> | <code>boolean</code> | Create a .node-version file. |
7957
+ | <code><a href="#mrpj.components.NodeVersionOptions.property.dotNvmrc">dotNvmrc</a></code> | <code>boolean</code> | Create a .nvmrc file. |
7958
+ | <code><a href="#mrpj.components.NodeVersionOptions.property.versionSpec">versionSpec</a></code> | <code>string</code> | The node version to use. |
7959
+
7960
+ ---
7961
+
7962
+ ##### `dotNodeVersion`<sup>Optional</sup> <a name="dotNodeVersion" id="mrpj.components.NodeVersionOptions.property.dotNodeVersion"></a>
7963
+
7964
+ ```typescript
7965
+ public readonly dotNodeVersion: boolean;
7966
+ ```
7967
+
7968
+ - *Type:* boolean
7969
+ - *Default:* true
7970
+
7971
+ Create a .node-version file.
7972
+
7973
+ ---
7974
+
7975
+ ##### `dotNvmrc`<sup>Optional</sup> <a name="dotNvmrc" id="mrpj.components.NodeVersionOptions.property.dotNvmrc"></a>
7976
+
7977
+ ```typescript
7978
+ public readonly dotNvmrc: boolean;
7979
+ ```
7980
+
7981
+ - *Type:* boolean
7982
+ - *Default:* true
7983
+
7984
+ Create a .nvmrc file.
7985
+
7986
+ ---
7987
+
7988
+ ##### `versionSpec`<sup>Optional</sup> <a name="versionSpec" id="mrpj.components.NodeVersionOptions.property.versionSpec"></a>
7989
+
7990
+ ```typescript
7991
+ public readonly versionSpec: string;
7992
+ ```
7993
+
7994
+ - *Type:* string
7995
+ - *Default:* 'lts/*'
7996
+
7997
+ The node version to use.
7998
+
7999
+ Supports aliases like `lts/*`, `lts/-1`, `current`, `latest`.
8000
+
8001
+ ---
8002
+
8078
8003
  ### ProjenProjectOptions <a name="ProjenProjectOptions" id="mrpj.ProjenProjectOptions"></a>
8079
8004
 
8080
8005
  ProjenProjectOptions.
@@ -8093,6 +8018,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8093
8018
  | --- | --- | --- |
8094
8019
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
8095
8020
  | <code><a href="#mrpj.ProjenProjectOptions.property.repo">repo</a></code> | <code>string</code> | *No description.* |
8021
+ | <code><a href="#mrpj.ProjenProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
8096
8022
  | <code><a href="#mrpj.ProjenProjectOptions.property.allowedCommitTypes">allowedCommitTypes</a></code> | <code>string[]</code> | Which conventional commit types are allowed to be used Types listed in `releasableCommitTypes` are always allowed. |
8097
8023
  | <code><a href="#mrpj.ProjenProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
8098
8024
  | <code><a href="#mrpj.ProjenProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
@@ -8102,7 +8028,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8102
8028
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
8103
8029
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
8104
8030
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoApproveOptions">autoApproveOptions</a></code> | <code>projen.github.AutoApproveOptions</code> | Enable and configure the 'auto approve' workflow. |
8105
- | <code><a href="#mrpj.ProjenProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
8031
+ | <code><a href="#mrpj.ProjenProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
8106
8032
  | <code><a href="#mrpj.ProjenProjectOptions.property.autoDetectBin">autoDetectBin</a></code> | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
8107
8033
  | <code><a href="#mrpj.ProjenProjectOptions.property.automationAppName">automationAppName</a></code> | <code>string</code> | Use this app for workflow automation. |
8108
8034
  | <code><a href="#mrpj.ProjenProjectOptions.property.automationEnvironment">automationEnvironment</a></code> | <code>string</code> | Protect any automation with this environment. |
@@ -8131,6 +8057,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8131
8057
  | <code><a href="#mrpj.ProjenProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
8132
8058
  | <code><a href="#mrpj.ProjenProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
8133
8059
  | <code><a href="#mrpj.ProjenProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
8060
+ | <code><a href="#mrpj.ProjenProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
8134
8061
  | <code><a href="#mrpj.ProjenProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
8135
8062
  | <code><a href="#mrpj.ProjenProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
8136
8063
  | <code><a href="#mrpj.ProjenProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -8139,6 +8066,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8139
8066
  | <code><a href="#mrpj.ProjenProjectOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
8140
8067
  | <code><a href="#mrpj.ProjenProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
8141
8068
  | <code><a href="#mrpj.ProjenProjectOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
8069
+ | <code><a href="#mrpj.ProjenProjectOptions.property.devEngines">devEngines</a></code> | <code>projen.javascript.DevEngines</code> | Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry. |
8142
8070
  | <code><a href="#mrpj.ProjenProjectOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
8143
8071
  | <code><a href="#mrpj.ProjenProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
8144
8072
  | <code><a href="#mrpj.ProjenProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -8192,6 +8120,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8192
8120
  | <code><a href="#mrpj.ProjenProjectOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
8193
8121
  | <code><a href="#mrpj.ProjenProjectOptions.property.prettier">prettier</a></code> | <code>boolean</code> | Setup prettier. |
8194
8122
  | <code><a href="#mrpj.ProjenProjectOptions.property.prettierOptions">prettierOptions</a></code> | <code>projen.javascript.PrettierOptions</code> | Prettier options. |
8123
+ | <code><a href="#mrpj.ProjenProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
8195
8124
  | <code><a href="#mrpj.ProjenProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
8196
8125
  | <code><a href="#mrpj.ProjenProjectOptions.property.projenCredentials">projenCredentials</a></code> | <code>projen.github.GithubCredentials</code> | Choose a method of providing GitHub API access for projen workflows. |
8197
8126
  | <code><a href="#mrpj.ProjenProjectOptions.property.projenDevDependency">projenDevDependency</a></code> | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency. |
@@ -8238,6 +8167,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8238
8167
  | <code><a href="#mrpj.ProjenProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
8239
8168
  | <code><a href="#mrpj.ProjenProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
8240
8169
  | <code><a href="#mrpj.ProjenProjectOptions.property.upgradesSchedule">upgradesSchedule</a></code> | <code>projen.javascript.UpgradeDependenciesSchedule</code> | *No description.* |
8170
+ | <code><a href="#mrpj.ProjenProjectOptions.property.validateTsconfig">validateTsconfig</a></code> | <code>projen.cdk.ValidateTsconfig</code> | Level of tsconfig validation jsii should perform on the user-provided tsconfig. |
8241
8171
  | <code><a href="#mrpj.ProjenProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
8242
8172
  | <code><a href="#mrpj.ProjenProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
8243
8173
  | <code><a href="#mrpj.ProjenProjectOptions.property.wordmarkOptions">wordmarkOptions</a></code> | <code>mrpj.logo.WordmarkOptions</code> | Configure how the wordmark is created from a logo. |
@@ -8274,6 +8204,19 @@ public readonly repo: string;
8274
8204
 
8275
8205
  ---
8276
8206
 
8207
+ ##### `addPackageManagerToDevEngines`<sup>Optional</sup> <a name="addPackageManagerToDevEngines" id="mrpj.ProjenProjectOptions.property.addPackageManagerToDevEngines"></a>
8208
+
8209
+ ```typescript
8210
+ public readonly addPackageManagerToDevEngines: boolean;
8211
+ ```
8212
+
8213
+ - *Type:* boolean
8214
+ - *Default:* true
8215
+
8216
+ Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
8217
+
8218
+ ---
8219
+
8277
8220
  ##### `allowedCommitTypes`<sup>Optional</sup> <a name="allowedCommitTypes" id="mrpj.ProjenProjectOptions.property.allowedCommitTypes"></a>
8278
8221
 
8279
8222
  ```typescript
@@ -8405,7 +8348,7 @@ public readonly autoApproveUpgrades: boolean;
8405
8348
  - *Type:* boolean
8406
8349
  - *Default:* true
8407
8350
 
8408
- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
8351
+ Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
8409
8352
 
8410
8353
  Throw if set to true but `autoApproveOptions` are not defined.
8411
8354
 
@@ -8607,11 +8550,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
8607
8550
  your `package.json`.
8608
8551
 
8609
8552
  The recommendation is to only specify the module name here (e.g.
8610
- `express`). This will behave similar to `yarn add` or `npm install` in the
8553
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
8611
8554
  sense that it will add the module as a dependency to your `package.json`
8612
8555
  file with the latest version (`^`). You can specify semver requirements in
8613
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
8614
- this will be what you `package.json` will eventually include.
8556
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
8557
+ this will be what your `package.json` will eventually include.
8615
8558
 
8616
8559
  ---
8617
8560
 
@@ -8803,6 +8746,24 @@ The name of the main release branch.
8803
8746
 
8804
8747
  ---
8805
8748
 
8749
+ ##### `deleteOrphanedLockFiles`<sup>Optional</sup> <a name="deleteOrphanedLockFiles" id="mrpj.ProjenProjectOptions.property.deleteOrphanedLockFiles"></a>
8750
+
8751
+ ```typescript
8752
+ public readonly deleteOrphanedLockFiles: boolean;
8753
+ ```
8754
+
8755
+ - *Type:* boolean
8756
+ - *Default:* true
8757
+
8758
+ Automatically delete lockfiles from package managers that are not the active one.
8759
+
8760
+ Only triggered when the lockfile for the configured package
8761
+ manager already exists.
8762
+
8763
+ This is useful when migrating between package managers to avoid conflicts.
8764
+
8765
+ ---
8766
+
8806
8767
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.ProjenProjectOptions.property.dependabot"></a>
8807
8768
 
8808
8769
  ```typescript
@@ -8843,11 +8804,11 @@ public readonly deps: string[];
8843
8804
  Runtime dependencies of this module.
8844
8805
 
8845
8806
  The recommendation is to only specify the module name here (e.g.
8846
- `express`). This will behave similar to `yarn add` or `npm install` in the
8807
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
8847
8808
  sense that it will add the module as a dependency to your `package.json`
8848
8809
  file with the latest version (`^`). You can specify semver requirements in
8849
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
8850
- this will be what you `package.json` will eventually include.
8810
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
8811
+ this will be what your `package.json` will eventually include.
8851
8812
 
8852
8813
  ---
8853
8814
 
@@ -8858,7 +8819,7 @@ public readonly depsUpgrade: boolean;
8858
8819
  ```
8859
8820
 
8860
8821
  - *Type:* boolean
8861
- - *Default:* true
8822
+ - *Default:* `true` for root projects, `false` for subprojects
8862
8823
 
8863
8824
  Use tasks and github workflows to handle dependency upgrades.
8864
8825
 
@@ -8923,11 +8884,23 @@ available in your build environment but will not be fetched when this
8923
8884
  module is consumed.
8924
8885
 
8925
8886
  The recommendation is to only specify the module name here (e.g.
8926
- `express`). This will behave similar to `yarn add` or `npm install` in the
8887
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
8927
8888
  sense that it will add the module as a dependency to your `package.json`
8928
8889
  file with the latest version (`^`). You can specify semver requirements in
8929
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
8930
- this will be what you `package.json` will eventually include.
8890
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
8891
+ this will be what your `package.json` will eventually include.
8892
+
8893
+ ---
8894
+
8895
+ ##### `devEngines`<sup>Optional</sup> <a name="devEngines" id="mrpj.ProjenProjectOptions.property.devEngines"></a>
8896
+
8897
+ ```typescript
8898
+ public readonly devEngines: DevEngines;
8899
+ ```
8900
+
8901
+ - *Type:* projen.javascript.DevEngines
8902
+
8903
+ Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry.
8931
8904
 
8932
8905
  ---
8933
8906
 
@@ -9560,7 +9533,7 @@ public readonly packageManager: NodePackageManager;
9560
9533
  ```
9561
9534
 
9562
9535
  - *Type:* projen.javascript.NodePackageManager
9563
- - *Default:* NodePackageManager.YARN_CLASSIC
9536
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
9564
9537
 
9565
9538
  The Node Package Manager used to execute scripts.
9566
9539
 
@@ -9637,7 +9610,7 @@ public readonly pnpmVersion: string;
9637
9610
  ```
9638
9611
 
9639
9612
  - *Type:* string
9640
- - *Default:* "9"
9613
+ - *Default:* "10.33.0"
9641
9614
 
9642
9615
  The version of PNPM to use if using PNPM as a package manager.
9643
9616
 
@@ -9695,6 +9668,19 @@ Prettier options.
9695
9668
 
9696
9669
  ---
9697
9670
 
9671
+ ##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="mrpj.ProjenProjectOptions.property.projectTree"></a>
9672
+
9673
+ ```typescript
9674
+ public readonly projectTree: boolean;
9675
+ ```
9676
+
9677
+ - *Type:* boolean
9678
+ - *Default:* false
9679
+
9680
+ Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
9681
+
9682
+ ---
9683
+
9698
9684
  ##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="mrpj.ProjenProjectOptions.property.projenCommand"></a>
9699
9685
 
9700
9686
  ```typescript
@@ -10321,6 +10307,22 @@ public readonly upgradesSchedule: UpgradeDependenciesSchedule;
10321
10307
 
10322
10308
  ---
10323
10309
 
10310
+ ##### `validateTsconfig`<sup>Optional</sup> <a name="validateTsconfig" id="mrpj.ProjenProjectOptions.property.validateTsconfig"></a>
10311
+
10312
+ ```typescript
10313
+ public readonly validateTsconfig: ValidateTsconfig;
10314
+ ```
10315
+
10316
+ - *Type:* projen.cdk.ValidateTsconfig
10317
+ - *Default:* ValidateTsconfig.STRICT
10318
+
10319
+ Level of tsconfig validation jsii should perform on the user-provided tsconfig.
10320
+
10321
+ Only relevant when the project synthesizes its own tsconfig
10322
+ (i.e. `disableTsconfig` is not set on the TypeScriptProject).
10323
+
10324
+ ---
10325
+
10324
10326
  ##### `versionrcOptions`<sup>Optional</sup> <a name="versionrcOptions" id="mrpj.ProjenProjectOptions.property.versionrcOptions"></a>
10325
10327
 
10326
10328
  ```typescript
@@ -10570,6 +10572,7 @@ const svgFileOptions: logo.SvgFileOptions = { ... }
10570
10572
 
10571
10573
  | **Name** | **Type** | **Description** |
10572
10574
  | --- | --- | --- |
10575
+ | <code><a href="#mrpj.logo.SvgFileOptions.property.executable">executable</a></code> | <code>boolean</code> | Whether the generated file should be marked as executable. |
10573
10576
  | <code><a href="#mrpj.logo.SvgFileOptions.property.indent">indent</a></code> | <code>number</code> | Indentation size. |
10574
10577
  | <code><a href="#mrpj.logo.SvgFileOptions.property.readonly">readonly</a></code> | <code>boolean</code> | Whether the generated file should be readonly. |
10575
10578
  | <code><a href="#mrpj.logo.SvgFileOptions.property.height">height</a></code> | <code>number</code> | *No description.* |
@@ -10580,6 +10583,19 @@ const svgFileOptions: logo.SvgFileOptions = { ... }
10580
10583
 
10581
10584
  ---
10582
10585
 
10586
+ ##### `executable`<sup>Optional</sup> <a name="executable" id="mrpj.logo.SvgFileOptions.property.executable"></a>
10587
+
10588
+ ```typescript
10589
+ public readonly executable: boolean;
10590
+ ```
10591
+
10592
+ - *Type:* boolean
10593
+ - *Default:* false
10594
+
10595
+ Whether the generated file should be marked as executable.
10596
+
10597
+ ---
10598
+
10583
10599
  ##### `indent`<sup>Optional</sup> <a name="indent" id="mrpj.logo.SvgFileOptions.property.indent"></a>
10584
10600
 
10585
10601
  ```typescript
@@ -10713,6 +10729,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10713
10729
  | --- | --- | --- |
10714
10730
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
10715
10731
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.repo">repo</a></code> | <code>string</code> | *No description.* |
10732
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
10716
10733
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.allowedCommitTypes">allowedCommitTypes</a></code> | <code>string[]</code> | Which conventional commit types are allowed to be used Types listed in `releasableCommitTypes` are always allowed. |
10717
10734
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
10718
10735
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
@@ -10722,7 +10739,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10722
10739
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
10723
10740
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorUrl">authorUrl</a></code> | <code>string</code> | Author's URL / Website. |
10724
10741
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoApproveOptions">autoApproveOptions</a></code> | <code>projen.github.AutoApproveOptions</code> | Enable and configure the 'auto approve' workflow. |
10725
- | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
10742
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoApproveUpgrades">autoApproveUpgrades</a></code> | <code>boolean</code> | Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured). |
10726
10743
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.autoDetectBin">autoDetectBin</a></code> | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
10727
10744
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.automationAppName">automationAppName</a></code> | <code>string</code> | Use this app for workflow automation. |
10728
10745
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.automationEnvironment">automationEnvironment</a></code> | <code>string</code> | Protect any automation with this environment. |
@@ -10748,6 +10765,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10748
10765
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
10749
10766
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
10750
10767
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
10768
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
10751
10769
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
10752
10770
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
10753
10771
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -10756,6 +10774,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10756
10774
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
10757
10775
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
10758
10776
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
10777
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.devEngines">devEngines</a></code> | <code>projen.javascript.DevEngines</code> | Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry. |
10759
10778
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.disableTsconfig">disableTsconfig</a></code> | <code>boolean</code> | Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
10760
10779
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
10761
10780
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -10807,6 +10826,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
10807
10826
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
10808
10827
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.prettier">prettier</a></code> | <code>boolean</code> | Setup prettier. |
10809
10828
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.prettierOptions">prettierOptions</a></code> | <code>projen.javascript.PrettierOptions</code> | Prettier options. |
10829
+ | <code><a href="#mrpj.TypeScriptProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
10810
10830
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
10811
10831
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.projenCredentials">projenCredentials</a></code> | <code>projen.github.GithubCredentials</code> | Choose a method of providing GitHub API access for projen workflows. |
10812
10832
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.projenDevDependency">projenDevDependency</a></code> | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency. |
@@ -10885,6 +10905,19 @@ public readonly repo: string;
10885
10905
 
10886
10906
  ---
10887
10907
 
10908
+ ##### `addPackageManagerToDevEngines`<sup>Optional</sup> <a name="addPackageManagerToDevEngines" id="mrpj.TypeScriptProjectOptions.property.addPackageManagerToDevEngines"></a>
10909
+
10910
+ ```typescript
10911
+ public readonly addPackageManagerToDevEngines: boolean;
10912
+ ```
10913
+
10914
+ - *Type:* boolean
10915
+ - *Default:* true
10916
+
10917
+ Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
10918
+
10919
+ ---
10920
+
10888
10921
  ##### `allowedCommitTypes`<sup>Optional</sup> <a name="allowedCommitTypes" id="mrpj.TypeScriptProjectOptions.property.allowedCommitTypes"></a>
10889
10922
 
10890
10923
  ```typescript
@@ -11015,7 +11048,7 @@ public readonly autoApproveUpgrades: boolean;
11015
11048
  - *Type:* boolean
11016
11049
  - *Default:* true
11017
11050
 
11018
- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
11051
+ Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
11019
11052
 
11020
11053
  Throw if set to true but `autoApproveOptions` are not defined.
11021
11054
 
@@ -11217,11 +11250,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
11217
11250
  your `package.json`.
11218
11251
 
11219
11252
  The recommendation is to only specify the module name here (e.g.
11220
- `express`). This will behave similar to `yarn add` or `npm install` in the
11253
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
11221
11254
  sense that it will add the module as a dependency to your `package.json`
11222
11255
  file with the latest version (`^`). You can specify semver requirements in
11223
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11224
- this will be what you `package.json` will eventually include.
11256
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
11257
+ this will be what your `package.json` will eventually include.
11225
11258
 
11226
11259
  ---
11227
11260
 
@@ -11371,6 +11404,24 @@ The name of the main release branch.
11371
11404
 
11372
11405
  ---
11373
11406
 
11407
+ ##### `deleteOrphanedLockFiles`<sup>Optional</sup> <a name="deleteOrphanedLockFiles" id="mrpj.TypeScriptProjectOptions.property.deleteOrphanedLockFiles"></a>
11408
+
11409
+ ```typescript
11410
+ public readonly deleteOrphanedLockFiles: boolean;
11411
+ ```
11412
+
11413
+ - *Type:* boolean
11414
+ - *Default:* true
11415
+
11416
+ Automatically delete lockfiles from package managers that are not the active one.
11417
+
11418
+ Only triggered when the lockfile for the configured package
11419
+ manager already exists.
11420
+
11421
+ This is useful when migrating between package managers to avoid conflicts.
11422
+
11423
+ ---
11424
+
11374
11425
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.TypeScriptProjectOptions.property.dependabot"></a>
11375
11426
 
11376
11427
  ```typescript
@@ -11411,11 +11462,11 @@ public readonly deps: string[];
11411
11462
  Runtime dependencies of this module.
11412
11463
 
11413
11464
  The recommendation is to only specify the module name here (e.g.
11414
- `express`). This will behave similar to `yarn add` or `npm install` in the
11465
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
11415
11466
  sense that it will add the module as a dependency to your `package.json`
11416
11467
  file with the latest version (`^`). You can specify semver requirements in
11417
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11418
- this will be what you `package.json` will eventually include.
11468
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
11469
+ this will be what your `package.json` will eventually include.
11419
11470
 
11420
11471
  ---
11421
11472
 
@@ -11426,7 +11477,7 @@ public readonly depsUpgrade: boolean;
11426
11477
  ```
11427
11478
 
11428
11479
  - *Type:* boolean
11429
- - *Default:* true
11480
+ - *Default:* `true` for root projects, `false` for subprojects
11430
11481
 
11431
11482
  Use tasks and github workflows to handle dependency upgrades.
11432
11483
 
@@ -11491,11 +11542,23 @@ available in your build environment but will not be fetched when this
11491
11542
  module is consumed.
11492
11543
 
11493
11544
  The recommendation is to only specify the module name here (e.g.
11494
- `express`). This will behave similar to `yarn add` or `npm install` in the
11545
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
11495
11546
  sense that it will add the module as a dependency to your `package.json`
11496
11547
  file with the latest version (`^`). You can specify semver requirements in
11497
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11498
- this will be what you `package.json` will eventually include.
11548
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
11549
+ this will be what your `package.json` will eventually include.
11550
+
11551
+ ---
11552
+
11553
+ ##### `devEngines`<sup>Optional</sup> <a name="devEngines" id="mrpj.TypeScriptProjectOptions.property.devEngines"></a>
11554
+
11555
+ ```typescript
11556
+ public readonly devEngines: DevEngines;
11557
+ ```
11558
+
11559
+ - *Type:* projen.javascript.DevEngines
11560
+
11561
+ Configure the `devEngines` field in `package.json`. The `devEngines.packageManager` field is automatically populated based on the resolved `packageManager` value. Any fields provided here are merged with the auto-populated `packageManager` entry.
11499
11562
 
11500
11563
  ---
11501
11564
 
@@ -12099,7 +12162,7 @@ public readonly packageManager: NodePackageManager;
12099
12162
  ```
12100
12163
 
12101
12164
  - *Type:* projen.javascript.NodePackageManager
12102
- - *Default:* NodePackageManager.YARN_CLASSIC
12165
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
12103
12166
 
12104
12167
  The Node Package Manager used to execute scripts.
12105
12168
 
@@ -12176,7 +12239,7 @@ public readonly pnpmVersion: string;
12176
12239
  ```
12177
12240
 
12178
12241
  - *Type:* string
12179
- - *Default:* "9"
12242
+ - *Default:* "10.33.0"
12180
12243
 
12181
12244
  The version of PNPM to use if using PNPM as a package manager.
12182
12245
 
@@ -12234,6 +12297,19 @@ Prettier options.
12234
12297
 
12235
12298
  ---
12236
12299
 
12300
+ ##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="mrpj.TypeScriptProjectOptions.property.projectTree"></a>
12301
+
12302
+ ```typescript
12303
+ public readonly projectTree: boolean;
12304
+ ```
12305
+
12306
+ - *Type:* boolean
12307
+ - *Default:* false
12308
+
12309
+ Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
12310
+
12311
+ ---
12312
+
12237
12313
  ##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="mrpj.TypeScriptProjectOptions.property.projenCommand"></a>
12238
12314
 
12239
12315
  ```typescript