mrpj 0.2.10 → 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** |
@@ -1627,6 +1436,7 @@ new components.NodeVersion(scope: IConstruct, options?: NodeVersionOptions)
1627
1436
  | **Name** | **Description** |
1628
1437
  | --- | --- |
1629
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. |
1630
1440
  | <code><a href="#mrpj.components.NodeVersion.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
1631
1441
  | <code><a href="#mrpj.components.NodeVersion.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
1632
1442
  | <code><a href="#mrpj.components.NodeVersion.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
@@ -1641,6 +1451,27 @@ public toString(): string
1641
1451
 
1642
1452
  Returns a string representation of this construct.
1643
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
+
1644
1475
  ##### `postSynthesize` <a name="postSynthesize" id="mrpj.components.NodeVersion.postSynthesize"></a>
1645
1476
 
1646
1477
  ```typescript
@@ -1819,11 +1650,11 @@ new ProjenProject(options: ProjenProjectOptions)
1819
1650
  | **Name** | **Description** |
1820
1651
  | --- | --- |
1821
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. |
1822
1654
  | <code><a href="#mrpj.ProjenProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
1823
1655
  | <code><a href="#mrpj.ProjenProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
1824
1656
  | <code><a href="#mrpj.ProjenProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
1825
1657
  | <code><a href="#mrpj.ProjenProject.addTask">addTask</a></code> | Adds a new task to this project. |
1826
- | <code><a href="#mrpj.ProjenProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
1827
1658
  | <code><a href="#mrpj.ProjenProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
1828
1659
  | <code><a href="#mrpj.ProjenProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
1829
1660
  | <code><a href="#mrpj.ProjenProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -1831,20 +1662,16 @@ new ProjenProject(options: ProjenProjectOptions)
1831
1662
  | <code><a href="#mrpj.ProjenProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
1832
1663
  | <code><a href="#mrpj.ProjenProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
1833
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. |
1834
- | <code><a href="#mrpj.ProjenProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
1835
1665
  | <code><a href="#mrpj.ProjenProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
1836
1666
  | <code><a href="#mrpj.ProjenProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
1837
1667
  | <code><a href="#mrpj.ProjenProject.addBins">addBins</a></code> | *No description.* |
1838
1668
  | <code><a href="#mrpj.ProjenProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
1839
- | <code><a href="#mrpj.ProjenProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
1840
1669
  | <code><a href="#mrpj.ProjenProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
1841
1670
  | <code><a href="#mrpj.ProjenProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
1842
1671
  | <code><a href="#mrpj.ProjenProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
1843
1672
  | <code><a href="#mrpj.ProjenProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
1844
1673
  | <code><a href="#mrpj.ProjenProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
1845
1674
  | <code><a href="#mrpj.ProjenProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
1846
- | <code><a href="#mrpj.ProjenProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
1847
- | <code><a href="#mrpj.ProjenProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
1848
1675
  | <code><a href="#mrpj.ProjenProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
1849
1676
  | <code><a href="#mrpj.ProjenProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
1850
1677
  | <code><a href="#mrpj.ProjenProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
@@ -1859,6 +1686,27 @@ public toString(): string
1859
1686
 
1860
1687
  Returns a string representation of this construct.
1861
1688
 
1689
+ ##### `with` <a name="with" id="mrpj.ProjenProject.with"></a>
1690
+
1691
+ ```typescript
1692
+ public with(mixins: ...IMixin[]): IConstruct
1693
+ ```
1694
+
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
+ ---
1709
+
1862
1710
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="mrpj.ProjenProject.addExcludeFromCleanup"></a>
1863
1711
 
1864
1712
  ```typescript
@@ -1937,22 +1785,6 @@ Task properties.
1937
1785
 
1938
1786
  ---
1939
1787
 
1940
- ##### ~~`addTip`~~ <a name="addTip" id="mrpj.ProjenProject.addTip"></a>
1941
-
1942
- ```typescript
1943
- public addTip(message: string): void
1944
- ```
1945
-
1946
- Prints a "tip" message during synthesis.
1947
-
1948
- ###### `message`<sup>Required</sup> <a name="message" id="mrpj.ProjenProject.addTip.parameter.message"></a>
1949
-
1950
- - *Type:* string
1951
-
1952
- The message.
1953
-
1954
- ---
1955
-
1956
1788
  ##### `annotateGenerated` <a name="annotateGenerated" id="mrpj.ProjenProject.annotateGenerated"></a>
1957
1789
 
1958
1790
  ```typescript
@@ -2018,7 +1850,7 @@ public runTaskCommand(task: Task): string
2018
1850
  Returns the shell command to execute in order to run a task.
2019
1851
 
2020
1852
  This will
2021
- typically be `npx projen TASK`.
1853
+ typically be `pnpm projen TASK`.
2022
1854
 
2023
1855
  ###### `task`<sup>Required</sup> <a name="task" id="mrpj.ProjenProject.runTaskCommand.parameter.task"></a>
2024
1856
 
@@ -2062,22 +1894,6 @@ from the root of _this_ project.
2062
1894
 
2063
1895
  ---
2064
1896
 
2065
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="mrpj.ProjenProject.tryFindJsonFile"></a>
2066
-
2067
- ```typescript
2068
- public tryFindJsonFile(filePath: string): JsonFile
2069
- ```
2070
-
2071
- Finds a json file by name.
2072
-
2073
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="mrpj.ProjenProject.tryFindJsonFile.parameter.filePath"></a>
2074
-
2075
- - *Type:* string
2076
-
2077
- The file path.
2078
-
2079
- ---
2080
-
2081
1897
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="mrpj.ProjenProject.tryFindObjectFile"></a>
2082
1898
 
2083
1899
  ```typescript
@@ -2143,27 +1959,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
2143
1959
  Names modules to install.
2144
1960
 
2145
1961
  By default, the the dependency will
2146
- be installed in the next `npx projen` run and the version will be recorded
2147
- in your `package.json` file. You can upgrade manually or using `yarn
2148
- 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:
2149
1965
  `module@^7`.
2150
1966
 
2151
1967
  ---
2152
1968
 
2153
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="mrpj.ProjenProject.addCompileCommand"></a>
2154
-
2155
- ```typescript
2156
- public addCompileCommand(commands: ...string[]): void
2157
- ```
2158
-
2159
- DEPRECATED.
2160
-
2161
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ProjenProject.addCompileCommand.parameter.commands"></a>
2162
-
2163
- - *Type:* ...string[]
2164
-
2165
- ---
2166
-
2167
1969
  ##### `addDeps` <a name="addDeps" id="mrpj.ProjenProject.addDeps"></a>
2168
1970
 
2169
1971
  ```typescript
@@ -2179,9 +1981,9 @@ Defines normal dependencies.
2179
1981
  Names modules to install.
2180
1982
 
2181
1983
  By default, the the dependency will
2182
- be installed in the next `npx projen` run and the version will be recorded
2183
- in your `package.json` file. You can upgrade manually or using `yarn
2184
- 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:
2185
1987
  `module@^7`.
2186
1988
 
2187
1989
  ---
@@ -2201,9 +2003,9 @@ Defines development/test dependencies.
2201
2003
  Names modules to install.
2202
2004
 
2203
2005
  By default, the the dependency will
2204
- be installed in the next `npx projen` run and the version will be recorded
2205
- in your `package.json` file. You can upgrade manually or using `yarn
2206
- 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:
2207
2009
  `module@^7`.
2208
2010
 
2209
2011
  ---
@@ -2259,9 +2061,9 @@ your code against the minimum version required from your consumers.
2259
2061
  Names modules to install.
2260
2062
 
2261
2063
  By default, the the dependency will
2262
- be installed in the next `npx projen` run and the version will be recorded
2263
- in your `package.json` file. You can upgrade manually or using `yarn
2264
- 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:
2265
2067
  `module@^7`.
2266
2068
 
2267
2069
  ---
@@ -2282,36 +2084,6 @@ The scripts to set.
2282
2084
 
2283
2085
  ---
2284
2086
 
2285
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="mrpj.ProjenProject.addTestCommand"></a>
2286
-
2287
- ```typescript
2288
- public addTestCommand(commands: ...string[]): void
2289
- ```
2290
-
2291
- DEPRECATED.
2292
-
2293
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.ProjenProject.addTestCommand.parameter.commands"></a>
2294
-
2295
- - *Type:* ...string[]
2296
-
2297
- ---
2298
-
2299
- ##### ~~`hasScript`~~ <a name="hasScript" id="mrpj.ProjenProject.hasScript"></a>
2300
-
2301
- ```typescript
2302
- public hasScript(name: string): boolean
2303
- ```
2304
-
2305
- Indicates if a script by the name name is defined.
2306
-
2307
- ###### `name`<sup>Required</sup> <a name="name" id="mrpj.ProjenProject.hasScript.parameter.name"></a>
2308
-
2309
- - *Type:* string
2310
-
2311
- The name of the script.
2312
-
2313
- ---
2314
-
2315
2087
  ##### `removeScript` <a name="removeScript" id="mrpj.ProjenProject.removeScript"></a>
2316
2088
 
2317
2089
  ```typescript
@@ -2473,21 +2245,16 @@ When given a project, this it the project itself.
2473
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". |
2474
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`. |
2475
2247
  | <code><a href="#mrpj.ProjenProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
2476
- | <code><a href="#mrpj.ProjenProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
2477
2248
  | <code><a href="#mrpj.ProjenProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
2478
2249
  | <code><a href="#mrpj.ProjenProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
2479
2250
  | <code><a href="#mrpj.ProjenProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
2480
2251
  | <code><a href="#mrpj.ProjenProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
2481
2252
  | <code><a href="#mrpj.ProjenProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
2482
- | <code><a href="#mrpj.ProjenProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
2483
2253
  | <code><a href="#mrpj.ProjenProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
2484
2254
  | <code><a href="#mrpj.ProjenProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
2485
2255
  | <code><a href="#mrpj.ProjenProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
2486
- | <code><a href="#mrpj.ProjenProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
2487
- | <code><a href="#mrpj.ProjenProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
2488
2256
  | <code><a href="#mrpj.ProjenProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
2489
2257
  | <code><a href="#mrpj.ProjenProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
2490
- | <code><a href="#mrpj.ProjenProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
2491
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). |
2492
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. |
2493
2260
  | <code><a href="#mrpj.ProjenProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -2498,7 +2265,6 @@ When given a project, this it the project itself.
2498
2265
  | <code><a href="#mrpj.ProjenProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
2499
2266
  | <code><a href="#mrpj.ProjenProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
2500
2267
  | <code><a href="#mrpj.ProjenProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
2501
- | <code><a href="#mrpj.ProjenProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
2502
2268
  | <code><a href="#mrpj.ProjenProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
2503
2269
  | <code><a href="#mrpj.ProjenProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
2504
2270
  | <code><a href="#mrpj.ProjenProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
@@ -2813,16 +2579,6 @@ If undefined, this is the root project.
2813
2579
 
2814
2580
  ---
2815
2581
 
2816
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="mrpj.ProjenProject.property.projectType"></a>
2817
-
2818
- ```typescript
2819
- public readonly projectType: ProjectType;
2820
- ```
2821
-
2822
- - *Type:* projen.ProjectType
2823
-
2824
- ---
2825
-
2826
2582
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="mrpj.ProjenProject.property.autoApprove"></a>
2827
2583
 
2828
2584
  ```typescript
@@ -2891,18 +2647,6 @@ This will be `undefined` for subprojects.
2891
2647
 
2892
2648
  ---
2893
2649
 
2894
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="mrpj.ProjenProject.property.allowLibraryDependencies"></a>
2895
-
2896
- - *Deprecated:* use `package.allowLibraryDependencies`
2897
-
2898
- ```typescript
2899
- public readonly allowLibraryDependencies: boolean;
2900
- ```
2901
-
2902
- - *Type:* boolean
2903
-
2904
- ---
2905
-
2906
2650
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="mrpj.ProjenProject.property.artifactsDirectory"></a>
2907
2651
 
2908
2652
  ```typescript
@@ -2941,30 +2685,6 @@ public readonly bundler: Bundler;
2941
2685
 
2942
2686
  ---
2943
2687
 
2944
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="mrpj.ProjenProject.property.entrypoint"></a>
2945
-
2946
- - *Deprecated:* use `package.entrypoint`
2947
-
2948
- ```typescript
2949
- public readonly entrypoint: string;
2950
- ```
2951
-
2952
- - *Type:* string
2953
-
2954
- ---
2955
-
2956
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="mrpj.ProjenProject.property.manifest"></a>
2957
-
2958
- - *Deprecated:* use `package.addField(x, y)`
2959
-
2960
- ```typescript
2961
- public readonly manifest: any;
2962
- ```
2963
-
2964
- - *Type:* any
2965
-
2966
- ---
2967
-
2968
2688
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="mrpj.ProjenProject.property.npmrc"></a>
2969
2689
 
2970
2690
  ```typescript
@@ -2989,20 +2709,6 @@ API for managing the node package.
2989
2709
 
2990
2710
  ---
2991
2711
 
2992
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="mrpj.ProjenProject.property.packageManager"></a>
2993
-
2994
- - *Deprecated:* use `package.packageManager`
2995
-
2996
- ```typescript
2997
- public readonly packageManager: NodePackageManager;
2998
- ```
2999
-
3000
- - *Type:* projen.javascript.NodePackageManager
3001
-
3002
- The package manager to use.
3003
-
3004
- ---
3005
-
3006
2712
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="mrpj.ProjenProject.property.runScriptCommand"></a>
3007
2713
 
3008
2714
  ```typescript
@@ -3125,23 +2831,6 @@ public readonly prettier: Prettier;
3125
2831
 
3126
2832
  ---
3127
2833
 
3128
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="mrpj.ProjenProject.property.publisher"></a>
3129
-
3130
- - *Deprecated:* use `release.publisher`.
3131
-
3132
- ```typescript
3133
- public readonly publisher: Publisher;
3134
- ```
3135
-
3136
- - *Type:* projen.release.Publisher
3137
-
3138
- Package publisher.
3139
-
3140
- This will be `undefined` if the project does not have a
3141
- release workflow.
3142
-
3143
- ---
3144
-
3145
2834
  ##### `release`<sup>Optional</sup> <a name="release" id="mrpj.ProjenProject.property.release"></a>
3146
2835
 
3147
2836
  ```typescript
@@ -3373,6 +3062,7 @@ new logo.SvgFile(project: Project, filePath: string, options: SvgFileOptions)
3373
3062
  | **Name** | **Description** |
3374
3063
  | --- | --- |
3375
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. |
3376
3066
  | <code><a href="#mrpj.logo.SvgFile.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
3377
3067
  | <code><a href="#mrpj.logo.SvgFile.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
3378
3068
  | <code><a href="#mrpj.logo.SvgFile.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
@@ -3390,6 +3080,27 @@ public toString(): string
3390
3080
 
3391
3081
  Returns a string representation of this construct.
3392
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
+
3393
3104
  ##### `postSynthesize` <a name="postSynthesize" id="mrpj.logo.SvgFile.postSynthesize"></a>
3394
3105
 
3395
3106
  ```typescript
@@ -3602,11 +3313,11 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
3602
3313
  | **Name** | **Description** |
3603
3314
  | --- | --- |
3604
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. |
3605
3317
  | <code><a href="#mrpj.TypeScriptProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
3606
3318
  | <code><a href="#mrpj.TypeScriptProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
3607
3319
  | <code><a href="#mrpj.TypeScriptProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
3608
3320
  | <code><a href="#mrpj.TypeScriptProject.addTask">addTask</a></code> | Adds a new task to this project. |
3609
- | <code><a href="#mrpj.TypeScriptProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
3610
3321
  | <code><a href="#mrpj.TypeScriptProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
3611
3322
  | <code><a href="#mrpj.TypeScriptProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
3612
3323
  | <code><a href="#mrpj.TypeScriptProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -3614,20 +3325,16 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
3614
3325
  | <code><a href="#mrpj.TypeScriptProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
3615
3326
  | <code><a href="#mrpj.TypeScriptProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
3616
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. |
3617
- | <code><a href="#mrpj.TypeScriptProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
3618
3328
  | <code><a href="#mrpj.TypeScriptProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
3619
3329
  | <code><a href="#mrpj.TypeScriptProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
3620
3330
  | <code><a href="#mrpj.TypeScriptProject.addBins">addBins</a></code> | *No description.* |
3621
3331
  | <code><a href="#mrpj.TypeScriptProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
3622
- | <code><a href="#mrpj.TypeScriptProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
3623
3332
  | <code><a href="#mrpj.TypeScriptProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
3624
3333
  | <code><a href="#mrpj.TypeScriptProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
3625
3334
  | <code><a href="#mrpj.TypeScriptProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
3626
3335
  | <code><a href="#mrpj.TypeScriptProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
3627
3336
  | <code><a href="#mrpj.TypeScriptProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
3628
3337
  | <code><a href="#mrpj.TypeScriptProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
3629
- | <code><a href="#mrpj.TypeScriptProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
3630
- | <code><a href="#mrpj.TypeScriptProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
3631
3338
  | <code><a href="#mrpj.TypeScriptProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
3632
3339
  | <code><a href="#mrpj.TypeScriptProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
3633
3340
  | <code><a href="#mrpj.TypeScriptProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
@@ -3642,6 +3349,27 @@ public toString(): string
3642
3349
 
3643
3350
  Returns a string representation of this construct.
3644
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
+
3645
3373
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="mrpj.TypeScriptProject.addExcludeFromCleanup"></a>
3646
3374
 
3647
3375
  ```typescript
@@ -3720,22 +3448,6 @@ Task properties.
3720
3448
 
3721
3449
  ---
3722
3450
 
3723
- ##### ~~`addTip`~~ <a name="addTip" id="mrpj.TypeScriptProject.addTip"></a>
3724
-
3725
- ```typescript
3726
- public addTip(message: string): void
3727
- ```
3728
-
3729
- Prints a "tip" message during synthesis.
3730
-
3731
- ###### `message`<sup>Required</sup> <a name="message" id="mrpj.TypeScriptProject.addTip.parameter.message"></a>
3732
-
3733
- - *Type:* string
3734
-
3735
- The message.
3736
-
3737
- ---
3738
-
3739
3451
  ##### `annotateGenerated` <a name="annotateGenerated" id="mrpj.TypeScriptProject.annotateGenerated"></a>
3740
3452
 
3741
3453
  ```typescript
@@ -3801,7 +3513,7 @@ public runTaskCommand(task: Task): string
3801
3513
  Returns the shell command to execute in order to run a task.
3802
3514
 
3803
3515
  This will
3804
- typically be `npx projen TASK`.
3516
+ typically be `pnpm projen TASK`.
3805
3517
 
3806
3518
  ###### `task`<sup>Required</sup> <a name="task" id="mrpj.TypeScriptProject.runTaskCommand.parameter.task"></a>
3807
3519
 
@@ -3845,22 +3557,6 @@ from the root of _this_ project.
3845
3557
 
3846
3558
  ---
3847
3559
 
3848
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="mrpj.TypeScriptProject.tryFindJsonFile"></a>
3849
-
3850
- ```typescript
3851
- public tryFindJsonFile(filePath: string): JsonFile
3852
- ```
3853
-
3854
- Finds a json file by name.
3855
-
3856
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="mrpj.TypeScriptProject.tryFindJsonFile.parameter.filePath"></a>
3857
-
3858
- - *Type:* string
3859
-
3860
- The file path.
3861
-
3862
- ---
3863
-
3864
3560
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="mrpj.TypeScriptProject.tryFindObjectFile"></a>
3865
3561
 
3866
3562
  ```typescript
@@ -3925,25 +3621,11 @@ Bundled dependencies will be added as normal dependencies as well as to the
3925
3621
 
3926
3622
  Names modules to install.
3927
3623
 
3928
- By default, the the dependency will
3929
- be installed in the next `npx projen` run and the version will be recorded
3930
- in your `package.json` file. You can upgrade manually or using `yarn
3931
- add/upgrade`. If you wish to specify a version range use this syntax:
3932
- `module@^7`.
3933
-
3934
- ---
3935
-
3936
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="mrpj.TypeScriptProject.addCompileCommand"></a>
3937
-
3938
- ```typescript
3939
- public addCompileCommand(commands: ...string[]): void
3940
- ```
3941
-
3942
- DEPRECATED.
3943
-
3944
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.TypeScriptProject.addCompileCommand.parameter.commands"></a>
3945
-
3946
- - *Type:* ...string[]
3624
+ By default, the the dependency will
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:
3628
+ `module@^7`.
3947
3629
 
3948
3630
  ---
3949
3631
 
@@ -3962,9 +3644,9 @@ Defines normal dependencies.
3962
3644
  Names modules to install.
3963
3645
 
3964
3646
  By default, the the dependency will
3965
- be installed in the next `npx projen` run and the version will be recorded
3966
- in your `package.json` file. You can upgrade manually or using `yarn
3967
- 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:
3968
3650
  `module@^7`.
3969
3651
 
3970
3652
  ---
@@ -3984,9 +3666,9 @@ Defines development/test dependencies.
3984
3666
  Names modules to install.
3985
3667
 
3986
3668
  By default, the the dependency will
3987
- be installed in the next `npx projen` run and the version will be recorded
3988
- in your `package.json` file. You can upgrade manually or using `yarn
3989
- 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:
3990
3672
  `module@^7`.
3991
3673
 
3992
3674
  ---
@@ -4042,9 +3724,9 @@ your code against the minimum version required from your consumers.
4042
3724
  Names modules to install.
4043
3725
 
4044
3726
  By default, the the dependency will
4045
- be installed in the next `npx projen` run and the version will be recorded
4046
- in your `package.json` file. You can upgrade manually or using `yarn
4047
- 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:
4048
3730
  `module@^7`.
4049
3731
 
4050
3732
  ---
@@ -4065,36 +3747,6 @@ The scripts to set.
4065
3747
 
4066
3748
  ---
4067
3749
 
4068
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="mrpj.TypeScriptProject.addTestCommand"></a>
4069
-
4070
- ```typescript
4071
- public addTestCommand(commands: ...string[]): void
4072
- ```
4073
-
4074
- DEPRECATED.
4075
-
4076
- ###### `commands`<sup>Required</sup> <a name="commands" id="mrpj.TypeScriptProject.addTestCommand.parameter.commands"></a>
4077
-
4078
- - *Type:* ...string[]
4079
-
4080
- ---
4081
-
4082
- ##### ~~`hasScript`~~ <a name="hasScript" id="mrpj.TypeScriptProject.hasScript"></a>
4083
-
4084
- ```typescript
4085
- public hasScript(name: string): boolean
4086
- ```
4087
-
4088
- Indicates if a script by the name name is defined.
4089
-
4090
- ###### `name`<sup>Required</sup> <a name="name" id="mrpj.TypeScriptProject.hasScript.parameter.name"></a>
4091
-
4092
- - *Type:* string
4093
-
4094
- The name of the script.
4095
-
4096
- ---
4097
-
4098
3750
  ##### `removeScript` <a name="removeScript" id="mrpj.TypeScriptProject.removeScript"></a>
4099
3751
 
4100
3752
  ```typescript
@@ -4256,21 +3908,16 @@ When given a project, this it the project itself.
4256
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". |
4257
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`. |
4258
3910
  | <code><a href="#mrpj.TypeScriptProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
4259
- | <code><a href="#mrpj.TypeScriptProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
4260
3911
  | <code><a href="#mrpj.TypeScriptProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
4261
3912
  | <code><a href="#mrpj.TypeScriptProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
4262
3913
  | <code><a href="#mrpj.TypeScriptProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
4263
3914
  | <code><a href="#mrpj.TypeScriptProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
4264
3915
  | <code><a href="#mrpj.TypeScriptProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
4265
- | <code><a href="#mrpj.TypeScriptProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
4266
3916
  | <code><a href="#mrpj.TypeScriptProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
4267
3917
  | <code><a href="#mrpj.TypeScriptProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
4268
3918
  | <code><a href="#mrpj.TypeScriptProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
4269
- | <code><a href="#mrpj.TypeScriptProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
4270
- | <code><a href="#mrpj.TypeScriptProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
4271
3919
  | <code><a href="#mrpj.TypeScriptProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
4272
3920
  | <code><a href="#mrpj.TypeScriptProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
4273
- | <code><a href="#mrpj.TypeScriptProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
4274
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). |
4275
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. |
4276
3923
  | <code><a href="#mrpj.TypeScriptProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -4281,7 +3928,6 @@ When given a project, this it the project itself.
4281
3928
  | <code><a href="#mrpj.TypeScriptProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
4282
3929
  | <code><a href="#mrpj.TypeScriptProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
4283
3930
  | <code><a href="#mrpj.TypeScriptProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
4284
- | <code><a href="#mrpj.TypeScriptProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
4285
3931
  | <code><a href="#mrpj.TypeScriptProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
4286
3932
  | <code><a href="#mrpj.TypeScriptProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
4287
3933
  | <code><a href="#mrpj.TypeScriptProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
@@ -4596,16 +4242,6 @@ If undefined, this is the root project.
4596
4242
 
4597
4243
  ---
4598
4244
 
4599
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="mrpj.TypeScriptProject.property.projectType"></a>
4600
-
4601
- ```typescript
4602
- public readonly projectType: ProjectType;
4603
- ```
4604
-
4605
- - *Type:* projen.ProjectType
4606
-
4607
- ---
4608
-
4609
4245
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="mrpj.TypeScriptProject.property.autoApprove"></a>
4610
4246
 
4611
4247
  ```typescript
@@ -4674,18 +4310,6 @@ This will be `undefined` for subprojects.
4674
4310
 
4675
4311
  ---
4676
4312
 
4677
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="mrpj.TypeScriptProject.property.allowLibraryDependencies"></a>
4678
-
4679
- - *Deprecated:* use `package.allowLibraryDependencies`
4680
-
4681
- ```typescript
4682
- public readonly allowLibraryDependencies: boolean;
4683
- ```
4684
-
4685
- - *Type:* boolean
4686
-
4687
- ---
4688
-
4689
4313
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="mrpj.TypeScriptProject.property.artifactsDirectory"></a>
4690
4314
 
4691
4315
  ```typescript
@@ -4724,30 +4348,6 @@ public readonly bundler: Bundler;
4724
4348
 
4725
4349
  ---
4726
4350
 
4727
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="mrpj.TypeScriptProject.property.entrypoint"></a>
4728
-
4729
- - *Deprecated:* use `package.entrypoint`
4730
-
4731
- ```typescript
4732
- public readonly entrypoint: string;
4733
- ```
4734
-
4735
- - *Type:* string
4736
-
4737
- ---
4738
-
4739
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="mrpj.TypeScriptProject.property.manifest"></a>
4740
-
4741
- - *Deprecated:* use `package.addField(x, y)`
4742
-
4743
- ```typescript
4744
- public readonly manifest: any;
4745
- ```
4746
-
4747
- - *Type:* any
4748
-
4749
- ---
4750
-
4751
4351
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="mrpj.TypeScriptProject.property.npmrc"></a>
4752
4352
 
4753
4353
  ```typescript
@@ -4772,20 +4372,6 @@ API for managing the node package.
4772
4372
 
4773
4373
  ---
4774
4374
 
4775
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="mrpj.TypeScriptProject.property.packageManager"></a>
4776
-
4777
- - *Deprecated:* use `package.packageManager`
4778
-
4779
- ```typescript
4780
- public readonly packageManager: NodePackageManager;
4781
- ```
4782
-
4783
- - *Type:* projen.javascript.NodePackageManager
4784
-
4785
- The package manager to use.
4786
-
4787
- ---
4788
-
4789
4375
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="mrpj.TypeScriptProject.property.runScriptCommand"></a>
4790
4376
 
4791
4377
  ```typescript
@@ -4908,23 +4494,6 @@ public readonly prettier: Prettier;
4908
4494
 
4909
4495
  ---
4910
4496
 
4911
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="mrpj.TypeScriptProject.property.publisher"></a>
4912
-
4913
- - *Deprecated:* use `release.publisher`.
4914
-
4915
- ```typescript
4916
- public readonly publisher: Publisher;
4917
- ```
4918
-
4919
- - *Type:* projen.release.Publisher
4920
-
4921
- Package publisher.
4922
-
4923
- This will be `undefined` if the project does not have a
4924
- release workflow.
4925
-
4926
- ---
4927
-
4928
4497
  ##### `release`<sup>Optional</sup> <a name="release" id="mrpj.TypeScriptProject.property.release"></a>
4929
4498
 
4930
4499
  ```typescript
@@ -5147,6 +4716,7 @@ new logo.Wordmark(project: Project, options?: WordmarkOptions)
5147
4716
  | **Name** | **Description** |
5148
4717
  | --- | --- |
5149
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. |
5150
4720
  | <code><a href="#mrpj.logo.Wordmark.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
5151
4721
  | <code><a href="#mrpj.logo.Wordmark.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
5152
4722
  | <code><a href="#mrpj.logo.Wordmark.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
@@ -5161,6 +4731,27 @@ public toString(): string
5161
4731
 
5162
4732
  Returns a string representation of this construct.
5163
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
+
5164
4755
  ##### `postSynthesize` <a name="postSynthesize" id="mrpj.logo.Wordmark.postSynthesize"></a>
5165
4756
 
5166
4757
  ```typescript
@@ -5336,9 +4927,9 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5336
4927
  | <code><a href="#mrpj.ConstructProjectOptions.property.author">author</a></code> | <code>string</code> | The name of the library author. |
5337
4928
  | <code><a href="#mrpj.ConstructProjectOptions.property.authorAddress">authorAddress</a></code> | <code>string</code> | Email or URL of the library author. |
5338
4929
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | Minimum version of the AWS CDK to depend on. |
5339
- | <code><a href="#mrpj.ConstructProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
5340
4930
  | <code><a href="#mrpj.ConstructProjectOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
5341
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`. |
5342
4933
  | <code><a href="#mrpj.ConstructProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
5343
4934
  | <code><a href="#mrpj.ConstructProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
5344
4935
  | <code><a href="#mrpj.ConstructProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
@@ -5364,7 +4955,6 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5364
4955
  | <code><a href="#mrpj.ConstructProjectOptions.property.bundlerOptions">bundlerOptions</a></code> | <code>projen.javascript.BundlerOptions</code> | Options for `Bundler`. |
5365
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. |
5366
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:. |
5367
- | <code><a href="#mrpj.ConstructProjectOptions.property.cdkAssertions">cdkAssertions</a></code> | <code>boolean</code> | Install the assertions library? |
5368
4958
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkCliVersion">cdkCliVersion</a></code> | <code>string</code> | Version range of the AWS CDK CLI to depend on. |
5369
4959
  | <code><a href="#mrpj.ConstructProjectOptions.property.cdkVersionPinning">cdkVersionPinning</a></code> | <code>boolean</code> | Use pinned version instead of caret version for CDK. |
5370
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. |
@@ -5379,6 +4969,8 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5379
4969
  | <code><a href="#mrpj.ConstructProjectOptions.property.constructsVersion">constructsVersion</a></code> | <code>string</code> | Minimum version of the `constructs` library to depend on. |
5380
4970
  | <code><a href="#mrpj.ConstructProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
5381
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. |
5382
4974
  | <code><a href="#mrpj.ConstructProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
5383
4975
  | <code><a href="#mrpj.ConstructProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
5384
4976
  | <code><a href="#mrpj.ConstructProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -5387,6 +4979,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5387
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. |
5388
4980
  | <code><a href="#mrpj.ConstructProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
5389
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. |
5390
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). |
5391
4984
  | <code><a href="#mrpj.ConstructProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
5392
4985
  | <code><a href="#mrpj.ConstructProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -5483,6 +5076,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5483
5076
  | <code><a href="#mrpj.ConstructProjectOptions.property.rootdir">rootdir</a></code> | <code>string</code> | *No description.* |
5484
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. |
5485
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. |
5486
5080
  | <code><a href="#mrpj.ConstructProjectOptions.property.srcdir">srcdir</a></code> | <code>string</code> | Typescript sources directory. |
5487
5081
  | <code><a href="#mrpj.ConstructProjectOptions.property.stability">stability</a></code> | <code>string</code> | Package's Stability. |
5488
5082
  | <code><a href="#mrpj.ConstructProjectOptions.property.stale">stale</a></code> | <code>boolean</code> | Auto-close of stale issues and pull request. |
@@ -5493,6 +5087,7 @@ const constructProjectOptions: ConstructProjectOptions = { ... }
5493
5087
  | <code><a href="#mrpj.ConstructProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
5494
5088
  | <code><a href="#mrpj.ConstructProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
5495
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. |
5496
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. |
5497
5092
  | <code><a href="#mrpj.ConstructProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
5498
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. |
@@ -5539,25 +5134,12 @@ public readonly cdkVersion: string;
5539
5134
  ```
5540
5135
 
5541
5136
  - *Type:* string
5542
- - *Default:* "2.1.0"
5137
+ - *Default:* "2.189.1"
5543
5138
 
5544
5139
  Minimum version of the AWS CDK to depend on.
5545
5140
 
5546
5141
  ---
5547
5142
 
5548
- ##### `defaultReleaseBranch`<sup>Required</sup> <a name="defaultReleaseBranch" id="mrpj.ConstructProjectOptions.property.defaultReleaseBranch"></a>
5549
-
5550
- ```typescript
5551
- public readonly defaultReleaseBranch: string;
5552
- ```
5553
-
5554
- - *Type:* string
5555
- - *Default:* "main"
5556
-
5557
- The name of the main release branch.
5558
-
5559
- ---
5560
-
5561
5143
  ##### `name`<sup>Required</sup> <a name="name" id="mrpj.ConstructProjectOptions.property.name"></a>
5562
5144
 
5563
5145
  ```typescript
@@ -5584,6 +5166,19 @@ Git repository URL.
5584
5166
 
5585
5167
  ---
5586
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
+
5587
5182
  ##### `allowLibraryDependencies`<sup>Optional</sup> <a name="allowLibraryDependencies" id="mrpj.ConstructProjectOptions.property.allowLibraryDependencies"></a>
5588
5183
 
5589
5184
  ```typescript
@@ -5885,11 +5480,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
5885
5480
  your `package.json`.
5886
5481
 
5887
5482
  The recommendation is to only specify the module name here (e.g.
5888
- `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
5889
5484
  sense that it will add the module as a dependency to your `package.json`
5890
5485
  file with the latest version (`^`). You can specify semver requirements in
5891
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
5892
- 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.
5893
5488
 
5894
5489
  ---
5895
5490
 
@@ -5940,22 +5535,6 @@ mentioned in the tweet.
5940
5535
 
5941
5536
  ---
5942
5537
 
5943
- ##### `cdkAssertions`<sup>Optional</sup> <a name="cdkAssertions" id="mrpj.ConstructProjectOptions.property.cdkAssertions"></a>
5944
-
5945
- ```typescript
5946
- public readonly cdkAssertions: boolean;
5947
- ```
5948
-
5949
- - *Type:* boolean
5950
- - *Default:* will be included by default for AWS CDK >= 1.111.0 < 2.0.0
5951
-
5952
- Install the assertions library?
5953
-
5954
- Only needed for CDK 1.x. If using CDK 2.x then
5955
- assertions is already included in 'aws-cdk-lib'
5956
-
5957
- ---
5958
-
5959
5538
  ##### `cdkCliVersion`<sup>Optional</sup> <a name="cdkCliVersion" id="mrpj.ConstructProjectOptions.property.cdkCliVersion"></a>
5960
5539
 
5961
5540
  ```typescript
@@ -6120,7 +5699,7 @@ public readonly constructsVersion: string;
6120
5699
  ```
6121
5700
 
6122
5701
  - *Type:* string
6123
- - *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".
6124
5703
 
6125
5704
  Minimum version of the `constructs` library to depend on.
6126
5705
 
@@ -6152,6 +5731,37 @@ The copyright years to put in the LICENSE file.
6152
5731
 
6153
5732
  ---
6154
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
+
6155
5765
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.ConstructProjectOptions.property.dependabot"></a>
6156
5766
 
6157
5767
  ```typescript
@@ -6192,11 +5802,11 @@ public readonly deps: string[];
6192
5802
  Runtime dependencies of this module.
6193
5803
 
6194
5804
  The recommendation is to only specify the module name here (e.g.
6195
- `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
6196
5806
  sense that it will add the module as a dependency to your `package.json`
6197
5807
  file with the latest version (`^`). You can specify semver requirements in
6198
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
6199
- 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.
6200
5810
 
6201
5811
  ---
6202
5812
 
@@ -6272,11 +5882,23 @@ available in your build environment but will not be fetched when this
6272
5882
  module is consumed.
6273
5883
 
6274
5884
  The recommendation is to only specify the module name here (e.g.
6275
- `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
6276
5886
  sense that it will add the module as a dependency to your `package.json`
6277
5887
  file with the latest version (`^`). You can specify semver requirements in
6278
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
6279
- 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.
6280
5902
 
6281
5903
  ---
6282
5904
 
@@ -6587,7 +6209,7 @@ public readonly jsiiVersion: string;
6587
6209
  ```
6588
6210
 
6589
6211
  - *Type:* string
6590
- - *Default:* "~5.8.0"
6212
+ - *Default:* "~5.9.0"
6591
6213
 
6592
6214
  Version of the jsii compiler to use.
6593
6215
 
@@ -6967,7 +6589,7 @@ public readonly packageManager: NodePackageManager;
6967
6589
  ```
6968
6590
 
6969
6591
  - *Type:* projen.javascript.NodePackageManager
6970
- - *Default:* NodePackageManager.YARN_CLASSIC
6592
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
6971
6593
 
6972
6594
  The Node Package Manager used to execute scripts.
6973
6595
 
@@ -7044,7 +6666,7 @@ public readonly pnpmVersion: string;
7044
6666
  ```
7045
6667
 
7046
6668
  - *Type:* string
7047
- - *Default:* "9"
6669
+ - *Default:* "10.33.0"
7048
6670
 
7049
6671
  The version of PNPM to use if using PNPM as a package manager.
7050
6672
 
@@ -7631,6 +7253,19 @@ Options for privately hosted scoped packages.
7631
7253
 
7632
7254
  ---
7633
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
+
7634
7269
  ##### `srcdir`<sup>Optional</sup> <a name="srcdir" id="mrpj.ConstructProjectOptions.property.srcdir"></a>
7635
7270
 
7636
7271
  ```typescript
@@ -7772,6 +7407,22 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
7772
7407
 
7773
7408
  ---
7774
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
+
7775
7426
  ##### `versionrcOptions`<sup>Optional</sup> <a name="versionrcOptions" id="mrpj.ConstructProjectOptions.property.versionrcOptions"></a>
7776
7427
 
7777
7428
  ```typescript
@@ -8367,6 +8018,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8367
8018
  | --- | --- | --- |
8368
8019
  | <code><a href="#mrpj.ProjenProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
8369
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`. |
8370
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. |
8371
8023
  | <code><a href="#mrpj.ProjenProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
8372
8024
  | <code><a href="#mrpj.ProjenProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
@@ -8405,6 +8057,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8405
8057
  | <code><a href="#mrpj.ProjenProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
8406
8058
  | <code><a href="#mrpj.ProjenProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
8407
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. |
8408
8061
  | <code><a href="#mrpj.ProjenProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
8409
8062
  | <code><a href="#mrpj.ProjenProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
8410
8063
  | <code><a href="#mrpj.ProjenProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -8413,6 +8066,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8413
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. |
8414
8067
  | <code><a href="#mrpj.ProjenProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
8415
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. |
8416
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). |
8417
8071
  | <code><a href="#mrpj.ProjenProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
8418
8072
  | <code><a href="#mrpj.ProjenProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -8513,6 +8167,7 @@ const projenProjectOptions: ProjenProjectOptions = { ... }
8513
8167
  | <code><a href="#mrpj.ProjenProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
8514
8168
  | <code><a href="#mrpj.ProjenProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
8515
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. |
8516
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. |
8517
8172
  | <code><a href="#mrpj.ProjenProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
8518
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. |
@@ -8549,6 +8204,19 @@ public readonly repo: string;
8549
8204
 
8550
8205
  ---
8551
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
+
8552
8220
  ##### `allowedCommitTypes`<sup>Optional</sup> <a name="allowedCommitTypes" id="mrpj.ProjenProjectOptions.property.allowedCommitTypes"></a>
8553
8221
 
8554
8222
  ```typescript
@@ -8882,11 +8550,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
8882
8550
  your `package.json`.
8883
8551
 
8884
8552
  The recommendation is to only specify the module name here (e.g.
8885
- `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
8886
8554
  sense that it will add the module as a dependency to your `package.json`
8887
8555
  file with the latest version (`^`). You can specify semver requirements in
8888
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
8889
- 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.
8890
8558
 
8891
8559
  ---
8892
8560
 
@@ -9078,6 +8746,24 @@ The name of the main release branch.
9078
8746
 
9079
8747
  ---
9080
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
+
9081
8767
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.ProjenProjectOptions.property.dependabot"></a>
9082
8768
 
9083
8769
  ```typescript
@@ -9118,11 +8804,11 @@ public readonly deps: string[];
9118
8804
  Runtime dependencies of this module.
9119
8805
 
9120
8806
  The recommendation is to only specify the module name here (e.g.
9121
- `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
9122
8808
  sense that it will add the module as a dependency to your `package.json`
9123
8809
  file with the latest version (`^`). You can specify semver requirements in
9124
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
9125
- 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.
9126
8812
 
9127
8813
  ---
9128
8814
 
@@ -9198,11 +8884,23 @@ available in your build environment but will not be fetched when this
9198
8884
  module is consumed.
9199
8885
 
9200
8886
  The recommendation is to only specify the module name here (e.g.
9201
- `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
9202
8888
  sense that it will add the module as a dependency to your `package.json`
9203
8889
  file with the latest version (`^`). You can specify semver requirements in
9204
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
9205
- 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.
9206
8904
 
9207
8905
  ---
9208
8906
 
@@ -9835,7 +9533,7 @@ public readonly packageManager: NodePackageManager;
9835
9533
  ```
9836
9534
 
9837
9535
  - *Type:* projen.javascript.NodePackageManager
9838
- - *Default:* NodePackageManager.YARN_CLASSIC
9536
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
9839
9537
 
9840
9538
  The Node Package Manager used to execute scripts.
9841
9539
 
@@ -9912,7 +9610,7 @@ public readonly pnpmVersion: string;
9912
9610
  ```
9913
9611
 
9914
9612
  - *Type:* string
9915
- - *Default:* "9"
9613
+ - *Default:* "10.33.0"
9916
9614
 
9917
9615
  The version of PNPM to use if using PNPM as a package manager.
9918
9616
 
@@ -10609,6 +10307,22 @@ public readonly upgradesSchedule: UpgradeDependenciesSchedule;
10609
10307
 
10610
10308
  ---
10611
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
+
10612
10326
  ##### `versionrcOptions`<sup>Optional</sup> <a name="versionrcOptions" id="mrpj.ProjenProjectOptions.property.versionrcOptions"></a>
10613
10327
 
10614
10328
  ```typescript
@@ -10858,6 +10572,7 @@ const svgFileOptions: logo.SvgFileOptions = { ... }
10858
10572
 
10859
10573
  | **Name** | **Type** | **Description** |
10860
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. |
10861
10576
  | <code><a href="#mrpj.logo.SvgFileOptions.property.indent">indent</a></code> | <code>number</code> | Indentation size. |
10862
10577
  | <code><a href="#mrpj.logo.SvgFileOptions.property.readonly">readonly</a></code> | <code>boolean</code> | Whether the generated file should be readonly. |
10863
10578
  | <code><a href="#mrpj.logo.SvgFileOptions.property.height">height</a></code> | <code>number</code> | *No description.* |
@@ -10868,6 +10583,19 @@ const svgFileOptions: logo.SvgFileOptions = { ... }
10868
10583
 
10869
10584
  ---
10870
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
+
10871
10599
  ##### `indent`<sup>Optional</sup> <a name="indent" id="mrpj.logo.SvgFileOptions.property.indent"></a>
10872
10600
 
10873
10601
  ```typescript
@@ -11001,6 +10729,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
11001
10729
  | --- | --- | --- |
11002
10730
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
11003
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`. |
11004
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. |
11005
10734
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
11006
10735
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
@@ -11036,6 +10765,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
11036
10765
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
11037
10766
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
11038
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. |
11039
10769
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
11040
10770
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
11041
10771
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
@@ -11044,6 +10774,7 @@ const typeScriptProjectOptions: TypeScriptProjectOptions = { ... }
11044
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. |
11045
10775
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
11046
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. |
11047
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). |
11048
10779
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
11049
10780
  | <code><a href="#mrpj.TypeScriptProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
@@ -11174,6 +10905,19 @@ public readonly repo: string;
11174
10905
 
11175
10906
  ---
11176
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
+
11177
10921
  ##### `allowedCommitTypes`<sup>Optional</sup> <a name="allowedCommitTypes" id="mrpj.TypeScriptProjectOptions.property.allowedCommitTypes"></a>
11178
10922
 
11179
10923
  ```typescript
@@ -11506,11 +11250,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
11506
11250
  your `package.json`.
11507
11251
 
11508
11252
  The recommendation is to only specify the module name here (e.g.
11509
- `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
11510
11254
  sense that it will add the module as a dependency to your `package.json`
11511
11255
  file with the latest version (`^`). You can specify semver requirements in
11512
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11513
- 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.
11514
11258
 
11515
11259
  ---
11516
11260
 
@@ -11660,6 +11404,24 @@ The name of the main release branch.
11660
11404
 
11661
11405
  ---
11662
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
+
11663
11425
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="mrpj.TypeScriptProjectOptions.property.dependabot"></a>
11664
11426
 
11665
11427
  ```typescript
@@ -11700,11 +11462,11 @@ public readonly deps: string[];
11700
11462
  Runtime dependencies of this module.
11701
11463
 
11702
11464
  The recommendation is to only specify the module name here (e.g.
11703
- `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
11704
11466
  sense that it will add the module as a dependency to your `package.json`
11705
11467
  file with the latest version (`^`). You can specify semver requirements in
11706
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11707
- 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.
11708
11470
 
11709
11471
  ---
11710
11472
 
@@ -11780,11 +11542,23 @@ available in your build environment but will not be fetched when this
11780
11542
  module is consumed.
11781
11543
 
11782
11544
  The recommendation is to only specify the module name here (e.g.
11783
- `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
11784
11546
  sense that it will add the module as a dependency to your `package.json`
11785
11547
  file with the latest version (`^`). You can specify semver requirements in
11786
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
11787
- 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.
11788
11562
 
11789
11563
  ---
11790
11564
 
@@ -12388,7 +12162,7 @@ public readonly packageManager: NodePackageManager;
12388
12162
  ```
12389
12163
 
12390
12164
  - *Type:* projen.javascript.NodePackageManager
12391
- - *Default:* NodePackageManager.YARN_CLASSIC
12165
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
12392
12166
 
12393
12167
  The Node Package Manager used to execute scripts.
12394
12168
 
@@ -12465,7 +12239,7 @@ public readonly pnpmVersion: string;
12465
12239
  ```
12466
12240
 
12467
12241
  - *Type:* string
12468
- - *Default:* "9"
12242
+ - *Default:* "10.33.0"
12469
12243
 
12470
12244
  The version of PNPM to use if using PNPM as a package manager.
12471
12245