@cdktn/provider-project 0.8.0 → 0.9.0

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 CdktnProviderProject(options: CdktnProviderProjectOptions)
29
29
  | **Name** | **Description** |
30
30
  | --- | --- |
31
31
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.toString">toString</a></code> | Returns a string representation of this construct. |
32
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProject.with">with</a></code> | Applies one or more mixins to this construct. |
32
33
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
33
34
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
34
35
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
35
36
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addTask">addTask</a></code> | Adds a new task to this project. |
36
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
37
37
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
38
38
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
39
39
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
@@ -41,20 +41,16 @@ new CdktnProviderProject(options: CdktnProviderProjectOptions)
41
41
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
42
42
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
43
43
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
44
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
45
44
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
46
45
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
47
46
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addBins">addBins</a></code> | *No description.* |
48
47
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
49
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
50
48
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
51
49
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
52
50
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
53
51
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
54
52
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
55
53
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
56
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
57
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
58
54
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
59
55
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
60
56
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
@@ -69,6 +65,27 @@ public toString(): string
69
65
 
70
66
  Returns a string representation of this construct.
71
67
 
68
+ ##### `with` <a name="with" id="@cdktn/provider-project.CdktnProviderProject.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="@cdktn/provider-project.CdktnProviderProject.with.parameter.mixins"></a>
82
+
83
+ - *Type:* ...constructs.IMixin[]
84
+
85
+ The mixins to apply.
86
+
87
+ ---
88
+
72
89
  ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="@cdktn/provider-project.CdktnProviderProject.addExcludeFromCleanup"></a>
73
90
 
74
91
  ```typescript
@@ -147,22 +164,6 @@ Task properties.
147
164
 
148
165
  ---
149
166
 
150
- ##### ~~`addTip`~~ <a name="addTip" id="@cdktn/provider-project.CdktnProviderProject.addTip"></a>
151
-
152
- ```typescript
153
- public addTip(message: string): void
154
- ```
155
-
156
- Prints a "tip" message during synthesis.
157
-
158
- ###### `message`<sup>Required</sup> <a name="message" id="@cdktn/provider-project.CdktnProviderProject.addTip.parameter.message"></a>
159
-
160
- - *Type:* string
161
-
162
- The message.
163
-
164
- ---
165
-
166
167
  ##### `annotateGenerated` <a name="annotateGenerated" id="@cdktn/provider-project.CdktnProviderProject.annotateGenerated"></a>
167
168
 
168
169
  ```typescript
@@ -228,7 +229,7 @@ public runTaskCommand(task: Task): string
228
229
  Returns the shell command to execute in order to run a task.
229
230
 
230
231
  This will
231
- typically be `npx projen TASK`.
232
+ typically be `pnpm projen TASK`.
232
233
 
233
234
  ###### `task`<sup>Required</sup> <a name="task" id="@cdktn/provider-project.CdktnProviderProject.runTaskCommand.parameter.task"></a>
234
235
 
@@ -250,8 +251,10 @@ Synthesize all project files into `outdir`.
250
251
  2. Delete all generated files
251
252
  3. Synthesize all subprojects
252
253
  4. Synthesize all components of this project
253
- 5. Call "postSynthesize()" for all components of this project
254
- 6. Call "this.postSynthesize()"
254
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
255
+ 6. Call "postSynthesize()" for all components of this project
256
+ 7. Call "this.postSynthesize()"
257
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
255
258
 
256
259
  ##### `tryFindFile` <a name="tryFindFile" id="@cdktn/provider-project.CdktnProviderProject.tryFindFile"></a>
257
260
 
@@ -272,22 +275,6 @@ from the root of _this_ project.
272
275
 
273
276
  ---
274
277
 
275
- ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="@cdktn/provider-project.CdktnProviderProject.tryFindJsonFile"></a>
276
-
277
- ```typescript
278
- public tryFindJsonFile(filePath: string): JsonFile
279
- ```
280
-
281
- Finds a json file by name.
282
-
283
- ###### `filePath`<sup>Required</sup> <a name="filePath" id="@cdktn/provider-project.CdktnProviderProject.tryFindJsonFile.parameter.filePath"></a>
284
-
285
- - *Type:* string
286
-
287
- The file path.
288
-
289
- ---
290
-
291
278
  ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="@cdktn/provider-project.CdktnProviderProject.tryFindObjectFile"></a>
292
279
 
293
280
  ```typescript
@@ -353,27 +340,13 @@ Bundled dependencies will be added as normal dependencies as well as to the
353
340
  Names modules to install.
354
341
 
355
342
  By default, the the dependency will
356
- be installed in the next `npx projen` run and the version will be recorded
357
- in your `package.json` file. You can upgrade manually or using `yarn
358
- add/upgrade`. If you wish to specify a version range use this syntax:
343
+ be installed in the next `pnpm projen` run and the version will be recorded
344
+ in your `package.json` file. You can upgrade manually or using `pnpm
345
+ add/update`. If you wish to specify a version range use this syntax:
359
346
  `module@^7`.
360
347
 
361
348
  ---
362
349
 
363
- ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="@cdktn/provider-project.CdktnProviderProject.addCompileCommand"></a>
364
-
365
- ```typescript
366
- public addCompileCommand(commands: ...string[]): void
367
- ```
368
-
369
- DEPRECATED.
370
-
371
- ###### `commands`<sup>Required</sup> <a name="commands" id="@cdktn/provider-project.CdktnProviderProject.addCompileCommand.parameter.commands"></a>
372
-
373
- - *Type:* ...string[]
374
-
375
- ---
376
-
377
350
  ##### `addDeps` <a name="addDeps" id="@cdktn/provider-project.CdktnProviderProject.addDeps"></a>
378
351
 
379
352
  ```typescript
@@ -389,9 +362,9 @@ Defines normal dependencies.
389
362
  Names modules to install.
390
363
 
391
364
  By default, the the dependency will
392
- be installed in the next `npx projen` run and the version will be recorded
393
- in your `package.json` file. You can upgrade manually or using `yarn
394
- add/upgrade`. If you wish to specify a version range use this syntax:
365
+ be installed in the next `pnpm projen` run and the version will be recorded
366
+ in your `package.json` file. You can upgrade manually or using `pnpm
367
+ add/update`. If you wish to specify a version range use this syntax:
395
368
  `module@^7`.
396
369
 
397
370
  ---
@@ -411,9 +384,9 @@ Defines development/test dependencies.
411
384
  Names modules to install.
412
385
 
413
386
  By default, the the dependency will
414
- be installed in the next `npx projen` run and the version will be recorded
415
- in your `package.json` file. You can upgrade manually or using `yarn
416
- add/upgrade`. If you wish to specify a version range use this syntax:
387
+ be installed in the next `pnpm projen` run and the version will be recorded
388
+ in your `package.json` file. You can upgrade manually or using `pnpm
389
+ add/update`. If you wish to specify a version range use this syntax:
417
390
  `module@^7`.
418
391
 
419
392
  ---
@@ -469,9 +442,9 @@ your code against the minimum version required from your consumers.
469
442
  Names modules to install.
470
443
 
471
444
  By default, the the dependency will
472
- be installed in the next `npx projen` run and the version will be recorded
473
- in your `package.json` file. You can upgrade manually or using `yarn
474
- add/upgrade`. If you wish to specify a version range use this syntax:
445
+ be installed in the next `pnpm projen` run and the version will be recorded
446
+ in your `package.json` file. You can upgrade manually or using `pnpm
447
+ add/update`. If you wish to specify a version range use this syntax:
475
448
  `module@^7`.
476
449
 
477
450
  ---
@@ -492,36 +465,6 @@ The scripts to set.
492
465
 
493
466
  ---
494
467
 
495
- ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="@cdktn/provider-project.CdktnProviderProject.addTestCommand"></a>
496
-
497
- ```typescript
498
- public addTestCommand(commands: ...string[]): void
499
- ```
500
-
501
- DEPRECATED.
502
-
503
- ###### `commands`<sup>Required</sup> <a name="commands" id="@cdktn/provider-project.CdktnProviderProject.addTestCommand.parameter.commands"></a>
504
-
505
- - *Type:* ...string[]
506
-
507
- ---
508
-
509
- ##### ~~`hasScript`~~ <a name="hasScript" id="@cdktn/provider-project.CdktnProviderProject.hasScript"></a>
510
-
511
- ```typescript
512
- public hasScript(name: string): boolean
513
- ```
514
-
515
- Indicates if a script by the name name is defined.
516
-
517
- ###### `name`<sup>Required</sup> <a name="name" id="@cdktn/provider-project.CdktnProviderProject.hasScript.parameter.name"></a>
518
-
519
- - *Type:* string
520
-
521
- The name of the script.
522
-
523
- ---
524
-
525
468
  ##### `removeScript` <a name="removeScript" id="@cdktn/provider-project.CdktnProviderProject.removeScript"></a>
526
469
 
527
470
  ```typescript
@@ -683,21 +626,16 @@ When given a project, this it the project itself.
683
626
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
684
627
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
685
628
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
686
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
687
629
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
688
630
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
689
631
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
690
632
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
691
633
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
692
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
693
634
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
694
635
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
695
636
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
696
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
697
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
698
637
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
699
638
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
700
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
701
639
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.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). |
702
640
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
703
641
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
@@ -708,11 +646,11 @@ When given a project, this it the project itself.
708
646
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
709
647
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
710
648
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
711
- | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
712
649
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
713
650
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
714
651
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
715
652
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.libdir">libdir</a></code> | <code>string</code> | The directory in which compiled .js files reside. |
653
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.runner">runner</a></code> | <code>projen.typescript.TypeScriptRunner</code> | The TypeScript runner used for executing TypeScript files. |
716
654
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.srcdir">srcdir</a></code> | <code>string</code> | The directory in which the .ts sources reside. |
717
655
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.testdir">testdir</a></code> | <code>string</code> | The directory in which tests reside. |
718
656
  | <code><a href="#@cdktn/provider-project.CdktnProviderProject.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfig</code> | A typescript configuration file which covers all files (sources, tests, projen). |
@@ -991,7 +929,9 @@ the project is being ejected.
991
929
 
992
930
  ---
993
931
 
994
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="@cdktn/provider-project.CdktnProviderProject.property.initProject"></a>
932
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="@cdktn/provider-project.CdktnProviderProject.property.initProject"></a>
933
+
934
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
995
935
 
996
936
  ```typescript
997
937
  public readonly initProject: InitProject;
@@ -1021,16 +961,6 @@ If undefined, this is the root project.
1021
961
 
1022
962
  ---
1023
963
 
1024
- ##### `projectType`<sup>Required</sup> <a name="projectType" id="@cdktn/provider-project.CdktnProviderProject.property.projectType"></a>
1025
-
1026
- ```typescript
1027
- public readonly projectType: ProjectType;
1028
- ```
1029
-
1030
- - *Type:* projen.ProjectType
1031
-
1032
- ---
1033
-
1034
964
  ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="@cdktn/provider-project.CdktnProviderProject.property.autoApprove"></a>
1035
965
 
1036
966
  ```typescript
@@ -1099,18 +1029,6 @@ This will be `undefined` for subprojects.
1099
1029
 
1100
1030
  ---
1101
1031
 
1102
- ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="@cdktn/provider-project.CdktnProviderProject.property.allowLibraryDependencies"></a>
1103
-
1104
- - *Deprecated:* use `package.allowLibraryDependencies`
1105
-
1106
- ```typescript
1107
- public readonly allowLibraryDependencies: boolean;
1108
- ```
1109
-
1110
- - *Type:* boolean
1111
-
1112
- ---
1113
-
1114
1032
  ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="@cdktn/provider-project.CdktnProviderProject.property.artifactsDirectory"></a>
1115
1033
 
1116
1034
  ```typescript
@@ -1149,30 +1067,6 @@ public readonly bundler: Bundler;
1149
1067
 
1150
1068
  ---
1151
1069
 
1152
- ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="@cdktn/provider-project.CdktnProviderProject.property.entrypoint"></a>
1153
-
1154
- - *Deprecated:* use `package.entrypoint`
1155
-
1156
- ```typescript
1157
- public readonly entrypoint: string;
1158
- ```
1159
-
1160
- - *Type:* string
1161
-
1162
- ---
1163
-
1164
- ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="@cdktn/provider-project.CdktnProviderProject.property.manifest"></a>
1165
-
1166
- - *Deprecated:* use `package.addField(x, y)`
1167
-
1168
- ```typescript
1169
- public readonly manifest: any;
1170
- ```
1171
-
1172
- - *Type:* any
1173
-
1174
- ---
1175
-
1176
1070
  ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="@cdktn/provider-project.CdktnProviderProject.property.npmrc"></a>
1177
1071
 
1178
1072
  ```typescript
@@ -1197,20 +1091,6 @@ API for managing the node package.
1197
1091
 
1198
1092
  ---
1199
1093
 
1200
- ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="@cdktn/provider-project.CdktnProviderProject.property.packageManager"></a>
1201
-
1202
- - *Deprecated:* use `package.packageManager`
1203
-
1204
- ```typescript
1205
- public readonly packageManager: NodePackageManager;
1206
- ```
1207
-
1208
- - *Type:* projen.javascript.NodePackageManager
1209
-
1210
- The package manager to use.
1211
-
1212
- ---
1213
-
1214
1094
  ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="@cdktn/provider-project.CdktnProviderProject.property.runScriptCommand"></a>
1215
1095
 
1216
1096
  ```typescript
@@ -1333,23 +1213,6 @@ public readonly prettier: Prettier;
1333
1213
 
1334
1214
  ---
1335
1215
 
1336
- ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="@cdktn/provider-project.CdktnProviderProject.property.publisher"></a>
1337
-
1338
- - *Deprecated:* use `release.publisher`.
1339
-
1340
- ```typescript
1341
- public readonly publisher: Publisher;
1342
- ```
1343
-
1344
- - *Type:* projen.release.Publisher
1345
-
1346
- Package publisher.
1347
-
1348
- This will be `undefined` if the project does not have a
1349
- release workflow.
1350
-
1351
- ---
1352
-
1353
1216
  ##### `release`<sup>Optional</sup> <a name="release" id="@cdktn/provider-project.CdktnProviderProject.property.release"></a>
1354
1217
 
1355
1218
  ```typescript
@@ -1396,6 +1259,18 @@ The directory in which compiled .js files reside.
1396
1259
 
1397
1260
  ---
1398
1261
 
1262
+ ##### `runner`<sup>Required</sup> <a name="runner" id="@cdktn/provider-project.CdktnProviderProject.property.runner"></a>
1263
+
1264
+ ```typescript
1265
+ public readonly runner: TypeScriptRunner;
1266
+ ```
1267
+
1268
+ - *Type:* projen.typescript.TypeScriptRunner
1269
+
1270
+ The TypeScript runner used for executing TypeScript files.
1271
+
1272
+ ---
1273
+
1399
1274
  ##### `srcdir`<sup>Required</sup> <a name="srcdir" id="@cdktn/provider-project.CdktnProviderProject.property.srcdir"></a>
1400
1275
 
1401
1276
  ```typescript
@@ -1541,6 +1416,7 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1541
1416
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.logging">logging</a></code> | <code>projen.LoggerOptions</code> | Configure logging options such as verbosity. |
1542
1417
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.outdir">outdir</a></code> | <code>string</code> | The root directory of the project. |
1543
1418
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
1419
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projectTree">projectTree</a></code> | <code>boolean</code> | Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging. |
1544
1420
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenCommand">projenCommand</a></code> | <code>string</code> | The shell command to use in order to run the projen CLI. |
1545
1421
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenrcJson">projenrcJson</a></code> | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
1546
1422
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenrcJsonOptions">projenrcJsonOptions</a></code> | <code>projen.ProjenrcJsonOptions</code> | Options for .projenrc.json. |
@@ -1554,16 +1430,14 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1554
1430
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.github">github</a></code> | <code>boolean</code> | Enable GitHub integration. |
1555
1431
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
1556
1432
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.gitpod">gitpod</a></code> | <code>boolean</code> | Add a Gitpod development environment. |
1557
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.mergify">mergify</a></code> | <code>boolean</code> | Whether mergify should be enabled on this repository or not. |
1558
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.mergifyOptions">mergifyOptions</a></code> | <code>projen.github.MergifyOptions</code> | Options for mergify. |
1559
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | Which type of project this is (library/app). |
1560
1433
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenCredentials">projenCredentials</a></code> | <code>projen.github.GithubCredentials</code> | Choose a method of providing GitHub API access for projen workflows. |
1561
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenTokenSecret">projenTokenSecret</a></code> | <code>string</code> | The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
1562
1434
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.readme">readme</a></code> | <code>projen.SampleReadmeProps</code> | The README setup. |
1563
1435
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.stale">stale</a></code> | <code>boolean</code> | Auto-close of stale issues and pull request. |
1564
1436
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.staleOptions">staleOptions</a></code> | <code>projen.github.StaleOptions</code> | Auto-close stale issues and pull requests. |
1565
1437
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
1438
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
1566
1439
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
1440
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.allowScripts">allowScripts</a></code> | <code>string[]</code> | List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation. |
1567
1441
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
1568
1442
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
1569
1443
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -1575,9 +1449,11 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1575
1449
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.bundledDeps">bundledDeps</a></code> | <code>string[]</code> | List of dependencies to bundle into this module. |
1576
1450
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.bunVersion">bunVersion</a></code> | <code>string</code> | The version of Bun to use if using Bun as a package manager. |
1577
1451
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.codeArtifactOptions">codeArtifactOptions</a></code> | <code>projen.javascript.CodeArtifactOptions</code> | Options for npm packages using AWS CodeArtifact. |
1452
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
1578
1453
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
1579
1454
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
1580
1455
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
1456
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.devEngines">devEngines</a></code> | <code>projen.javascript.DevEngines</code> | Configure the `devEngines` field in `package.json`. |
1581
1457
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.entrypoint">entrypoint</a></code> | <code>string</code> | Module entrypoint (`main` in `package.json`). |
1582
1458
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.homepage">homepage</a></code> | <code>string</code> | Package's Homepage / Website. |
1583
1459
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.keywords">keywords</a></code> | <code>string[]</code> | Keywords to include in `package.json`. |
@@ -1587,7 +1463,6 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1587
1463
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. Most projects should not use this option. |
1588
1464
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmAccess">npmAccess</a></code> | <code>projen.javascript.NpmAccess</code> | Access level of the npm package. |
1589
1465
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmProvenance">npmProvenance</a></code> | <code>boolean</code> | Should provenance statements be generated when the package is published. |
1590
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmRegistry">npmRegistry</a></code> | <code>string</code> | The host name of the npm registry to publish to. |
1591
1466
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmRegistryUrl">npmRegistryUrl</a></code> | <code>string</code> | The base URL of the npm package registry. |
1592
1467
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmTokenSecret">npmTokenSecret</a></code> | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages. |
1593
1468
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmTrustedPublishing">npmTrustedPublishing</a></code> | <code>boolean</code> | Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. |
@@ -1595,11 +1470,11 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1595
1470
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.packageName">packageName</a></code> | <code>string</code> | The "name" in package.json. |
1596
1471
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
1597
1472
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
1473
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
1598
1474
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
1599
1475
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.repository">repository</a></code> | <code>string</code> | The repository is the location where the actual code for your package lives. |
1600
1476
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.repositoryDirectory">repositoryDirectory</a></code> | <code>string</code> | If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. |
1601
1477
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.scopedPackagesOptions">scopedPackagesOptions</a></code> | <code>projen.javascript.ScopedPackagesOptions[]</code> | Options for privately hosted scoped packages. |
1602
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.scripts">scripts</a></code> | <code>{[ key: string ]: string}</code> | npm scripts to include. |
1603
1478
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.stability">stability</a></code> | <code>string</code> | Package's Stability. |
1604
1479
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.yarnBerryOptions">yarnBerryOptions</a></code> | <code>projen.javascript.YarnBerryOptions</code> | Options for Yarn Berry. |
1605
1480
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.bumpPackage">bumpPackage</a></code> | <code>string</code> | The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string. |
@@ -1615,10 +1490,8 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1615
1490
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releasableCommits">releasableCommits</a></code> | <code>projen.ReleasableCommits</code> | Find commits that should be considered releasable Used to decide if a release is required. |
1616
1491
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseBranches">releaseBranches</a></code> | <code>{[ key: string ]: projen.release.BranchOptions}</code> | Defines additional release branches. |
1617
1492
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseEnvironment">releaseEnvironment</a></code> | <code>string</code> | The GitHub Actions environment used for the release. |
1618
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseEveryCommit">releaseEveryCommit</a></code> | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`. |
1619
1493
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseFailureIssue">releaseFailureIssue</a></code> | <code>boolean</code> | Create a github issue on every failed publishing task. |
1620
1494
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseFailureIssueLabel">releaseFailureIssueLabel</a></code> | <code>string</code> | The label to apply to issues indicating publish failures. |
1621
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseSchedule">releaseSchedule</a></code> | <code>string</code> | CRON schedule to trigger new releases. |
1622
1495
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseTagPrefix">releaseTagPrefix</a></code> | <code>string</code> | Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
1623
1496
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseTrigger">releaseTrigger</a></code> | <code>projen.release.ReleaseTrigger</code> | The release trigger to use. |
1624
1497
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseWorkflowEnv">releaseWorkflowEnv</a></code> | <code>{[ key: string ]: string}</code> | Build environment variables for release workflows. |
@@ -1628,7 +1501,6 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1628
1501
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowContainerImage">workflowContainerImage</a></code> | <code>string</code> | Container image to use for GitHub workflows. |
1629
1502
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowRunsOn">workflowRunsOn</a></code> | <code>string[]</code> | Github Runner selection labels. |
1630
1503
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowRunsOnGroup">workflowRunsOnGroup</a></code> | <code>projen.GroupRunnerOptions</code> | Github Runner Group selection options. |
1631
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
1632
1504
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
1633
1505
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
1634
1506
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -1637,13 +1509,13 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1637
1509
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.biomeOptions">biomeOptions</a></code> | <code>projen.javascript.BiomeOptions</code> | Biome options. |
1638
1510
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.buildWorkflow">buildWorkflow</a></code> | <code>boolean</code> | Define a GitHub workflow for building PRs. |
1639
1511
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.buildWorkflowOptions">buildWorkflowOptions</a></code> | <code>projen.javascript.BuildWorkflowOptions</code> | Options for PR build workflow. |
1640
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.buildWorkflowTriggers">buildWorkflowTriggers</a></code> | <code>projen.github.workflows.Triggers</code> | Build workflow triggers. |
1641
1512
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.bundlerOptions">bundlerOptions</a></code> | <code>projen.javascript.BundlerOptions</code> | Options for `Bundler`. |
1642
1513
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
1643
1514
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
1644
1515
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token. |
1645
1516
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
1646
1517
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
1518
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
1647
1519
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
1648
1520
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
1649
1521
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.depsUpgrade">depsUpgrade</a></code> | <code>boolean</code> | Use tasks and github workflows to handle dependency upgrades. |
@@ -1651,8 +1523,6 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1651
1523
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
1652
1524
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.jest">jest</a></code> | <code>boolean</code> | Setup jest unit tests. |
1653
1525
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.jestOptions">jestOptions</a></code> | <code>projen.javascript.JestOptions</code> | Jest options. |
1654
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.mutableBuild">mutableBuild</a></code> | <code>boolean</code> | Automatically update files modified during builds to pull-request branches. |
1655
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmignore">npmignore</a></code> | <code>string[]</code> | Additional entries to .npmignore. |
1656
1526
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmignoreEnabled">npmignoreEnabled</a></code> | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
1657
1527
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.npmIgnoreOptions">npmIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .npmignore file. |
1658
1528
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.package">package</a></code> | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
@@ -1666,13 +1536,12 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1666
1536
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.pullRequestTemplateContents">pullRequestTemplateContents</a></code> | <code>string[]</code> | The contents of the pull request template. |
1667
1537
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.release">release</a></code> | <code>boolean</code> | Add release management to this project. |
1668
1538
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseToNpm">releaseToNpm</a></code> | <code>boolean</code> | Automatically release to npm when new versions are introduced. |
1669
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseWorkflow">releaseWorkflow</a></code> | <code>boolean</code> | DEPRECATED: renamed to `release`. |
1670
1539
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
1671
1540
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowGitIdentity">workflowGitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use in workflows. |
1672
1541
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version used in GitHub Actions workflows. |
1673
1542
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowPackageCache">workflowPackageCache</a></code> | <code>boolean</code> | Enable Node.js package cache in GitHub workflows. |
1674
1543
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.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). |
1675
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a `tsconfig.dev.json` file. |
1544
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.disableTsconfigDev">disableTsconfigDev</a></code> | <code>boolean</code> | Do not generate a development tsconfig file. |
1676
1545
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.docgen">docgen</a></code> | <code>boolean</code> | Docgen by Typedoc. |
1677
1546
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | Docs directory. |
1678
1547
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.entrypointTypes">entrypointTypes</a></code> | <code>string</code> | The .d.ts file that includes the type declarations for this module. |
@@ -1681,12 +1550,13 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1681
1550
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.libdir">libdir</a></code> | <code>string</code> | Typescript artifacts output directory. |
1682
1551
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenrcTs">projenrcTs</a></code> | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`). |
1683
1552
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.projenrcTsOptions">projenrcTsOptions</a></code> | <code>projen.typescript.ProjenrcOptions</code> | Options for .projenrc.ts. |
1553
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.runner">runner</a></code> | <code>projen.typescript.TypeScriptRunner</code> | The TypeScript runner to use for executing TypeScript files. |
1684
1554
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.sampleCode">sampleCode</a></code> | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there. |
1685
1555
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.srcdir">srcdir</a></code> | <code>string</code> | Typescript sources directory. |
1686
1556
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.testdir">testdir</a></code> | <code>string</code> | Jest tests directory. Tests files should be named `xxx.test.ts`. |
1687
1557
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.tsconfig">tsconfig</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom TSConfig. |
1688
1558
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
1689
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
1559
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name (and path) of the development tsconfig file. |
1690
1560
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
1691
1561
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
1692
1562
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.author">author</a></code> | <code>string</code> | The name of the library author. |
@@ -1696,15 +1566,14 @@ const cdktnProviderProjectOptions: CdktnProviderProjectOptions = { ... }
1696
1566
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.compatIgnore">compatIgnore</a></code> | <code>string</code> | Name of the ignore file for API compatibility tests. |
1697
1567
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.compressAssembly">compressAssembly</a></code> | <code>boolean</code> | Emit a compressed version of the assembly. |
1698
1568
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.docgenFilePath">docgenFilePath</a></code> | <code>string</code> | File path for generated docs. |
1699
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.dotnet">dotnet</a></code> | <code>projen.cdk.JsiiDotNetTarget</code> | *No description.* |
1700
1569
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.excludeTypescript">excludeTypescript</a></code> | <code>string[]</code> | Accepts a list of glob patterns. |
1701
1570
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.jsiiVersion">jsiiVersion</a></code> | <code>string</code> | Version of the jsii compiler to use. |
1702
1571
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.publishToGo">publishToGo</a></code> | <code>projen.cdk.JsiiGoTarget</code> | Publish Go bindings to a git repository. |
1703
1572
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.publishToMaven">publishToMaven</a></code> | <code>projen.cdk.JsiiJavaTarget</code> | Publish to maven. |
1704
1573
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.publishToNuget">publishToNuget</a></code> | <code>projen.cdk.JsiiDotNetTarget</code> | Publish to NuGet. |
1705
1574
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.publishToPypi">publishToPypi</a></code> | <code>projen.cdk.JsiiPythonTarget</code> | Publish to pypi. |
1706
- | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.python">python</a></code> | <code>projen.cdk.JsiiPythonTarget</code> | *No description.* |
1707
1575
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.rootdir">rootdir</a></code> | <code>string</code> | *No description.* |
1576
+ | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.validateTsconfig">validateTsconfig</a></code> | <code>projen.cdk.ValidateTsconfig</code> | Level of tsconfig validation jsii should perform on the user-provided tsconfig. |
1708
1577
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.cdktnVersion">cdktnVersion</a></code> | <code>string</code> | *No description.* |
1709
1578
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.constructsVersion">constructsVersion</a></code> | <code>string</code> | *No description.* |
1710
1579
  | <code><a href="#@cdktn/provider-project.CdktnProviderProjectOptions.property.terraformProvider">terraformProvider</a></code> | <code>string</code> | *No description.* |
@@ -1818,6 +1687,19 @@ The parent project, if this project is part of a bigger project.
1818
1687
 
1819
1688
  ---
1820
1689
 
1690
+ ##### `projectTree`<sup>Optional</sup> <a name="projectTree" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.projectTree"></a>
1691
+
1692
+ ```typescript
1693
+ public readonly projectTree: boolean;
1694
+ ```
1695
+
1696
+ - *Type:* boolean
1697
+ - *Default:* false
1698
+
1699
+ Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
1700
+
1701
+ ---
1702
+
1821
1703
  ##### `projenCommand`<sup>Optional</sup> <a name="projenCommand" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.projenCommand"></a>
1822
1704
 
1823
1705
  ```typescript
@@ -1997,51 +1879,6 @@ Add a Gitpod development environment.
1997
1879
 
1998
1880
  ---
1999
1881
 
2000
- ##### ~~`mergify`~~<sup>Optional</sup> <a name="mergify" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.mergify"></a>
2001
-
2002
- - *Deprecated:* use `githubOptions.mergify` instead
2003
-
2004
- ```typescript
2005
- public readonly mergify: boolean;
2006
- ```
2007
-
2008
- - *Type:* boolean
2009
- - *Default:* true
2010
-
2011
- Whether mergify should be enabled on this repository or not.
2012
-
2013
- ---
2014
-
2015
- ##### ~~`mergifyOptions`~~<sup>Optional</sup> <a name="mergifyOptions" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.mergifyOptions"></a>
2016
-
2017
- - *Deprecated:* use `githubOptions.mergifyOptions` instead
2018
-
2019
- ```typescript
2020
- public readonly mergifyOptions: MergifyOptions;
2021
- ```
2022
-
2023
- - *Type:* projen.github.MergifyOptions
2024
- - *Default:* default options
2025
-
2026
- Options for mergify.
2027
-
2028
- ---
2029
-
2030
- ##### ~~`projectType`~~<sup>Optional</sup> <a name="projectType" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.projectType"></a>
2031
-
2032
- - *Deprecated:* no longer supported at the base project level
2033
-
2034
- ```typescript
2035
- public readonly projectType: ProjectType;
2036
- ```
2037
-
2038
- - *Type:* projen.ProjectType
2039
- - *Default:* ProjectType.UNKNOWN
2040
-
2041
- Which type of project this is (library/app).
2042
-
2043
- ---
2044
-
2045
1882
  ##### `projenCredentials`<sup>Optional</sup> <a name="projenCredentials" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.projenCredentials"></a>
2046
1883
 
2047
1884
  ```typescript
@@ -2055,24 +1892,6 @@ Choose a method of providing GitHub API access for projen workflows.
2055
1892
 
2056
1893
  ---
2057
1894
 
2058
- ##### ~~`projenTokenSecret`~~<sup>Optional</sup> <a name="projenTokenSecret" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.projenTokenSecret"></a>
2059
-
2060
- - *Deprecated:* use `projenCredentials`
2061
-
2062
- ```typescript
2063
- public readonly projenTokenSecret: string;
2064
- ```
2065
-
2066
- - *Type:* string
2067
- - *Default:* "PROJEN_GITHUB_TOKEN"
2068
-
2069
- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
2070
-
2071
- This token needs to have the `repo`, `workflows`
2072
- and `packages` scope.
2073
-
2074
- ---
2075
-
2076
1895
  ##### `readme`<sup>Optional</sup> <a name="readme" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.readme"></a>
2077
1896
 
2078
1897
  ```typescript
@@ -2138,6 +1957,19 @@ Enabled by default for root projects. Disabled for non-root projects.
2138
1957
 
2139
1958
  ---
2140
1959
 
1960
+ ##### `addPackageManagerToDevEngines`<sup>Optional</sup> <a name="addPackageManagerToDevEngines" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.addPackageManagerToDevEngines"></a>
1961
+
1962
+ ```typescript
1963
+ public readonly addPackageManagerToDevEngines: boolean;
1964
+ ```
1965
+
1966
+ - *Type:* boolean
1967
+ - *Default:* true
1968
+
1969
+ Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
1970
+
1971
+ ---
1972
+
2141
1973
  ##### `allowLibraryDependencies`<sup>Optional</sup> <a name="allowLibraryDependencies" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.allowLibraryDependencies"></a>
2142
1974
 
2143
1975
  ```typescript
@@ -2154,6 +1986,44 @@ for specifying these.
2154
1986
 
2155
1987
  ---
2156
1988
 
1989
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.allowScripts"></a>
1990
+
1991
+ ```typescript
1992
+ public readonly allowScripts: string[];
1993
+ ```
1994
+
1995
+ - *Type:* string[]
1996
+ - *Default:* all install scripts are allowed to run (package manager default)
1997
+
1998
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
1999
+
2000
+ These scripts can execute arbitrary code, making them a common
2001
+ supply-chain attack vector. Package managers are moving toward
2002
+ blocking them by default and requiring an explicit allowlist.
2003
+ Configuring `allowScripts` sets up that allowlist so scripts only run
2004
+ for the packages you have explicitly reviewed and trust.
2005
+
2006
+ Support for this setting depends on the configured `packageManager`:
2007
+
2008
+ - `NPM`: written to the native `allowScripts` field in `package.json`
2009
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
2010
+ - `BUN`: written to the native `trustedDependencies` field in
2011
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
2012
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
2013
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
2014
+ - `YARN2`, `YARN_BERRY`: written to the native
2015
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
2016
+ with `enableScripts: false` in `.yarnrc.yml` (see
2017
+ https://yarnpkg.com/features/security#postinstalls). If you set
2018
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
2019
+ is respected instead of being overridden.
2020
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
2021
+ mechanism to allowlist install scripts for specific dependencies.
2022
+ Setting this option with one of these package managers throws an
2023
+ error at synthesis time.
2024
+
2025
+ ---
2026
+
2157
2027
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.authorEmail"></a>
2158
2028
 
2159
2029
  ```typescript
@@ -2270,11 +2140,11 @@ added both to the `dependencies` section and `bundledDependencies` section of
2270
2140
  your `package.json`.
2271
2141
 
2272
2142
  The recommendation is to only specify the module name here (e.g.
2273
- `express`). This will behave similar to `yarn add` or `npm install` in the
2143
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2274
2144
  sense that it will add the module as a dependency to your `package.json`
2275
2145
  file with the latest version (`^`). You can specify semver requirements in
2276
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2277
- this will be what you `package.json` will eventually include.
2146
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2147
+ this will be what your `package.json` will eventually include.
2278
2148
 
2279
2149
  ---
2280
2150
 
@@ -2306,6 +2176,24 @@ This is required if publishing packages to, or installing scoped packages from A
2306
2176
 
2307
2177
  ---
2308
2178
 
2179
+ ##### `deleteOrphanedLockFiles`<sup>Optional</sup> <a name="deleteOrphanedLockFiles" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.deleteOrphanedLockFiles"></a>
2180
+
2181
+ ```typescript
2182
+ public readonly deleteOrphanedLockFiles: boolean;
2183
+ ```
2184
+
2185
+ - *Type:* boolean
2186
+ - *Default:* true
2187
+
2188
+ Automatically delete lockfiles from package managers that are not the active one.
2189
+
2190
+ Only triggered when the lockfile for the configured package
2191
+ manager already exists.
2192
+
2193
+ This is useful when migrating between package managers to avoid conflicts.
2194
+
2195
+ ---
2196
+
2309
2197
  ##### `deps`<sup>Optional</sup> <a name="deps" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.deps"></a>
2310
2198
 
2311
2199
  ```typescript
@@ -2318,11 +2206,11 @@ public readonly deps: string[];
2318
2206
  Runtime dependencies of this module.
2319
2207
 
2320
2208
  The recommendation is to only specify the module name here (e.g.
2321
- `express`). This will behave similar to `yarn add` or `npm install` in the
2209
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2322
2210
  sense that it will add the module as a dependency to your `package.json`
2323
2211
  file with the latest version (`^`). You can specify semver requirements in
2324
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2325
- this will be what you `package.json` will eventually include.
2212
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2213
+ this will be what your `package.json` will eventually include.
2326
2214
 
2327
2215
  ---
2328
2216
 
@@ -2364,11 +2252,11 @@ available in your build environment but will not be fetched when this
2364
2252
  module is consumed.
2365
2253
 
2366
2254
  The recommendation is to only specify the module name here (e.g.
2367
- `express`). This will behave similar to `yarn add` or `npm install` in the
2255
+ `express`). This will behave similar to `pnpm add` or `npm install` in the
2368
2256
  sense that it will add the module as a dependency to your `package.json`
2369
2257
  file with the latest version (`^`). You can specify semver requirements in
2370
- the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
2371
- this will be what you `package.json` will eventually include.
2258
+ the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
2259
+ this will be what your `package.json` will eventually include.
2372
2260
 
2373
2261
  ---
2374
2262
 
@@ -2379,6 +2267,24 @@ this will be what you `package.json` will eventually include.
2379
2267
  ```
2380
2268
 
2381
2269
 
2270
+ ##### `devEngines`<sup>Optional</sup> <a name="devEngines" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.devEngines"></a>
2271
+
2272
+ ```typescript
2273
+ public readonly devEngines: DevEngines;
2274
+ ```
2275
+
2276
+ - *Type:* projen.javascript.DevEngines
2277
+
2278
+ Configure the `devEngines` field in `package.json`.
2279
+
2280
+ The `devEngines.packageManager` field is automatically populated based on
2281
+ the resolved `packageManager` value. Any fields provided here are merged
2282
+ with the auto-populated `packageManager` entry.
2283
+
2284
+ > [https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines](https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines)
2285
+
2286
+ ---
2287
+
2382
2288
  ##### `entrypoint`<sup>Optional</sup> <a name="entrypoint" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.entrypoint"></a>
2383
2289
 
2384
2290
  ```typescript
@@ -2523,22 +2429,6 @@ which is using npm internally and supports provenance statements independently o
2523
2429
 
2524
2430
  ---
2525
2431
 
2526
- ##### ~~`npmRegistry`~~<sup>Optional</sup> <a name="npmRegistry" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.npmRegistry"></a>
2527
-
2528
- - *Deprecated:* use `npmRegistryUrl` instead
2529
-
2530
- ```typescript
2531
- public readonly npmRegistry: string;
2532
- ```
2533
-
2534
- - *Type:* string
2535
-
2536
- The host name of the npm registry to publish to.
2537
-
2538
- Cannot be set together with `npmRegistryUrl`.
2539
-
2540
- ---
2541
-
2542
2432
  ##### `npmRegistryUrl`<sup>Optional</sup> <a name="npmRegistryUrl" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.npmRegistryUrl"></a>
2543
2433
 
2544
2434
  ```typescript
@@ -2587,7 +2477,7 @@ public readonly packageManager: NodePackageManager;
2587
2477
  ```
2588
2478
 
2589
2479
  - *Type:* projen.javascript.NodePackageManager
2590
- - *Default:* NodePackageManager.YARN_CLASSIC
2480
+ - *Default:* Detected from the calling process or `YARN_CLASSIC` if detection fails.
2591
2481
 
2592
2482
  The Node Package Manager used to execute scripts.
2593
2483
 
@@ -2645,6 +2535,19 @@ test your module against the lowest peer version required.
2645
2535
 
2646
2536
  ---
2647
2537
 
2538
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.pnpmOptions"></a>
2539
+
2540
+ ```typescript
2541
+ public readonly pnpmOptions: PnpmOptions;
2542
+ ```
2543
+
2544
+ - *Type:* projen.javascript.PnpmOptions
2545
+ - *Default:* all default options
2546
+
2547
+ Options for pnpm.
2548
+
2549
+ ---
2550
+
2648
2551
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.pnpmVersion"></a>
2649
2552
 
2650
2553
  ```typescript
@@ -2652,7 +2555,7 @@ public readonly pnpmVersion: string;
2652
2555
  ```
2653
2556
 
2654
2557
  - *Type:* string
2655
- - *Default:* "9"
2558
+ - *Default:* "10.33.0"
2656
2559
 
2657
2560
  The version of PNPM to use if using PNPM as a package manager.
2658
2561
 
@@ -2697,25 +2600,6 @@ Options for privately hosted scoped packages.
2697
2600
 
2698
2601
  ---
2699
2602
 
2700
- ##### ~~`scripts`~~<sup>Optional</sup> <a name="scripts" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.scripts"></a>
2701
-
2702
- - *Deprecated:* use `project.addTask()` or `package.setScript()`
2703
-
2704
- ```typescript
2705
- public readonly scripts: {[ key: string ]: string};
2706
- ```
2707
-
2708
- - *Type:* {[ key: string ]: string}
2709
- - *Default:* {}
2710
-
2711
- npm scripts to include.
2712
-
2713
- If a script has the same name as a standard script,
2714
- the standard script will be overwritten.
2715
- Also adds the script as a task.
2716
-
2717
- ---
2718
-
2719
2603
  ##### `stability`<sup>Optional</sup> <a name="stability" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.stability"></a>
2720
2604
 
2721
2605
  ```typescript
@@ -2958,21 +2842,6 @@ on a per artifact basis.
2958
2842
 
2959
2843
  ---
2960
2844
 
2961
- ##### ~~`releaseEveryCommit`~~<sup>Optional</sup> <a name="releaseEveryCommit" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseEveryCommit"></a>
2962
-
2963
- - *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
2964
-
2965
- ```typescript
2966
- public readonly releaseEveryCommit: boolean;
2967
- ```
2968
-
2969
- - *Type:* boolean
2970
- - *Default:* true
2971
-
2972
- Automatically release new versions every commit to one of branches in `releaseBranches`.
2973
-
2974
- ---
2975
-
2976
2845
  ##### `releaseFailureIssue`<sup>Optional</sup> <a name="releaseFailureIssue" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseFailureIssue"></a>
2977
2846
 
2978
2847
  ```typescript
@@ -3001,21 +2870,6 @@ Only applies if `releaseFailureIssue` is true.
3001
2870
 
3002
2871
  ---
3003
2872
 
3004
- ##### ~~`releaseSchedule`~~<sup>Optional</sup> <a name="releaseSchedule" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseSchedule"></a>
3005
-
3006
- - *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
3007
-
3008
- ```typescript
3009
- public readonly releaseSchedule: string;
3010
- ```
3011
-
3012
- - *Type:* string
3013
- - *Default:* no scheduled releases
3014
-
3015
- CRON schedule to trigger new releases.
3016
-
3017
- ---
3018
-
3019
2873
  ##### `releaseTagPrefix`<sup>Optional</sup> <a name="releaseTagPrefix" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseTagPrefix"></a>
3020
2874
 
3021
2875
  ```typescript
@@ -3138,19 +2992,6 @@ Github Runner Group selection options.
3138
2992
 
3139
2993
  ---
3140
2994
 
3141
- ##### `defaultReleaseBranch`<sup>Required</sup> <a name="defaultReleaseBranch" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.defaultReleaseBranch"></a>
3142
-
3143
- ```typescript
3144
- public readonly defaultReleaseBranch: string;
3145
- ```
3146
-
3147
- - *Type:* string
3148
- - *Default:* "main"
3149
-
3150
- The name of the main release branch.
3151
-
3152
- ---
3153
-
3154
2995
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.artifactsDirectory"></a>
3155
2996
 
3156
2997
  ```typescript
@@ -3260,21 +3101,6 @@ Options for PR build workflow.
3260
3101
 
3261
3102
  ---
3262
3103
 
3263
- ##### ~~`buildWorkflowTriggers`~~<sup>Optional</sup> <a name="buildWorkflowTriggers" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.buildWorkflowTriggers"></a>
3264
-
3265
- - *Deprecated:* - Use `buildWorkflowOptions.workflowTriggers`
3266
-
3267
- ```typescript
3268
- public readonly buildWorkflowTriggers: Triggers;
3269
- ```
3270
-
3271
- - *Type:* projen.github.workflows.Triggers
3272
- - *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
3273
-
3274
- Build workflow triggers.
3275
-
3276
- ---
3277
-
3278
3104
  ##### `bundlerOptions`<sup>Optional</sup> <a name="bundlerOptions" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.bundlerOptions"></a>
3279
3105
 
3280
3106
  ```typescript
@@ -3354,6 +3180,19 @@ The copyright years to put in the LICENSE file.
3354
3180
 
3355
3181
  ---
3356
3182
 
3183
+ ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.defaultReleaseBranch"></a>
3184
+
3185
+ ```typescript
3186
+ public readonly defaultReleaseBranch: string;
3187
+ ```
3188
+
3189
+ - *Type:* string
3190
+ - *Default:* "main"
3191
+
3192
+ The name of the main release branch.
3193
+
3194
+ ---
3195
+
3357
3196
  ##### `dependabot`<sup>Optional</sup> <a name="dependabot" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.dependabot"></a>
3358
3197
 
3359
3198
  ```typescript
@@ -3448,41 +3287,6 @@ Jest options.
3448
3287
 
3449
3288
  ---
3450
3289
 
3451
- ##### ~~`mutableBuild`~~<sup>Optional</sup> <a name="mutableBuild" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.mutableBuild"></a>
3452
-
3453
- - *Deprecated:* - Use `buildWorkflowOptions.mutableBuild`
3454
-
3455
- ```typescript
3456
- public readonly mutableBuild: boolean;
3457
- ```
3458
-
3459
- - *Type:* boolean
3460
- - *Default:* true
3461
-
3462
- Automatically update files modified during builds to pull-request branches.
3463
-
3464
- This means
3465
- that any files synthesized by projen or e.g. test snapshots will always be up-to-date
3466
- before a PR is merged.
3467
-
3468
- Implies that PR builds do not have anti-tamper checks.
3469
-
3470
- ---
3471
-
3472
- ##### ~~`npmignore`~~<sup>Optional</sup> <a name="npmignore" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.npmignore"></a>
3473
-
3474
- - *Deprecated:* - use `project.addPackageIgnore`
3475
-
3476
- ```typescript
3477
- public readonly npmignore: string[];
3478
- ```
3479
-
3480
- - *Type:* string[]
3481
-
3482
- Additional entries to .npmignore.
3483
-
3484
- ---
3485
-
3486
3290
  ##### `npmignoreEnabled`<sup>Optional</sup> <a name="npmignoreEnabled" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.npmignoreEnabled"></a>
3487
3291
 
3488
3292
  ```typescript
@@ -3651,21 +3455,6 @@ Automatically release to npm when new versions are introduced.
3651
3455
 
3652
3456
  ---
3653
3457
 
3654
- ##### ~~`releaseWorkflow`~~<sup>Optional</sup> <a name="releaseWorkflow" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.releaseWorkflow"></a>
3655
-
3656
- - *Deprecated:* see `release`.
3657
-
3658
- ```typescript
3659
- public readonly releaseWorkflow: boolean;
3660
- ```
3661
-
3662
- - *Type:* boolean
3663
- - *Default:* true if not a subproject
3664
-
3665
- DEPRECATED: renamed to `release`.
3666
-
3667
- ---
3668
-
3669
3458
  ##### `workflowBootstrapSteps`<sup>Optional</sup> <a name="workflowBootstrapSteps" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.workflowBootstrapSteps"></a>
3670
3459
 
3671
3460
  ```typescript
@@ -3742,7 +3531,7 @@ public readonly disableTsconfigDev: boolean;
3742
3531
  - *Type:* boolean
3743
3532
  - *Default:* false
3744
3533
 
3745
- Do not generate a `tsconfig.dev.json` file.
3534
+ Do not generate a development tsconfig file.
3746
3535
 
3747
3536
  ---
3748
3537
 
@@ -3849,6 +3638,22 @@ Options for .projenrc.ts.
3849
3638
 
3850
3639
  ---
3851
3640
 
3641
+ ##### `runner`<sup>Optional</sup> <a name="runner" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.runner"></a>
3642
+
3643
+ ```typescript
3644
+ public readonly runner: TypeScriptRunner;
3645
+ ```
3646
+
3647
+ - *Type:* projen.typescript.TypeScriptRunner
3648
+ - *Default:* TypeScriptRunner.tsNode()
3649
+
3650
+ The TypeScript runner to use for executing TypeScript files.
3651
+
3652
+ This is a project-level setting that components (e.g. projenrc) will
3653
+ use as their default runner.
3654
+
3655
+ ---
3656
+
3852
3657
  ##### `sampleCode`<sup>Optional</sup> <a name="sampleCode" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.sampleCode"></a>
3853
3658
 
3854
3659
  ```typescript
@@ -3926,9 +3731,13 @@ public readonly tsconfigDevFile: string;
3926
3731
  ```
3927
3732
 
3928
3733
  - *Type:* string
3929
- - *Default:* "tsconfig.dev.json"
3734
+ - *Default:* "{testdir}/tsconfig.json"
3930
3735
 
3931
- The name of the development tsconfig.json file.
3736
+ The name (and path) of the development tsconfig file.
3737
+
3738
+ By default this lives inside the test directory (e.g. `test/tsconfig.json`)
3739
+ so that the TypeScript language service resolves it as the nearest config
3740
+ for test files.
3932
3741
 
3933
3742
  ---
3934
3743
 
@@ -4054,18 +3863,6 @@ File path for generated docs.
4054
3863
 
4055
3864
  ---
4056
3865
 
4057
- ##### ~~`dotnet`~~<sup>Optional</sup> <a name="dotnet" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.dotnet"></a>
4058
-
4059
- - *Deprecated:* use `publishToNuget`
4060
-
4061
- ```typescript
4062
- public readonly dotnet: JsiiDotNetTarget;
4063
- ```
4064
-
4065
- - *Type:* projen.cdk.JsiiDotNetTarget
4066
-
4067
- ---
4068
-
4069
3866
  ##### `excludeTypescript`<sup>Optional</sup> <a name="excludeTypescript" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.excludeTypescript"></a>
4070
3867
 
4071
3868
  ```typescript
@@ -4091,7 +3888,7 @@ public readonly jsiiVersion: string;
4091
3888
  ```
4092
3889
 
4093
3890
  - *Type:* string
4094
- - *Default:* "~5.8.0"
3891
+ - *Default:* "~5.9.0"
4095
3892
 
4096
3893
  Version of the jsii compiler to use.
4097
3894
 
@@ -4156,26 +3953,32 @@ Publish to pypi.
4156
3953
 
4157
3954
  ---
4158
3955
 
4159
- ##### ~~`python`~~<sup>Optional</sup> <a name="python" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.python"></a>
4160
-
4161
- - *Deprecated:* use `publishToPyPi`
3956
+ ##### `rootdir`<sup>Optional</sup> <a name="rootdir" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.rootdir"></a>
4162
3957
 
4163
3958
  ```typescript
4164
- public readonly python: JsiiPythonTarget;
3959
+ public readonly rootdir: string;
4165
3960
  ```
4166
3961
 
4167
- - *Type:* projen.cdk.JsiiPythonTarget
3962
+ - *Type:* string
3963
+ - *Default:* "."
4168
3964
 
4169
3965
  ---
4170
3966
 
4171
- ##### `rootdir`<sup>Optional</sup> <a name="rootdir" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.rootdir"></a>
3967
+ ##### `validateTsconfig`<sup>Optional</sup> <a name="validateTsconfig" id="@cdktn/provider-project.CdktnProviderProjectOptions.property.validateTsconfig"></a>
4172
3968
 
4173
3969
  ```typescript
4174
- public readonly rootdir: string;
3970
+ public readonly validateTsconfig: ValidateTsconfig;
4175
3971
  ```
4176
3972
 
4177
- - *Type:* string
4178
- - *Default:* "."
3973
+ - *Type:* projen.cdk.ValidateTsconfig
3974
+ - *Default:* ValidateTsconfig.STRICT
3975
+
3976
+ Level of tsconfig validation jsii should perform on the user-provided tsconfig.
3977
+
3978
+ Only relevant when the project synthesizes its own tsconfig
3979
+ (i.e. `disableTsconfig` is not set on the TypeScriptProject).
3980
+
3981
+ > [https://aws.github.io/jsii/user-guides/lib-author/configuration/#validatetsconfig](https://aws.github.io/jsii/user-guides/lib-author/configuration/#validatetsconfig)
4179
3982
 
4180
3983
  ---
4181
3984
 
@@ -4358,8 +4161,11 @@ public readonly pypiTrustedPublishing: boolean;
4358
4161
 
4359
4162
  Use trusted publishing for publishing to pypi.org Needs to be pre-configured on PyPI to work.
4360
4163
 
4361
- When enabled, the `release_pypi` job is moved to a GitHub-hosted runner,
4362
- since PyPI OIDC trust is not supported on the self-hosted/Depot runners.
4164
+ The `release_pypi` job keeps whatever runner the project is configured for.
4165
+ PyPI, unlike npm, does not restrict trusted publishing to GitHub-hosted
4166
+ runners -- trust is bound to the workflow ref, and the OIDC token is minted
4167
+ from ACTIONS_ID_TOKEN_REQUEST_URL, which is available on any runner with
4168
+ `id-token: write`.
4363
4169
 
4364
4170
  > [https://docs.pypi.org/trusted-publishers/](https://docs.pypi.org/trusted-publishers/)
4365
4171