cdklabs-projen-project-types 0.6.6 → 0.6.8

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
@@ -253,8 +253,10 @@ Synthesize all project files into `outdir`.
253
253
  2. Delete all generated files
254
254
  3. Synthesize all subprojects
255
255
  4. Synthesize all components of this project
256
- 5. Call "postSynthesize()" for all components of this project
257
- 6. Call "this.postSynthesize()"
256
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
257
+ 6. Call "postSynthesize()" for all components of this project
258
+ 7. Call "this.postSynthesize()"
259
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
258
260
 
259
261
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdkConstructLibrary.tryFindFile"></a>
260
262
 
@@ -932,7 +934,9 @@ the project is being ejected.
932
934
 
933
935
  ---
934
936
 
935
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkConstructLibrary.property.initProject"></a>
937
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkConstructLibrary.property.initProject"></a>
938
+
939
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
936
940
 
937
941
  ```typescript
938
942
  public readonly initProject: InitProject;
@@ -1677,8 +1681,10 @@ Synthesize all project files into `outdir`.
1677
1681
  2. Delete all generated files
1678
1682
  3. Synthesize all subprojects
1679
1683
  4. Synthesize all components of this project
1680
- 5. Call "postSynthesize()" for all components of this project
1681
- 6. Call "this.postSynthesize()"
1684
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
1685
+ 6. Call "postSynthesize()" for all components of this project
1686
+ 7. Call "this.postSynthesize()"
1687
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
1682
1688
 
1683
1689
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdkJsiiProject.tryFindFile"></a>
1684
1690
 
@@ -2354,7 +2360,9 @@ the project is being ejected.
2354
2360
 
2355
2361
  ---
2356
2362
 
2357
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkJsiiProject.property.initProject"></a>
2363
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkJsiiProject.property.initProject"></a>
2364
+
2365
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
2358
2366
 
2359
2367
  ```typescript
2360
2368
  public readonly initProject: InitProject;
@@ -3077,8 +3085,10 @@ Synthesize all project files into `outdir`.
3077
3085
  2. Delete all generated files
3078
3086
  3. Synthesize all subprojects
3079
3087
  4. Synthesize all components of this project
3080
- 5. Call "postSynthesize()" for all components of this project
3081
- 6. Call "this.postSynthesize()"
3088
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
3089
+ 6. Call "postSynthesize()" for all components of this project
3090
+ 7. Call "this.postSynthesize()"
3091
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
3082
3092
 
3083
3093
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdklabsConstructLibrary.tryFindFile"></a>
3084
3094
 
@@ -3756,7 +3766,9 @@ the project is being ejected.
3756
3766
 
3757
3767
  ---
3758
3768
 
3759
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsConstructLibrary.property.initProject"></a>
3769
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsConstructLibrary.property.initProject"></a>
3770
+
3771
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
3760
3772
 
3761
3773
  ```typescript
3762
3774
  public readonly initProject: InitProject;
@@ -4501,8 +4513,10 @@ Synthesize all project files into `outdir`.
4501
4513
  2. Delete all generated files
4502
4514
  3. Synthesize all subprojects
4503
4515
  4. Synthesize all components of this project
4504
- 5. Call "postSynthesize()" for all components of this project
4505
- 6. Call "this.postSynthesize()"
4516
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
4517
+ 6. Call "postSynthesize()" for all components of this project
4518
+ 7. Call "this.postSynthesize()"
4519
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
4506
4520
 
4507
4521
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdklabsJsiiProject.tryFindFile"></a>
4508
4522
 
@@ -5178,7 +5192,9 @@ the project is being ejected.
5178
5192
 
5179
5193
  ---
5180
5194
 
5181
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsJsiiProject.property.initProject"></a>
5195
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsJsiiProject.property.initProject"></a>
5196
+
5197
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
5182
5198
 
5183
5199
  ```typescript
5184
5200
  public readonly initProject: InitProject;
@@ -5900,8 +5916,10 @@ Synthesize all project files into `outdir`.
5900
5916
  2. Delete all generated files
5901
5917
  3. Synthesize all subprojects
5902
5918
  4. Synthesize all components of this project
5903
- 5. Call "postSynthesize()" for all components of this project
5904
- 6. Call "this.postSynthesize()"
5919
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
5920
+ 6. Call "postSynthesize()" for all components of this project
5921
+ 7. Call "this.postSynthesize()"
5922
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
5905
5923
 
5906
5924
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepo.tryFindFile"></a>
5907
5925
 
@@ -6610,7 +6628,9 @@ the project is being ejected.
6610
6628
 
6611
6629
  ---
6612
6630
 
6613
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepo.property.initProject"></a>
6631
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepo.property.initProject"></a>
6632
+
6633
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
6614
6634
 
6615
6635
  ```typescript
6616
6636
  public readonly initProject: InitProject;
@@ -7357,8 +7377,10 @@ Synthesize all project files into `outdir`.
7357
7377
  2. Delete all generated files
7358
7378
  3. Synthesize all subprojects
7359
7379
  4. Synthesize all components of this project
7360
- 5. Call "postSynthesize()" for all components of this project
7361
- 6. Call "this.postSynthesize()"
7380
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
7381
+ 6. Call "postSynthesize()" for all components of this project
7382
+ 7. Call "this.postSynthesize()"
7383
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
7362
7384
 
7363
7385
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdklabsTypeScriptProject.tryFindFile"></a>
7364
7386
 
@@ -8034,7 +8056,9 @@ the project is being ejected.
8034
8056
 
8035
8057
  ---
8036
8058
 
8037
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsTypeScriptProject.property.initProject"></a>
8059
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdklabsTypeScriptProject.property.initProject"></a>
8060
+
8061
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
8038
8062
 
8039
8063
  ```typescript
8040
8064
  public readonly initProject: InitProject;
@@ -8757,8 +8781,10 @@ Synthesize all project files into `outdir`.
8757
8781
  2. Delete all generated files
8758
8782
  3. Synthesize all subprojects
8759
8783
  4. Synthesize all components of this project
8760
- 5. Call "postSynthesize()" for all components of this project
8761
- 6. Call "this.postSynthesize()"
8784
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
8785
+ 6. Call "postSynthesize()" for all components of this project
8786
+ 7. Call "this.postSynthesize()"
8787
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
8762
8788
 
8763
8789
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.CdkTypeScriptProject.tryFindFile"></a>
8764
8790
 
@@ -9434,7 +9460,9 @@ the project is being ejected.
9434
9460
 
9435
9461
  ---
9436
9462
 
9437
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkTypeScriptProject.property.initProject"></a>
9463
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.CdkTypeScriptProject.property.initProject"></a>
9464
+
9465
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
9438
9466
 
9439
9467
  ```typescript
9440
9468
  public readonly initProject: InitProject;
@@ -9941,8 +9969,10 @@ new CheckGhaExpressions(project: IConstruct)
9941
9969
  | --- | --- |
9942
9970
  | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.toString">toString</a></code> | Returns a string representation of this construct. |
9943
9971
  | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.with">with</a></code> | Applies one or more mixins to this construct. |
9972
+ | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
9944
9973
  | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
9945
9974
  | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
9975
+ | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
9946
9976
  | <code><a href="#cdklabs-projen-project-types.CheckGhaExpressions.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
9947
9977
 
9948
9978
  ---
@@ -9976,6 +10006,27 @@ The mixins to apply.
9976
10006
 
9977
10007
  ---
9978
10008
 
10009
+ ##### `postProjectCreation` <a name="postProjectCreation" id="cdklabs-projen-project-types.CheckGhaExpressions.postProjectCreation"></a>
10010
+
10011
+ ```typescript
10012
+ public postProjectCreation(initProject: InitProject): void
10013
+ ```
10014
+
10015
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
10016
+
10017
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
10018
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
10019
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
10020
+ feedback on their new project. Order across components is not guaranteed.
10021
+
10022
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.CheckGhaExpressions.postProjectCreation.parameter.initProject"></a>
10023
+
10024
+ - *Type:* projen.InitProject
10025
+
10026
+ Details about how the project was created, e.g. its type and the original CLI args.
10027
+
10028
+ ---
10029
+
9979
10030
  ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.CheckGhaExpressions.postSynthesize"></a>
9980
10031
 
9981
10032
  ```typescript
@@ -9994,6 +10045,25 @@ public preSynthesize(): void
9994
10045
 
9995
10046
  Called before synthesis.
9996
10047
 
10048
+ ##### `projectCreation` <a name="projectCreation" id="cdklabs-projen-project-types.CheckGhaExpressions.projectCreation"></a>
10049
+
10050
+ ```typescript
10051
+ public projectCreation(initProject: InitProject): void
10052
+ ```
10053
+
10054
+ Called once, right after `synthesize()`, only when the project is created for the first time.
10055
+
10056
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
10057
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
10058
+
10059
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.CheckGhaExpressions.projectCreation.parameter.initProject"></a>
10060
+
10061
+ - *Type:* projen.InitProject
10062
+
10063
+ Details about how the project was created, e.g. its type and the original CLI args.
10064
+
10065
+ ---
10066
+
9997
10067
  ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.CheckGhaExpressions.synthesize"></a>
9998
10068
 
9999
10069
  ```typescript
@@ -10126,8 +10196,10 @@ new yarn.Constraints(project: Monorepo, options: ConstraintsOptions)
10126
10196
  | --- | --- |
10127
10197
  | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.toString">toString</a></code> | Returns a string representation of this construct. |
10128
10198
  | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.with">with</a></code> | Applies one or more mixins to this construct. |
10199
+ | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
10129
10200
  | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
10130
10201
  | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
10202
+ | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
10131
10203
  | <code><a href="#cdklabs-projen-project-types.yarn.Constraints.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
10132
10204
 
10133
10205
  ---
@@ -10161,6 +10233,27 @@ The mixins to apply.
10161
10233
 
10162
10234
  ---
10163
10235
 
10236
+ ##### `postProjectCreation` <a name="postProjectCreation" id="cdklabs-projen-project-types.yarn.Constraints.postProjectCreation"></a>
10237
+
10238
+ ```typescript
10239
+ public postProjectCreation(initProject: InitProject): void
10240
+ ```
10241
+
10242
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
10243
+
10244
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
10245
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
10246
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
10247
+ feedback on their new project. Order across components is not guaranteed.
10248
+
10249
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.Constraints.postProjectCreation.parameter.initProject"></a>
10250
+
10251
+ - *Type:* projen.InitProject
10252
+
10253
+ Details about how the project was created, e.g. its type and the original CLI args.
10254
+
10255
+ ---
10256
+
10164
10257
  ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.yarn.Constraints.postSynthesize"></a>
10165
10258
 
10166
10259
  ```typescript
@@ -10179,6 +10272,25 @@ public preSynthesize(): void
10179
10272
 
10180
10273
  Called before synthesis.
10181
10274
 
10275
+ ##### `projectCreation` <a name="projectCreation" id="cdklabs-projen-project-types.yarn.Constraints.projectCreation"></a>
10276
+
10277
+ ```typescript
10278
+ public projectCreation(initProject: InitProject): void
10279
+ ```
10280
+
10281
+ Called once, right after `synthesize()`, only when the project is created for the first time.
10282
+
10283
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
10284
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
10285
+
10286
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.Constraints.projectCreation.parameter.initProject"></a>
10287
+
10288
+ - *Type:* projen.InitProject
10289
+
10290
+ Details about how the project was created, e.g. its type and the original CLI args.
10291
+
10292
+ ---
10293
+
10182
10294
  ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.yarn.Constraints.synthesize"></a>
10183
10295
 
10184
10296
  ```typescript
@@ -10526,8 +10638,10 @@ Synthesize all project files into `outdir`.
10526
10638
  2. Delete all generated files
10527
10639
  3. Synthesize all subprojects
10528
10640
  4. Synthesize all components of this project
10529
- 5. Call "postSynthesize()" for all components of this project
10530
- 6. Call "this.postSynthesize()"
10641
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
10642
+ 6. Call "postSynthesize()" for all components of this project
10643
+ 7. Call "this.postSynthesize()"
10644
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
10531
10645
 
10532
10646
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.yarn.Monorepo.tryFindFile"></a>
10533
10647
 
@@ -11236,7 +11350,9 @@ the project is being ejected.
11236
11350
 
11237
11351
  ---
11238
11352
 
11239
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.Monorepo.property.initProject"></a>
11353
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.Monorepo.property.initProject"></a>
11354
+
11355
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
11240
11356
 
11241
11357
  ```typescript
11242
11358
  public readonly initProject: InitProject;
@@ -11767,8 +11883,10 @@ new yarn.MonorepoRelease(project: Project, options?: MonorepoReleaseOptions)
11767
11883
  | --- | --- |
11768
11884
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.toString">toString</a></code> | Returns a string representation of this construct. |
11769
11885
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.with">with</a></code> | Applies one or more mixins to this construct. |
11886
+ | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
11770
11887
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
11771
11888
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
11889
+ | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
11772
11890
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
11773
11891
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.addWorkspace">addWorkspace</a></code> | *No description.* |
11774
11892
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoRelease.workspaceRelease">workspaceRelease</a></code> | *No description.* |
@@ -11804,6 +11922,27 @@ The mixins to apply.
11804
11922
 
11805
11923
  ---
11806
11924
 
11925
+ ##### `postProjectCreation` <a name="postProjectCreation" id="cdklabs-projen-project-types.yarn.MonorepoRelease.postProjectCreation"></a>
11926
+
11927
+ ```typescript
11928
+ public postProjectCreation(initProject: InitProject): void
11929
+ ```
11930
+
11931
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
11932
+
11933
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
11934
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
11935
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
11936
+ feedback on their new project. Order across components is not guaranteed.
11937
+
11938
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.MonorepoRelease.postProjectCreation.parameter.initProject"></a>
11939
+
11940
+ - *Type:* projen.InitProject
11941
+
11942
+ Details about how the project was created, e.g. its type and the original CLI args.
11943
+
11944
+ ---
11945
+
11807
11946
  ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.yarn.MonorepoRelease.postSynthesize"></a>
11808
11947
 
11809
11948
  ```typescript
@@ -11822,6 +11961,25 @@ public preSynthesize(): void
11822
11961
 
11823
11962
  Called before synthesis.
11824
11963
 
11964
+ ##### `projectCreation` <a name="projectCreation" id="cdklabs-projen-project-types.yarn.MonorepoRelease.projectCreation"></a>
11965
+
11966
+ ```typescript
11967
+ public projectCreation(initProject: InitProject): void
11968
+ ```
11969
+
11970
+ Called once, right after `synthesize()`, only when the project is created for the first time.
11971
+
11972
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
11973
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
11974
+
11975
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.MonorepoRelease.projectCreation.parameter.initProject"></a>
11976
+
11977
+ - *Type:* projen.InitProject
11978
+
11979
+ Details about how the project was created, e.g. its type and the original CLI args.
11980
+
11981
+ ---
11982
+
11825
11983
  ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.yarn.MonorepoRelease.synthesize"></a>
11826
11984
 
11827
11985
  ```typescript
@@ -12007,8 +12165,10 @@ new Rosetta(project: TypeScriptProject, options?: RosettaOptions)
12007
12165
  | --- | --- |
12008
12166
  | <code><a href="#cdklabs-projen-project-types.Rosetta.toString">toString</a></code> | Returns a string representation of this construct. |
12009
12167
  | <code><a href="#cdklabs-projen-project-types.Rosetta.with">with</a></code> | Applies one or more mixins to this construct. |
12168
+ | <code><a href="#cdklabs-projen-project-types.Rosetta.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
12010
12169
  | <code><a href="#cdklabs-projen-project-types.Rosetta.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
12011
12170
  | <code><a href="#cdklabs-projen-project-types.Rosetta.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
12171
+ | <code><a href="#cdklabs-projen-project-types.Rosetta.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
12012
12172
  | <code><a href="#cdklabs-projen-project-types.Rosetta.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
12013
12173
 
12014
12174
  ---
@@ -12042,6 +12202,27 @@ The mixins to apply.
12042
12202
 
12043
12203
  ---
12044
12204
 
12205
+ ##### `postProjectCreation` <a name="postProjectCreation" id="cdklabs-projen-project-types.Rosetta.postProjectCreation"></a>
12206
+
12207
+ ```typescript
12208
+ public postProjectCreation(initProject: InitProject): void
12209
+ ```
12210
+
12211
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
12212
+
12213
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
12214
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
12215
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
12216
+ feedback on their new project. Order across components is not guaranteed.
12217
+
12218
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.Rosetta.postProjectCreation.parameter.initProject"></a>
12219
+
12220
+ - *Type:* projen.InitProject
12221
+
12222
+ Details about how the project was created, e.g. its type and the original CLI args.
12223
+
12224
+ ---
12225
+
12045
12226
  ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.Rosetta.postSynthesize"></a>
12046
12227
 
12047
12228
  ```typescript
@@ -12060,6 +12241,25 @@ public preSynthesize(): void
12060
12241
 
12061
12242
  Called before synthesis.
12062
12243
 
12244
+ ##### `projectCreation` <a name="projectCreation" id="cdklabs-projen-project-types.Rosetta.projectCreation"></a>
12245
+
12246
+ ```typescript
12247
+ public projectCreation(initProject: InitProject): void
12248
+ ```
12249
+
12250
+ Called once, right after `synthesize()`, only when the project is created for the first time.
12251
+
12252
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
12253
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
12254
+
12255
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.Rosetta.projectCreation.parameter.initProject"></a>
12256
+
12257
+ - *Type:* projen.InitProject
12258
+
12259
+ Details about how the project was created, e.g. its type and the original CLI args.
12260
+
12261
+ ---
12262
+
12063
12263
  ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.Rosetta.synthesize"></a>
12064
12264
 
12065
12265
  ```typescript
@@ -12413,8 +12613,10 @@ Synthesize all project files into `outdir`.
12413
12613
  2. Delete all generated files
12414
12614
  3. Synthesize all subprojects
12415
12615
  4. Synthesize all components of this project
12416
- 5. Call "postSynthesize()" for all components of this project
12417
- 6. Call "this.postSynthesize()"
12616
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
12617
+ 6. Call "postSynthesize()" for all components of this project
12618
+ 7. Call "this.postSynthesize()"
12619
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
12418
12620
 
12419
12621
  ##### `tryFindFile` <a name="tryFindFile" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspace.tryFindFile"></a>
12420
12622
 
@@ -13146,7 +13348,9 @@ the project is being ejected.
13146
13348
 
13147
13349
  ---
13148
13350
 
13149
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspace.property.initProject"></a>
13351
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspace.property.initProject"></a>
13352
+
13353
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
13150
13354
 
13151
13355
  ```typescript
13152
13356
  public readonly initProject: InitProject;
@@ -13687,8 +13891,10 @@ new yarn.WorkspaceRelease(project: TypeScriptWorkspace, options: WorkspaceReleas
13687
13891
  | --- | --- |
13688
13892
  | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.toString">toString</a></code> | Returns a string representation of this construct. |
13689
13893
  | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.with">with</a></code> | Applies one or more mixins to this construct. |
13894
+ | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
13690
13895
  | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
13691
13896
  | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
13897
+ | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
13692
13898
  | <code><a href="#cdklabs-projen-project-types.yarn.WorkspaceRelease.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
13693
13899
 
13694
13900
  ---
@@ -13722,6 +13928,27 @@ The mixins to apply.
13722
13928
 
13723
13929
  ---
13724
13930
 
13931
+ ##### `postProjectCreation` <a name="postProjectCreation" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.postProjectCreation"></a>
13932
+
13933
+ ```typescript
13934
+ public postProjectCreation(initProject: InitProject): void
13935
+ ```
13936
+
13937
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
13938
+
13939
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
13940
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
13941
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
13942
+ feedback on their new project. Order across components is not guaranteed.
13943
+
13944
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.postProjectCreation.parameter.initProject"></a>
13945
+
13946
+ - *Type:* projen.InitProject
13947
+
13948
+ Details about how the project was created, e.g. its type and the original CLI args.
13949
+
13950
+ ---
13951
+
13725
13952
  ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.postSynthesize"></a>
13726
13953
 
13727
13954
  ```typescript
@@ -13740,6 +13967,25 @@ public preSynthesize(): void
13740
13967
 
13741
13968
  Called before synthesis.
13742
13969
 
13970
+ ##### `projectCreation` <a name="projectCreation" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.projectCreation"></a>
13971
+
13972
+ ```typescript
13973
+ public projectCreation(initProject: InitProject): void
13974
+ ```
13975
+
13976
+ Called once, right after `synthesize()`, only when the project is created for the first time.
13977
+
13978
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
13979
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
13980
+
13981
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.projectCreation.parameter.initProject"></a>
13982
+
13983
+ - *Type:* projen.InitProject
13984
+
13985
+ Details about how the project was created, e.g. its type and the original CLI args.
13986
+
13987
+ ---
13988
+
13743
13989
  ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.yarn.WorkspaceRelease.synthesize"></a>
13744
13990
 
13745
13991
  ```typescript
@@ -14042,6 +14288,7 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
14042
14288
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
14043
14289
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
14044
14290
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
14291
+ | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.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. |
14045
14292
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
14046
14293
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
14047
14294
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -14146,6 +14393,7 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
14146
14393
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
14147
14394
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
14148
14395
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
14396
+ | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
14149
14397
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
14150
14398
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
14151
14399
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -14304,6 +14552,44 @@ for specifying these.
14304
14552
 
14305
14553
  ---
14306
14554
 
14555
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.allowScripts"></a>
14556
+
14557
+ ```typescript
14558
+ public readonly allowScripts: string[];
14559
+ ```
14560
+
14561
+ - *Type:* string[]
14562
+ - *Default:* all install scripts are allowed to run (package manager default)
14563
+
14564
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
14565
+
14566
+ These scripts can execute arbitrary code, making them a common
14567
+ supply-chain attack vector. Package managers are moving toward
14568
+ blocking them by default and requiring an explicit allowlist.
14569
+ Configuring `allowScripts` sets up that allowlist so scripts only run
14570
+ for the packages you have explicitly reviewed and trust.
14571
+
14572
+ Support for this setting depends on the configured `packageManager`:
14573
+
14574
+ - `NPM`: written to the native `allowScripts` field in `package.json`
14575
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
14576
+ - `BUN`: written to the native `trustedDependencies` field in
14577
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
14578
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
14579
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
14580
+ - `YARN2`, `YARN_BERRY`: written to the native
14581
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
14582
+ with `enableScripts: false` in `.yarnrc.yml` (see
14583
+ https://yarnpkg.com/features/security#postinstalls). If you set
14584
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
14585
+ is respected instead of being overridden.
14586
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
14587
+ mechanism to allowlist install scripts for specific dependencies.
14588
+ Setting this option with one of these package managers throws an
14589
+ error at synthesis time.
14590
+
14591
+ ---
14592
+
14307
14593
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.artifactsDirectory"></a>
14308
14594
 
14309
14595
  ```typescript
@@ -15803,6 +16089,19 @@ test your module against the lowest peer version required.
15803
16089
 
15804
16090
  ---
15805
16091
 
16092
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.pnpmOptions"></a>
16093
+
16094
+ ```typescript
16095
+ public readonly pnpmOptions: PnpmOptions;
16096
+ ```
16097
+
16098
+ - *Type:* projen.javascript.PnpmOptions
16099
+ - *Default:* all default options
16100
+
16101
+ Options for pnpm.
16102
+
16103
+ ---
16104
+
15806
16105
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.pnpmVersion"></a>
15807
16106
 
15808
16107
  ```typescript
@@ -16830,6 +17129,7 @@ const cdkJsiiProjectOptions: CdkJsiiProjectOptions = { ... }
16830
17129
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
16831
17130
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
16832
17131
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
17132
+ | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.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. |
16833
17133
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
16834
17134
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
16835
17135
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -16924,6 +17224,7 @@ const cdkJsiiProjectOptions: CdkJsiiProjectOptions = { ... }
16924
17224
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
16925
17225
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
16926
17226
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
17227
+ | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
16927
17228
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
16928
17229
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
16929
17230
  | <code><a href="#cdklabs-projen-project-types.CdkJsiiProjectOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -17067,6 +17368,44 @@ for specifying these.
17067
17368
 
17068
17369
  ---
17069
17370
 
17371
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdkJsiiProjectOptions.property.allowScripts"></a>
17372
+
17373
+ ```typescript
17374
+ public readonly allowScripts: string[];
17375
+ ```
17376
+
17377
+ - *Type:* string[]
17378
+ - *Default:* all install scripts are allowed to run (package manager default)
17379
+
17380
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
17381
+
17382
+ These scripts can execute arbitrary code, making them a common
17383
+ supply-chain attack vector. Package managers are moving toward
17384
+ blocking them by default and requiring an explicit allowlist.
17385
+ Configuring `allowScripts` sets up that allowlist so scripts only run
17386
+ for the packages you have explicitly reviewed and trust.
17387
+
17388
+ Support for this setting depends on the configured `packageManager`:
17389
+
17390
+ - `NPM`: written to the native `allowScripts` field in `package.json`
17391
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
17392
+ - `BUN`: written to the native `trustedDependencies` field in
17393
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
17394
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
17395
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
17396
+ - `YARN2`, `YARN_BERRY`: written to the native
17397
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
17398
+ with `enableScripts: false` in `.yarnrc.yml` (see
17399
+ https://yarnpkg.com/features/security#postinstalls). If you set
17400
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
17401
+ is respected instead of being overridden.
17402
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
17403
+ mechanism to allowlist install scripts for specific dependencies.
17404
+ Setting this option with one of these package managers throws an
17405
+ error at synthesis time.
17406
+
17407
+ ---
17408
+
17070
17409
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.CdkJsiiProjectOptions.property.artifactsDirectory"></a>
17071
17410
 
17072
17411
  ```typescript
@@ -18428,6 +18767,19 @@ test your module against the lowest peer version required.
18428
18767
 
18429
18768
  ---
18430
18769
 
18770
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdkJsiiProjectOptions.property.pnpmOptions"></a>
18771
+
18772
+ ```typescript
18773
+ public readonly pnpmOptions: PnpmOptions;
18774
+ ```
18775
+
18776
+ - *Type:* projen.javascript.PnpmOptions
18777
+ - *Default:* all default options
18778
+
18779
+ Options for pnpm.
18780
+
18781
+ ---
18782
+
18431
18783
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdkJsiiProjectOptions.property.pnpmVersion"></a>
18432
18784
 
18433
18785
  ```typescript
@@ -19431,6 +19783,7 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
19431
19783
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
19432
19784
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
19433
19785
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
19786
+ | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.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. |
19434
19787
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
19435
19788
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
19436
19789
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -19535,6 +19888,7 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
19535
19888
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
19536
19889
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
19537
19890
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
19891
+ | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
19538
19892
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
19539
19893
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
19540
19894
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -19695,6 +20049,44 @@ for specifying these.
19695
20049
 
19696
20050
  ---
19697
20051
 
20052
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.allowScripts"></a>
20053
+
20054
+ ```typescript
20055
+ public readonly allowScripts: string[];
20056
+ ```
20057
+
20058
+ - *Type:* string[]
20059
+ - *Default:* all install scripts are allowed to run (package manager default)
20060
+
20061
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
20062
+
20063
+ These scripts can execute arbitrary code, making them a common
20064
+ supply-chain attack vector. Package managers are moving toward
20065
+ blocking them by default and requiring an explicit allowlist.
20066
+ Configuring `allowScripts` sets up that allowlist so scripts only run
20067
+ for the packages you have explicitly reviewed and trust.
20068
+
20069
+ Support for this setting depends on the configured `packageManager`:
20070
+
20071
+ - `NPM`: written to the native `allowScripts` field in `package.json`
20072
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
20073
+ - `BUN`: written to the native `trustedDependencies` field in
20074
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
20075
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
20076
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
20077
+ - `YARN2`, `YARN_BERRY`: written to the native
20078
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
20079
+ with `enableScripts: false` in `.yarnrc.yml` (see
20080
+ https://yarnpkg.com/features/security#postinstalls). If you set
20081
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
20082
+ is respected instead of being overridden.
20083
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
20084
+ mechanism to allowlist install scripts for specific dependencies.
20085
+ Setting this option with one of these package managers throws an
20086
+ error at synthesis time.
20087
+
20088
+ ---
20089
+
19698
20090
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.artifactsDirectory"></a>
19699
20091
 
19700
20092
  ```typescript
@@ -21194,6 +21586,19 @@ test your module against the lowest peer version required.
21194
21586
 
21195
21587
  ---
21196
21588
 
21589
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.pnpmOptions"></a>
21590
+
21591
+ ```typescript
21592
+ public readonly pnpmOptions: PnpmOptions;
21593
+ ```
21594
+
21595
+ - *Type:* projen.javascript.PnpmOptions
21596
+ - *Default:* all default options
21597
+
21598
+ Options for pnpm.
21599
+
21600
+ ---
21601
+
21197
21602
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.pnpmVersion"></a>
21198
21603
 
21199
21604
  ```typescript
@@ -22258,6 +22663,7 @@ const cdklabsJsiiProjectOptions: CdklabsJsiiProjectOptions = { ... }
22258
22663
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
22259
22664
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
22260
22665
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
22666
+ | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.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. |
22261
22667
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
22262
22668
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
22263
22669
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -22352,6 +22758,7 @@ const cdklabsJsiiProjectOptions: CdklabsJsiiProjectOptions = { ... }
22352
22758
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
22353
22759
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
22354
22760
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
22761
+ | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
22355
22762
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
22356
22763
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
22357
22764
  | <code><a href="#cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -22497,6 +22904,44 @@ for specifying these.
22497
22904
 
22498
22905
  ---
22499
22906
 
22907
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.allowScripts"></a>
22908
+
22909
+ ```typescript
22910
+ public readonly allowScripts: string[];
22911
+ ```
22912
+
22913
+ - *Type:* string[]
22914
+ - *Default:* all install scripts are allowed to run (package manager default)
22915
+
22916
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
22917
+
22918
+ These scripts can execute arbitrary code, making them a common
22919
+ supply-chain attack vector. Package managers are moving toward
22920
+ blocking them by default and requiring an explicit allowlist.
22921
+ Configuring `allowScripts` sets up that allowlist so scripts only run
22922
+ for the packages you have explicitly reviewed and trust.
22923
+
22924
+ Support for this setting depends on the configured `packageManager`:
22925
+
22926
+ - `NPM`: written to the native `allowScripts` field in `package.json`
22927
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
22928
+ - `BUN`: written to the native `trustedDependencies` field in
22929
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
22930
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
22931
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
22932
+ - `YARN2`, `YARN_BERRY`: written to the native
22933
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
22934
+ with `enableScripts: false` in `.yarnrc.yml` (see
22935
+ https://yarnpkg.com/features/security#postinstalls). If you set
22936
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
22937
+ is respected instead of being overridden.
22938
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
22939
+ mechanism to allowlist install scripts for specific dependencies.
22940
+ Setting this option with one of these package managers throws an
22941
+ error at synthesis time.
22942
+
22943
+ ---
22944
+
22500
22945
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.artifactsDirectory"></a>
22501
22946
 
22502
22947
  ```typescript
@@ -23858,6 +24303,19 @@ test your module against the lowest peer version required.
23858
24303
 
23859
24304
  ---
23860
24305
 
24306
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.pnpmOptions"></a>
24307
+
24308
+ ```typescript
24309
+ public readonly pnpmOptions: PnpmOptions;
24310
+ ```
24311
+
24312
+ - *Type:* projen.javascript.PnpmOptions
24313
+ - *Default:* all default options
24314
+
24315
+ Options for pnpm.
24316
+
24317
+ ---
24318
+
23861
24319
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdklabsJsiiProjectOptions.property.pnpmVersion"></a>
23862
24320
 
23863
24321
  ```typescript
@@ -24899,6 +25357,7 @@ const cdkLabsMonorepoOptions: yarn.CdkLabsMonorepoOptions = { ... }
24899
25357
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
24900
25358
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
24901
25359
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
25360
+ | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.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. |
24902
25361
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
24903
25362
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
24904
25363
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -24985,6 +25444,7 @@ const cdkLabsMonorepoOptions: yarn.CdkLabsMonorepoOptions = { ... }
24985
25444
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
24986
25445
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
24987
25446
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
25447
+ | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
24988
25448
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
24989
25449
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
24990
25450
  | <code><a href="#cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -25093,6 +25553,44 @@ for specifying these.
25093
25553
 
25094
25554
  ---
25095
25555
 
25556
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.allowScripts"></a>
25557
+
25558
+ ```typescript
25559
+ public readonly allowScripts: string[];
25560
+ ```
25561
+
25562
+ - *Type:* string[]
25563
+ - *Default:* all install scripts are allowed to run (package manager default)
25564
+
25565
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
25566
+
25567
+ These scripts can execute arbitrary code, making them a common
25568
+ supply-chain attack vector. Package managers are moving toward
25569
+ blocking them by default and requiring an explicit allowlist.
25570
+ Configuring `allowScripts` sets up that allowlist so scripts only run
25571
+ for the packages you have explicitly reviewed and trust.
25572
+
25573
+ Support for this setting depends on the configured `packageManager`:
25574
+
25575
+ - `NPM`: written to the native `allowScripts` field in `package.json`
25576
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
25577
+ - `BUN`: written to the native `trustedDependencies` field in
25578
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
25579
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
25580
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
25581
+ - `YARN2`, `YARN_BERRY`: written to the native
25582
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
25583
+ with `enableScripts: false` in `.yarnrc.yml` (see
25584
+ https://yarnpkg.com/features/security#postinstalls). If you set
25585
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
25586
+ is respected instead of being overridden.
25587
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
25588
+ mechanism to allowlist install scripts for specific dependencies.
25589
+ Setting this option with one of these package managers throws an
25590
+ error at synthesis time.
25591
+
25592
+ ---
25593
+
25096
25594
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.artifactsDirectory"></a>
25097
25595
 
25098
25596
  ```typescript
@@ -26332,6 +26830,19 @@ test your module against the lowest peer version required.
26332
26830
 
26333
26831
  ---
26334
26832
 
26833
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.pnpmOptions"></a>
26834
+
26835
+ ```typescript
26836
+ public readonly pnpmOptions: PnpmOptions;
26837
+ ```
26838
+
26839
+ - *Type:* projen.javascript.PnpmOptions
26840
+ - *Default:* all default options
26841
+
26842
+ Options for pnpm.
26843
+
26844
+ ---
26845
+
26335
26846
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.yarn.CdkLabsMonorepoOptions.property.pnpmVersion"></a>
26336
26847
 
26337
26848
  ```typescript
@@ -27299,6 +27810,7 @@ const cdklabsTypeScriptProjectOptions: CdklabsTypeScriptProjectOptions = { ... }
27299
27810
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
27300
27811
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
27301
27812
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
27813
+ | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.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. |
27302
27814
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
27303
27815
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
27304
27816
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -27331,6 +27843,7 @@ const cdklabsTypeScriptProjectOptions: CdklabsTypeScriptProjectOptions = { ... }
27331
27843
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.packageName">packageName</a></code> | <code>string</code> | The "name" in package.json. |
27332
27844
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
27333
27845
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
27846
+ | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
27334
27847
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
27335
27848
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.repository">repository</a></code> | <code>string</code> | The repository is the location where the actual code for your package lives. |
27336
27849
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.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. |
@@ -27823,6 +28336,44 @@ for specifying these.
27823
28336
 
27824
28337
  ---
27825
28338
 
28339
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.allowScripts"></a>
28340
+
28341
+ ```typescript
28342
+ public readonly allowScripts: string[];
28343
+ ```
28344
+
28345
+ - *Type:* string[]
28346
+ - *Default:* all install scripts are allowed to run (package manager default)
28347
+
28348
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
28349
+
28350
+ These scripts can execute arbitrary code, making them a common
28351
+ supply-chain attack vector. Package managers are moving toward
28352
+ blocking them by default and requiring an explicit allowlist.
28353
+ Configuring `allowScripts` sets up that allowlist so scripts only run
28354
+ for the packages you have explicitly reviewed and trust.
28355
+
28356
+ Support for this setting depends on the configured `packageManager`:
28357
+
28358
+ - `NPM`: written to the native `allowScripts` field in `package.json`
28359
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
28360
+ - `BUN`: written to the native `trustedDependencies` field in
28361
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
28362
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
28363
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
28364
+ - `YARN2`, `YARN_BERRY`: written to the native
28365
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
28366
+ with `enableScripts: false` in `.yarnrc.yml` (see
28367
+ https://yarnpkg.com/features/security#postinstalls). If you set
28368
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
28369
+ is respected instead of being overridden.
28370
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
28371
+ mechanism to allowlist install scripts for specific dependencies.
28372
+ Setting this option with one of these package managers throws an
28373
+ error at synthesis time.
28374
+
28375
+ ---
28376
+
27826
28377
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.authorEmail"></a>
27827
28378
 
27828
28379
  ```typescript
@@ -28334,6 +28885,19 @@ test your module against the lowest peer version required.
28334
28885
 
28335
28886
  ---
28336
28887
 
28888
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.pnpmOptions"></a>
28889
+
28890
+ ```typescript
28891
+ public readonly pnpmOptions: PnpmOptions;
28892
+ ```
28893
+
28894
+ - *Type:* projen.javascript.PnpmOptions
28895
+ - *Default:* all default options
28896
+
28897
+ Options for pnpm.
28898
+
28899
+ ---
28900
+
28337
28901
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.pnpmVersion"></a>
28338
28902
 
28339
28903
  ```typescript
@@ -29707,6 +30271,7 @@ const cdkTypeScriptProjectOptions: CdkTypeScriptProjectOptions = { ... }
29707
30271
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
29708
30272
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
29709
30273
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
30274
+ | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.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. |
29710
30275
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.authorEmail">authorEmail</a></code> | <code>string</code> | Author's e-mail. |
29711
30276
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.authorName">authorName</a></code> | <code>string</code> | Author's name. |
29712
30277
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.authorOrganization">authorOrganization</a></code> | <code>boolean</code> | Is the author an organization. |
@@ -29739,6 +30304,7 @@ const cdkTypeScriptProjectOptions: CdkTypeScriptProjectOptions = { ... }
29739
30304
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.packageName">packageName</a></code> | <code>string</code> | The "name" in package.json. |
29740
30305
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
29741
30306
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
30307
+ | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
29742
30308
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
29743
30309
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.repository">repository</a></code> | <code>string</code> | The repository is the location where the actual code for your package lives. |
29744
30310
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.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. |
@@ -30231,6 +30797,44 @@ for specifying these.
30231
30797
 
30232
30798
  ---
30233
30799
 
30800
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.allowScripts"></a>
30801
+
30802
+ ```typescript
30803
+ public readonly allowScripts: string[];
30804
+ ```
30805
+
30806
+ - *Type:* string[]
30807
+ - *Default:* all install scripts are allowed to run (package manager default)
30808
+
30809
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
30810
+
30811
+ These scripts can execute arbitrary code, making them a common
30812
+ supply-chain attack vector. Package managers are moving toward
30813
+ blocking them by default and requiring an explicit allowlist.
30814
+ Configuring `allowScripts` sets up that allowlist so scripts only run
30815
+ for the packages you have explicitly reviewed and trust.
30816
+
30817
+ Support for this setting depends on the configured `packageManager`:
30818
+
30819
+ - `NPM`: written to the native `allowScripts` field in `package.json`
30820
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
30821
+ - `BUN`: written to the native `trustedDependencies` field in
30822
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
30823
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
30824
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
30825
+ - `YARN2`, `YARN_BERRY`: written to the native
30826
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
30827
+ with `enableScripts: false` in `.yarnrc.yml` (see
30828
+ https://yarnpkg.com/features/security#postinstalls). If you set
30829
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
30830
+ is respected instead of being overridden.
30831
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
30832
+ mechanism to allowlist install scripts for specific dependencies.
30833
+ Setting this option with one of these package managers throws an
30834
+ error at synthesis time.
30835
+
30836
+ ---
30837
+
30234
30838
  ##### `authorEmail`<sup>Optional</sup> <a name="authorEmail" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.authorEmail"></a>
30235
30839
 
30236
30840
  ```typescript
@@ -30742,6 +31346,19 @@ test your module against the lowest peer version required.
30742
31346
 
30743
31347
  ---
30744
31348
 
31349
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.pnpmOptions"></a>
31350
+
31351
+ ```typescript
31352
+ public readonly pnpmOptions: PnpmOptions;
31353
+ ```
31354
+
31355
+ - *Type:* projen.javascript.PnpmOptions
31356
+ - *Default:* all default options
31357
+
31358
+ Options for pnpm.
31359
+
31360
+ ---
31361
+
30745
31362
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.pnpmVersion"></a>
30746
31363
 
30747
31364
  ```typescript
@@ -32452,6 +33069,7 @@ const monorepoOptions: yarn.MonorepoOptions = { ... }
32452
33069
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.name">name</a></code> | <code>string</code> | This is the name of your project. |
32453
33070
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
32454
33071
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
33072
+ | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.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. |
32455
33073
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
32456
33074
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
32457
33075
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -32538,6 +33156,7 @@ const monorepoOptions: yarn.MonorepoOptions = { ... }
32538
33156
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.parent">parent</a></code> | <code>projen.Project</code> | The parent project, if this project is part of a bigger project. |
32539
33157
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
32540
33158
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.peerDeps">peerDeps</a></code> | <code>string[]</code> | Peer dependencies for this module. |
33159
+ | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
32541
33160
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
32542
33161
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
32543
33162
  | <code><a href="#cdklabs-projen-project-types.yarn.MonorepoOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -32646,6 +33265,44 @@ for specifying these.
32646
33265
 
32647
33266
  ---
32648
33267
 
33268
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.yarn.MonorepoOptions.property.allowScripts"></a>
33269
+
33270
+ ```typescript
33271
+ public readonly allowScripts: string[];
33272
+ ```
33273
+
33274
+ - *Type:* string[]
33275
+ - *Default:* all install scripts are allowed to run (package manager default)
33276
+
33277
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
33278
+
33279
+ These scripts can execute arbitrary code, making them a common
33280
+ supply-chain attack vector. Package managers are moving toward
33281
+ blocking them by default and requiring an explicit allowlist.
33282
+ Configuring `allowScripts` sets up that allowlist so scripts only run
33283
+ for the packages you have explicitly reviewed and trust.
33284
+
33285
+ Support for this setting depends on the configured `packageManager`:
33286
+
33287
+ - `NPM`: written to the native `allowScripts` field in `package.json`
33288
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
33289
+ - `BUN`: written to the native `trustedDependencies` field in
33290
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
33291
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
33292
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
33293
+ - `YARN2`, `YARN_BERRY`: written to the native
33294
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
33295
+ with `enableScripts: false` in `.yarnrc.yml` (see
33296
+ https://yarnpkg.com/features/security#postinstalls). If you set
33297
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
33298
+ is respected instead of being overridden.
33299
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
33300
+ mechanism to allowlist install scripts for specific dependencies.
33301
+ Setting this option with one of these package managers throws an
33302
+ error at synthesis time.
33303
+
33304
+ ---
33305
+
32649
33306
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.yarn.MonorepoOptions.property.artifactsDirectory"></a>
32650
33307
 
32651
33308
  ```typescript
@@ -33885,6 +34542,19 @@ test your module against the lowest peer version required.
33885
34542
 
33886
34543
  ---
33887
34544
 
34545
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.yarn.MonorepoOptions.property.pnpmOptions"></a>
34546
+
34547
+ ```typescript
34548
+ public readonly pnpmOptions: PnpmOptions;
34549
+ ```
34550
+
34551
+ - *Type:* projen.javascript.PnpmOptions
34552
+ - *Default:* all default options
34553
+
34554
+ Options for pnpm.
34555
+
34556
+ ---
34557
+
33888
34558
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.yarn.MonorepoOptions.property.pnpmVersion"></a>
33889
34559
 
33890
34560
  ```typescript
@@ -35237,6 +35907,7 @@ const typeScriptWorkspaceOptions: yarn.TypeScriptWorkspaceOptions = { ... }
35237
35907
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.addPackageManagerToDevEngines">addPackageManagerToDevEngines</a></code> | <code>boolean</code> | Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`. |
35238
35908
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`. |
35239
35909
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.allowPrivateDeps">allowPrivateDeps</a></code> | <code>boolean</code> | Allow private workspace dependencies in the 'deps' parameter. |
35910
+ | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.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. |
35240
35911
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | A directory which will contain build artifacts. |
35241
35912
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.auditDeps">auditDeps</a></code> | <code>boolean</code> | Run security audit on dependencies. |
35242
35913
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.auditDepsOptions">auditDepsOptions</a></code> | <code>projen.javascript.AuditOptions</code> | Security audit options. |
@@ -35319,6 +35990,7 @@ const typeScriptWorkspaceOptions: yarn.TypeScriptWorkspaceOptions = { ... }
35319
35990
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.packageName">packageName</a></code> | <code>string</code> | The "name" in package.json. |
35320
35991
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.peerDependencyOptions">peerDependencyOptions</a></code> | <code>projen.javascript.PeerDependencyOptions</code> | Options for `peerDeps`. |
35321
35992
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.peerDeps">peerDeps</a></code> | <code>string \| cdklabs-projen-project-types.yarn.IWorkspaceReference[]</code> | Peer dependencies for this module. |
35993
+ | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.pnpmOptions">pnpmOptions</a></code> | <code>projen.javascript.PnpmOptions</code> | Options for pnpm. |
35322
35994
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.pnpmVersion">pnpmVersion</a></code> | <code>string</code> | The version of PNPM to use if using PNPM as a package manager. |
35323
35995
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.postBuildSteps">postBuildSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Steps to execute after build as part of the release workflow. |
35324
35996
  | <code><a href="#cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.prerelease">prerelease</a></code> | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
@@ -35452,6 +36124,44 @@ your package. It makes sense to relax this check *only* if you are bundling your
35452
36124
 
35453
36125
  ---
35454
36126
 
36127
+ ##### `allowScripts`<sup>Optional</sup> <a name="allowScripts" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.allowScripts"></a>
36128
+
36129
+ ```typescript
36130
+ public readonly allowScripts: string[];
36131
+ ```
36132
+
36133
+ - *Type:* string[]
36134
+ - *Default:* all install scripts are allowed to run (package manager default)
36135
+
36136
+ List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation.
36137
+
36138
+ These scripts can execute arbitrary code, making them a common
36139
+ supply-chain attack vector. Package managers are moving toward
36140
+ blocking them by default and requiring an explicit allowlist.
36141
+ Configuring `allowScripts` sets up that allowlist so scripts only run
36142
+ for the packages you have explicitly reviewed and trust.
36143
+
36144
+ Support for this setting depends on the configured `packageManager`:
36145
+
36146
+ - `NPM`: written to the native `allowScripts` field in `package.json`
36147
+ (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).
36148
+ - `BUN`: written to the native `trustedDependencies` field in
36149
+ `package.json` (see https://bun.com/docs/pm/lifecycle).
36150
+ - `PNPM`: written to the `onlyBuiltDependencies` setting in
36151
+ `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).
36152
+ - `YARN2`, `YARN_BERRY`: written to the native
36153
+ `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined
36154
+ with `enableScripts: false` in `.yarnrc.yml` (see
36155
+ https://yarnpkg.com/features/security#postinstalls). If you set
36156
+ `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value
36157
+ is respected instead of being overridden.
36158
+ - `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native
36159
+ mechanism to allowlist install scripts for specific dependencies.
36160
+ Setting this option with one of these package managers throws an
36161
+ error at synthesis time.
36162
+
36163
+ ---
36164
+
35455
36165
  ##### `artifactsDirectory`<sup>Optional</sup> <a name="artifactsDirectory" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.artifactsDirectory"></a>
35456
36166
 
35457
36167
  ```typescript
@@ -36628,6 +37338,19 @@ test your module against the lowest peer version required.
36628
37338
 
36629
37339
  ---
36630
37340
 
37341
+ ##### `pnpmOptions`<sup>Optional</sup> <a name="pnpmOptions" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.pnpmOptions"></a>
37342
+
37343
+ ```typescript
37344
+ public readonly pnpmOptions: PnpmOptions;
37345
+ ```
37346
+
37347
+ - *Type:* projen.javascript.PnpmOptions
37348
+ - *Default:* all default options
37349
+
37350
+ Options for pnpm.
37351
+
37352
+ ---
37353
+
36631
37354
  ##### `pnpmVersion`<sup>Optional</sup> <a name="pnpmVersion" id="cdklabs-projen-project-types.yarn.TypeScriptWorkspaceOptions.property.pnpmVersion"></a>
36632
37355
 
36633
37356
  ```typescript