projen-modules 1.2.155 → 2.0.1

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="projen-modules.CdkTypeScriptApp.tryFindFile"></a>
260
262
 
@@ -935,7 +937,9 @@ the project is being ejected.
935
937
 
936
938
  ---
937
939
 
938
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="projen-modules.CdkTypeScriptApp.property.initProject"></a>
940
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="projen-modules.CdkTypeScriptApp.property.initProject"></a>
941
+
942
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
939
943
 
940
944
  ```typescript
941
945
  public readonly initProject: InitProject;
@@ -1716,8 +1720,10 @@ Synthesize all project files into `outdir`.
1716
1720
  2. Delete all generated files
1717
1721
  3. Synthesize all subprojects
1718
1722
  4. Synthesize all components of this project
1719
- 5. Call "postSynthesize()" for all components of this project
1720
- 6. Call "this.postSynthesize()"
1723
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
1724
+ 6. Call "postSynthesize()" for all components of this project
1725
+ 7. Call "this.postSynthesize()"
1726
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
1721
1727
 
1722
1728
  ##### `tryFindFile` <a name="tryFindFile" id="projen-modules.JsiiProject.tryFindFile"></a>
1723
1729
 
@@ -2393,7 +2399,9 @@ the project is being ejected.
2393
2399
 
2394
2400
  ---
2395
2401
 
2396
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="projen-modules.JsiiProject.property.initProject"></a>
2402
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="projen-modules.JsiiProject.property.initProject"></a>
2403
+
2404
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
2397
2405
 
2398
2406
  ```typescript
2399
2407
  public readonly initProject: InitProject;
@@ -3116,8 +3124,10 @@ Synthesize all project files into `outdir`.
3116
3124
  2. Delete all generated files
3117
3125
  3. Synthesize all subprojects
3118
3126
  4. Synthesize all components of this project
3119
- 5. Call "postSynthesize()" for all components of this project
3120
- 6. Call "this.postSynthesize()"
3127
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
3128
+ 6. Call "postSynthesize()" for all components of this project
3129
+ 7. Call "this.postSynthesize()"
3130
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
3121
3131
 
3122
3132
  ##### `tryFindFile` <a name="tryFindFile" id="projen-modules.NpmPackage.tryFindFile"></a>
3123
3133
 
@@ -3793,7 +3803,9 @@ the project is being ejected.
3793
3803
 
3794
3804
  ---
3795
3805
 
3796
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="projen-modules.NpmPackage.property.initProject"></a>
3806
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="projen-modules.NpmPackage.property.initProject"></a>
3807
+
3808
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
3797
3809
 
3798
3810
  ```typescript
3799
3811
  public readonly initProject: InitProject;
@@ -4509,8 +4521,10 @@ Synthesize all project files into `outdir`.
4509
4521
  2. Delete all generated files
4510
4522
  3. Synthesize all subprojects
4511
4523
  4. Synthesize all components of this project
4512
- 5. Call "postSynthesize()" for all components of this project
4513
- 6. Call "this.postSynthesize()"
4524
+ 5. Call "projectCreation()" for all components, only if the project is being created for the first time
4525
+ 6. Call "postSynthesize()" for all components of this project
4526
+ 7. Call "this.postSynthesize()"
4527
+ 8. Call "postProjectCreation()" for all components, only if the project is being created for the first time
4514
4528
 
4515
4529
  ##### `tryFindFile` <a name="tryFindFile" id="projen-modules.PythonPackage.tryFindFile"></a>
4516
4530
 
@@ -4986,7 +5000,9 @@ the project is being ejected.
4986
5000
 
4987
5001
  ---
4988
5002
 
4989
- ##### `initProject`<sup>Optional</sup> <a name="initProject" id="projen-modules.PythonPackage.property.initProject"></a>
5003
+ ##### ~~`initProject`~~<sup>Optional</sup> <a name="initProject" id="projen-modules.PythonPackage.property.initProject"></a>
5004
+
5005
+ - *Deprecated:* use the `initProject` argument passed to `Component.projectCreation()` instead.
4990
5006
 
4991
5007
  ```typescript
4992
5008
  public readonly initProject: InitProject;
@@ -5239,8 +5255,10 @@ new Readme(project: Project, options?: ReadmeOptions)
5239
5255
  | --- | --- |
5240
5256
  | <code><a href="#projen-modules.Readme.toString">toString</a></code> | Returns a string representation of this construct. |
5241
5257
  | <code><a href="#projen-modules.Readme.with">with</a></code> | Applies one or more mixins to this construct. |
5258
+ | <code><a href="#projen-modules.Readme.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
5242
5259
  | <code><a href="#projen-modules.Readme.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
5243
5260
  | <code><a href="#projen-modules.Readme.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
5261
+ | <code><a href="#projen-modules.Readme.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
5244
5262
  | <code><a href="#projen-modules.Readme.synthesize">synthesize</a></code> | Writes the file to the project's output directory. |
5245
5263
  | <code><a href="#projen-modules.Readme.diff">diff</a></code> | Returns a unified diff of the old and new file contents with context lines and hunk headers. |
5246
5264
  | <code><a href="#projen-modules.Readme.addSection">addSection</a></code> | *No description.* |
@@ -5276,6 +5294,27 @@ The mixins to apply.
5276
5294
 
5277
5295
  ---
5278
5296
 
5297
+ ##### `postProjectCreation` <a name="postProjectCreation" id="projen-modules.Readme.postProjectCreation"></a>
5298
+
5299
+ ```typescript
5300
+ public postProjectCreation(initProject: InitProject): void
5301
+ ```
5302
+
5303
+ Called once, right after `postSynthesize()`, only when the project is created for the first time.
5304
+
5305
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
5306
+ It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
5307
+ Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
5308
+ feedback on their new project. Order across components is not guaranteed.
5309
+
5310
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="projen-modules.Readme.postProjectCreation.parameter.initProject"></a>
5311
+
5312
+ - *Type:* projen.InitProject
5313
+
5314
+ Details about how the project was created, e.g. its type and the original CLI args.
5315
+
5316
+ ---
5317
+
5279
5318
  ##### `postSynthesize` <a name="postSynthesize" id="projen-modules.Readme.postSynthesize"></a>
5280
5319
 
5281
5320
  ```typescript
@@ -5294,6 +5333,25 @@ public preSynthesize(): void
5294
5333
 
5295
5334
  Called before synthesis.
5296
5335
 
5336
+ ##### `projectCreation` <a name="projectCreation" id="projen-modules.Readme.projectCreation"></a>
5337
+
5338
+ ```typescript
5339
+ public projectCreation(initProject: InitProject): void
5340
+ ```
5341
+
5342
+ Called once, right after `synthesize()`, only when the project is created for the first time.
5343
+
5344
+ It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
5345
+ Use it for deterministic, one-off file generation. Order across components is not guaranteed.
5346
+
5347
+ ###### `initProject`<sup>Required</sup> <a name="initProject" id="projen-modules.Readme.projectCreation.parameter.initProject"></a>
5348
+
5349
+ - *Type:* projen.InitProject
5350
+
5351
+ Details about how the project was created, e.g. its type and the original CLI args.
5352
+
5353
+ ---
5354
+
5297
5355
  ##### `synthesize` <a name="synthesize" id="projen-modules.Readme.synthesize"></a>
5298
5356
 
5299
5357
  ```typescript
@@ -5613,13 +5671,15 @@ const cdkTypeScriptAppOptions: CdkTypeScriptAppOptions = { ... }
5613
5671
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
5614
5672
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.clobber">clobber</a></code> | <code>boolean</code> | Add a `clobber` task which resets the repo to origin. |
5615
5673
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.codeArtifactOptions">codeArtifactOptions</a></code> | <code>projen.javascript.CodeArtifactOptions</code> | Options for npm packages using AWS CodeArtifact. |
5616
- | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
5674
+ | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
5617
5675
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token. |
5618
5676
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
5677
+ | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.config">config</a></code> | <code>{[ key: string ]: any}</code> | Configuration values available to package scripts at runtime. |
5619
5678
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.constructsVersion">constructsVersion</a></code> | <code>string</code> | Minimum version of the `constructs` library to depend on. |
5620
5679
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.context">context</a></code> | <code>{[ key: string ]: any}</code> | Additional context to include in `cdk.json`. |
5621
5680
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
5622
5681
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
5682
+ | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.dedupeDeps">dedupeDeps</a></code> | <code>boolean</code> | Add a `dedupe` task that deduplicates project dependencies. |
5623
5683
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
5624
5684
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
5625
5685
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
@@ -5644,6 +5704,7 @@ const cdkTypeScriptAppOptions: CdkTypeScriptAppOptions = { ... }
5644
5704
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.featureFlags">featureFlags</a></code> | <code>projen.awscdk.ICdkFeatureFlags</code> | Feature flags that should be enabled in `cdk.json`. Make sure to double-check any changes to feature flags in `cdk.json` before deploying. Unexpected changes may cause breaking changes in your CDK app. You can overwrite any feature flag by passing it into the context field. |
5645
5705
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.github">github</a></code> | <code>boolean</code> | Enable GitHub integration. |
5646
5706
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
5707
+ | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.githubReleaseLatest">githubReleaseLatest</a></code> | <code>boolean</code> | Whether GitHub should explicitly mark the release from the default branch as the latest release. |
5647
5708
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
5648
5709
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.gitIgnoreOptions">gitIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .gitignore file. |
5649
5710
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.gitOptions">gitOptions</a></code> | <code>projen.GitOptions</code> | Configuration options for git. |
@@ -5733,6 +5794,7 @@ const cdkTypeScriptAppOptions: CdkTypeScriptAppOptions = { ... }
5733
5794
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
5734
5795
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name (and path) of the development tsconfig file. |
5735
5796
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
5797
+ | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.typecheckTests">typecheckTests</a></code> | <code>boolean</code> | Type-check the test suite as part of the `test` task. |
5736
5798
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
5737
5799
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
5738
5800
  | <code><a href="#projen-modules.CdkTypeScriptAppOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
@@ -6124,6 +6186,10 @@ This command will be called when
6124
6186
  running `cdk synth` or when `cdk watch` identifies a change in your source
6125
6187
  code before redeployment.
6126
6188
 
6189
+ The CDK CLI runs it through a shell on every synthesis, on the machine of
6190
+ anyone who checks out the project, so shell syntax in it is interpreted and
6191
+ the command should be one you would run yourself.
6192
+
6127
6193
  ---
6128
6194
 
6129
6195
  ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="projen-modules.CdkTypeScriptAppOptions.property.buildWorkflow"></a>
@@ -6312,7 +6378,7 @@ public readonly codeCov: boolean;
6312
6378
  - *Type:* boolean
6313
6379
  - *Default:* false
6314
6380
 
6315
- Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
6381
+ Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
6316
6382
 
6317
6383
  ---
6318
6384
 
@@ -6342,6 +6408,21 @@ Whether to commit the managed files by default.
6342
6408
 
6343
6409
  ---
6344
6410
 
6411
+ ##### `config`<sup>Optional</sup> <a name="config" id="projen-modules.CdkTypeScriptAppOptions.property.config"></a>
6412
+
6413
+ ```typescript
6414
+ public readonly config: {[ key: string ]: any};
6415
+ ```
6416
+
6417
+ - *Type:* {[ key: string ]: any}
6418
+ - *Default:* no package configuration
6419
+
6420
+ Configuration values available to package scripts at runtime.
6421
+
6422
+ Values should be JSON-serializable.
6423
+
6424
+ ---
6425
+
6345
6426
  ##### `constructsVersion`<sup>Optional</sup> <a name="constructsVersion" id="projen-modules.CdkTypeScriptAppOptions.property.constructsVersion"></a>
6346
6427
 
6347
6428
  ```typescript
@@ -6379,6 +6460,10 @@ public readonly copyrightOwner: string;
6379
6460
 
6380
6461
  License copyright owner.
6381
6462
 
6463
+ This value is only used if the selected license text contains the
6464
+ `$copyright_owner` placeholder. For example, it has no effect on the
6465
+ MPL-2.0 license text.
6466
+
6382
6467
  ---
6383
6468
 
6384
6469
  ##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="projen-modules.CdkTypeScriptAppOptions.property.copyrightPeriod"></a>
@@ -6392,6 +6477,38 @@ public readonly copyrightPeriod: string;
6392
6477
 
6393
6478
  The copyright years to put in the LICENSE file.
6394
6479
 
6480
+ This value is only used if the selected license text contains the
6481
+ `$copyright_period` placeholder. For example, it has no effect on the
6482
+ MPL-2.0 license text.
6483
+
6484
+ ---
6485
+
6486
+ ##### `dedupeDeps`<sup>Optional</sup> <a name="dedupeDeps" id="projen-modules.CdkTypeScriptAppOptions.property.dedupeDeps"></a>
6487
+
6488
+ ```typescript
6489
+ public readonly dedupeDeps: boolean;
6490
+ ```
6491
+
6492
+ - *Type:* boolean
6493
+ - *Default:* false, unless `yarnBerryOptions.dedupePackages` is set
6494
+
6495
+ Add a `dedupe` task that deduplicates project dependencies.
6496
+
6497
+ Deduplication prevents multiple versions of the same package from being
6498
+ installed, if a single version can satisfy all requested version ranges.
6499
+ This prevents version proliferation and reduces the size of the dependency
6500
+ tree.
6501
+
6502
+ The behavior depends on the package manager:
6503
+ - npm: runs `npm dedupe` after every mutating install.
6504
+ - pnpm: runs `pnpm dedupe` after every mutating install.
6505
+ - Yarn Berry: runs `yarn dedupe` after every mutating install. If
6506
+ `yarnBerryOptions.dedupePackages` is set, only the listed packages are
6507
+ deduplicated.
6508
+ - Yarn Classic: `yarn install` already deduplicates, so the task only
6509
+ prints an informational message.
6510
+ - Bun: not supported, enabling this option throws an error.
6511
+
6395
6512
  ---
6396
6513
 
6397
6514
  ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="projen-modules.CdkTypeScriptAppOptions.property.defaultReleaseBranch"></a>
@@ -6736,6 +6853,22 @@ Options for GitHub integration.
6736
6853
 
6737
6854
  ---
6738
6855
 
6856
+ ##### `githubReleaseLatest`<sup>Optional</sup> <a name="githubReleaseLatest" id="projen-modules.CdkTypeScriptAppOptions.property.githubReleaseLatest"></a>
6857
+
6858
+ ```typescript
6859
+ public readonly githubReleaseLatest: boolean;
6860
+ ```
6861
+
6862
+ - *Type:* boolean
6863
+ - *Default:* GitHub determines the latest release based on date and semantic version.
6864
+
6865
+ Whether GitHub should explicitly mark the release from the default branch as the latest release.
6866
+
6867
+ Set to `true` to mark the release as latest, or `false` to explicitly not
6868
+ mark it as latest.
6869
+
6870
+ ---
6871
+
6739
6872
  ##### `gitignore`<sup>Optional</sup> <a name="gitignore" id="projen-modules.CdkTypeScriptAppOptions.property.gitignore"></a>
6740
6873
 
6741
6874
  ```typescript
@@ -7388,6 +7521,10 @@ public readonly projenCommand: string;
7388
7521
 
7389
7522
  The shell command to use in order to run the projen CLI.
7390
7523
 
7524
+ Inserted verbatim into task steps, workflows and IDE configuration, and run
7525
+ by each of their shells - locally, in CI and in dev containers. Keep it a
7526
+ plain unquoted command, since shell syntax in it executes in all of them.
7527
+
7391
7528
  Can be used to customize in special environments.
7392
7529
 
7393
7530
  ---
@@ -8000,6 +8137,21 @@ Options for ts-jest.
8000
8137
 
8001
8138
  ---
8002
8139
 
8140
+ ##### `typecheckTests`<sup>Optional</sup> <a name="typecheckTests" id="projen-modules.CdkTypeScriptAppOptions.property.typecheckTests"></a>
8141
+
8142
+ ```typescript
8143
+ public readonly typecheckTests: boolean;
8144
+ ```
8145
+
8146
+ - *Type:* boolean
8147
+ - *Default:* false
8148
+
8149
+ Type-check the test suite as part of the `test` task.
8150
+
8151
+ Adds a `tsc --noEmit` step against the development tsconfig.
8152
+
8153
+ ---
8154
+
8003
8155
  ##### `typescriptVersion`<sup>Optional</sup> <a name="typescriptVersion" id="projen-modules.CdkTypeScriptAppOptions.property.typescriptVersion"></a>
8004
8156
 
8005
8157
  ```typescript
@@ -8139,7 +8291,9 @@ Enable Node.js package cache in GitHub workflows.
8139
8291
 
8140
8292
  ---
8141
8293
 
8142
- ##### `workflowRunsOn`<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.CdkTypeScriptAppOptions.property.workflowRunsOn"></a>
8294
+ ##### ~~`workflowRunsOn`~~<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.CdkTypeScriptAppOptions.property.workflowRunsOn"></a>
8295
+
8296
+ - *Deprecated:* use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
8143
8297
 
8144
8298
  ```typescript
8145
8299
  public readonly workflowRunsOn: string[];
@@ -8152,7 +8306,9 @@ Github Runner selection labels.
8152
8306
 
8153
8307
  ---
8154
8308
 
8155
- ##### `workflowRunsOnGroup`<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.CdkTypeScriptAppOptions.property.workflowRunsOnGroup"></a>
8309
+ ##### ~~`workflowRunsOnGroup`~~<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.CdkTypeScriptAppOptions.property.workflowRunsOnGroup"></a>
8310
+
8311
+ - *Deprecated:* use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
8156
8312
 
8157
8313
  ```typescript
8158
8314
  public readonly workflowRunsOnGroup: GroupRunnerOptions;
@@ -8227,14 +8383,16 @@ const jsiiProjectOptions: JsiiProjectOptions = { ... }
8227
8383
  | <code><a href="#projen-modules.JsiiProjectOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
8228
8384
  | <code><a href="#projen-modules.JsiiProjectOptions.property.clobber">clobber</a></code> | <code>boolean</code> | Add a `clobber` task which resets the repo to origin. |
8229
8385
  | <code><a href="#projen-modules.JsiiProjectOptions.property.codeArtifactOptions">codeArtifactOptions</a></code> | <code>projen.javascript.CodeArtifactOptions</code> | Options for npm packages using AWS CodeArtifact. |
8230
- | <code><a href="#projen-modules.JsiiProjectOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
8386
+ | <code><a href="#projen-modules.JsiiProjectOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
8231
8387
  | <code><a href="#projen-modules.JsiiProjectOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token. |
8232
8388
  | <code><a href="#projen-modules.JsiiProjectOptions.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
8233
8389
  | <code><a href="#projen-modules.JsiiProjectOptions.property.compat">compat</a></code> | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation. |
8234
8390
  | <code><a href="#projen-modules.JsiiProjectOptions.property.compatIgnore">compatIgnore</a></code> | <code>string</code> | Name of the ignore file for API compatibility tests. |
8235
8391
  | <code><a href="#projen-modules.JsiiProjectOptions.property.compressAssembly">compressAssembly</a></code> | <code>boolean</code> | Emit a compressed version of the assembly. |
8392
+ | <code><a href="#projen-modules.JsiiProjectOptions.property.config">config</a></code> | <code>{[ key: string ]: any}</code> | Configuration values available to package scripts at runtime. |
8236
8393
  | <code><a href="#projen-modules.JsiiProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
8237
8394
  | <code><a href="#projen-modules.JsiiProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
8395
+ | <code><a href="#projen-modules.JsiiProjectOptions.property.dedupeDeps">dedupeDeps</a></code> | <code>boolean</code> | Add a `dedupe` task that deduplicates project dependencies. |
8238
8396
  | <code><a href="#projen-modules.JsiiProjectOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
8239
8397
  | <code><a href="#projen-modules.JsiiProjectOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
8240
8398
  | <code><a href="#projen-modules.JsiiProjectOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
@@ -8258,6 +8416,7 @@ const jsiiProjectOptions: JsiiProjectOptions = { ... }
8258
8416
  | <code><a href="#projen-modules.JsiiProjectOptions.property.excludeTypescript">excludeTypescript</a></code> | <code>string[]</code> | Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. |
8259
8417
  | <code><a href="#projen-modules.JsiiProjectOptions.property.github">github</a></code> | <code>boolean</code> | Enable GitHub integration. |
8260
8418
  | <code><a href="#projen-modules.JsiiProjectOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
8419
+ | <code><a href="#projen-modules.JsiiProjectOptions.property.githubReleaseLatest">githubReleaseLatest</a></code> | <code>boolean</code> | Whether GitHub should explicitly mark the release from the default branch as the latest release. |
8261
8420
  | <code><a href="#projen-modules.JsiiProjectOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
8262
8421
  | <code><a href="#projen-modules.JsiiProjectOptions.property.gitIgnoreOptions">gitIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .gitignore file. |
8263
8422
  | <code><a href="#projen-modules.JsiiProjectOptions.property.gitOptions">gitOptions</a></code> | <code>projen.GitOptions</code> | Configuration options for git. |
@@ -8347,6 +8506,7 @@ const jsiiProjectOptions: JsiiProjectOptions = { ... }
8347
8506
  | <code><a href="#projen-modules.JsiiProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
8348
8507
  | <code><a href="#projen-modules.JsiiProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name (and path) of the development tsconfig file. |
8349
8508
  | <code><a href="#projen-modules.JsiiProjectOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
8509
+ | <code><a href="#projen-modules.JsiiProjectOptions.property.typecheckTests">typecheckTests</a></code> | <code>boolean</code> | Type-check the test suite as part of the `test` task. |
8350
8510
  | <code><a href="#projen-modules.JsiiProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
8351
8511
  | <code><a href="#projen-modules.JsiiProjectOptions.property.validateTsconfig">validateTsconfig</a></code> | <code>projen.cdk.ValidateTsconfig</code> | Level of tsconfig validation jsii should perform on the user-provided tsconfig. |
8352
8512
  | <code><a href="#projen-modules.JsiiProjectOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
@@ -8863,7 +9023,7 @@ public readonly codeCov: boolean;
8863
9023
  - *Type:* boolean
8864
9024
  - *Default:* false
8865
9025
 
8866
- Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
9026
+ Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
8867
9027
 
8868
9028
  ---
8869
9029
 
@@ -8935,6 +9095,21 @@ Emit a compressed version of the assembly.
8935
9095
 
8936
9096
  ---
8937
9097
 
9098
+ ##### `config`<sup>Optional</sup> <a name="config" id="projen-modules.JsiiProjectOptions.property.config"></a>
9099
+
9100
+ ```typescript
9101
+ public readonly config: {[ key: string ]: any};
9102
+ ```
9103
+
9104
+ - *Type:* {[ key: string ]: any}
9105
+ - *Default:* no package configuration
9106
+
9107
+ Configuration values available to package scripts at runtime.
9108
+
9109
+ Values should be JSON-serializable.
9110
+
9111
+ ---
9112
+
8938
9113
  ##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="projen-modules.JsiiProjectOptions.property.copyrightOwner"></a>
8939
9114
 
8940
9115
  ```typescript
@@ -8946,6 +9121,10 @@ public readonly copyrightOwner: string;
8946
9121
 
8947
9122
  License copyright owner.
8948
9123
 
9124
+ This value is only used if the selected license text contains the
9125
+ `$copyright_owner` placeholder. For example, it has no effect on the
9126
+ MPL-2.0 license text.
9127
+
8949
9128
  ---
8950
9129
 
8951
9130
  ##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="projen-modules.JsiiProjectOptions.property.copyrightPeriod"></a>
@@ -8959,6 +9138,38 @@ public readonly copyrightPeriod: string;
8959
9138
 
8960
9139
  The copyright years to put in the LICENSE file.
8961
9140
 
9141
+ This value is only used if the selected license text contains the
9142
+ `$copyright_period` placeholder. For example, it has no effect on the
9143
+ MPL-2.0 license text.
9144
+
9145
+ ---
9146
+
9147
+ ##### `dedupeDeps`<sup>Optional</sup> <a name="dedupeDeps" id="projen-modules.JsiiProjectOptions.property.dedupeDeps"></a>
9148
+
9149
+ ```typescript
9150
+ public readonly dedupeDeps: boolean;
9151
+ ```
9152
+
9153
+ - *Type:* boolean
9154
+ - *Default:* false, unless `yarnBerryOptions.dedupePackages` is set
9155
+
9156
+ Add a `dedupe` task that deduplicates project dependencies.
9157
+
9158
+ Deduplication prevents multiple versions of the same package from being
9159
+ installed, if a single version can satisfy all requested version ranges.
9160
+ This prevents version proliferation and reduces the size of the dependency
9161
+ tree.
9162
+
9163
+ The behavior depends on the package manager:
9164
+ - npm: runs `npm dedupe` after every mutating install.
9165
+ - pnpm: runs `pnpm dedupe` after every mutating install.
9166
+ - Yarn Berry: runs `yarn dedupe` after every mutating install. If
9167
+ `yarnBerryOptions.dedupePackages` is set, only the listed packages are
9168
+ deduplicated.
9169
+ - Yarn Classic: `yarn install` already deduplicates, so the task only
9170
+ prints an informational message.
9171
+ - Bun: not supported, enabling this option throws an error.
9172
+
8962
9173
  ---
8963
9174
 
8964
9175
  ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="projen-modules.JsiiProjectOptions.property.defaultReleaseBranch"></a>
@@ -9293,6 +9504,22 @@ Options for GitHub integration.
9293
9504
 
9294
9505
  ---
9295
9506
 
9507
+ ##### `githubReleaseLatest`<sup>Optional</sup> <a name="githubReleaseLatest" id="projen-modules.JsiiProjectOptions.property.githubReleaseLatest"></a>
9508
+
9509
+ ```typescript
9510
+ public readonly githubReleaseLatest: boolean;
9511
+ ```
9512
+
9513
+ - *Type:* boolean
9514
+ - *Default:* GitHub determines the latest release based on date and semantic version.
9515
+
9516
+ Whether GitHub should explicitly mark the release from the default branch as the latest release.
9517
+
9518
+ Set to `true` to mark the release as latest, or `false` to explicitly not
9519
+ mark it as latest.
9520
+
9521
+ ---
9522
+
9296
9523
  ##### `gitignore`<sup>Optional</sup> <a name="gitignore" id="projen-modules.JsiiProjectOptions.property.gitignore"></a>
9297
9524
 
9298
9525
  ```typescript
@@ -9913,6 +10140,10 @@ public readonly projenCommand: string;
9913
10140
 
9914
10141
  The shell command to use in order to run the projen CLI.
9915
10142
 
10143
+ Inserted verbatim into task steps, workflows and IDE configuration, and run
10144
+ by each of their shells - locally, in CI and in dev containers. Keep it a
10145
+ plain unquoted command, since shell syntax in it executes in all of them.
10146
+
9916
10147
  Can be used to customize in special environments.
9917
10148
 
9918
10149
  ---
@@ -10562,6 +10793,21 @@ Options for ts-jest.
10562
10793
 
10563
10794
  ---
10564
10795
 
10796
+ ##### `typecheckTests`<sup>Optional</sup> <a name="typecheckTests" id="projen-modules.JsiiProjectOptions.property.typecheckTests"></a>
10797
+
10798
+ ```typescript
10799
+ public readonly typecheckTests: boolean;
10800
+ ```
10801
+
10802
+ - *Type:* boolean
10803
+ - *Default:* false
10804
+
10805
+ Type-check the test suite as part of the `test` task.
10806
+
10807
+ Adds a `tsc --noEmit` step against the development tsconfig.
10808
+
10809
+ ---
10810
+
10565
10811
  ##### `typescriptVersion`<sup>Optional</sup> <a name="typescriptVersion" id="projen-modules.JsiiProjectOptions.property.typescriptVersion"></a>
10566
10812
 
10567
10813
  ```typescript
@@ -10691,7 +10937,9 @@ Enable Node.js package cache in GitHub workflows.
10691
10937
 
10692
10938
  ---
10693
10939
 
10694
- ##### `workflowRunsOn`<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.JsiiProjectOptions.property.workflowRunsOn"></a>
10940
+ ##### ~~`workflowRunsOn`~~<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.JsiiProjectOptions.property.workflowRunsOn"></a>
10941
+
10942
+ - *Deprecated:* use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
10695
10943
 
10696
10944
  ```typescript
10697
10945
  public readonly workflowRunsOn: string[];
@@ -10704,7 +10952,9 @@ Github Runner selection labels.
10704
10952
 
10705
10953
  ---
10706
10954
 
10707
- ##### `workflowRunsOnGroup`<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.JsiiProjectOptions.property.workflowRunsOnGroup"></a>
10955
+ ##### ~~`workflowRunsOnGroup`~~<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.JsiiProjectOptions.property.workflowRunsOnGroup"></a>
10956
+
10957
+ - *Deprecated:* use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
10708
10958
 
10709
10959
  ```typescript
10710
10960
  public readonly workflowRunsOnGroup: GroupRunnerOptions;
@@ -10776,11 +11026,13 @@ const npmPackageOptions: NpmPackageOptions = { ... }
10776
11026
  | <code><a href="#projen-modules.NpmPackageOptions.property.checkLicenses">checkLicenses</a></code> | <code>projen.javascript.LicenseCheckerOptions</code> | Configure which licenses should be deemed acceptable for use by dependencies. |
10777
11027
  | <code><a href="#projen-modules.NpmPackageOptions.property.clobber">clobber</a></code> | <code>boolean</code> | Add a `clobber` task which resets the repo to origin. |
10778
11028
  | <code><a href="#projen-modules.NpmPackageOptions.property.codeArtifactOptions">codeArtifactOptions</a></code> | <code>projen.javascript.CodeArtifactOptions</code> | Options for npm packages using AWS CodeArtifact. |
10779
- | <code><a href="#projen-modules.NpmPackageOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
11029
+ | <code><a href="#projen-modules.NpmPackageOptions.property.codeCov">codeCov</a></code> | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`. |
10780
11030
  | <code><a href="#projen-modules.NpmPackageOptions.property.codeCovTokenSecret">codeCovTokenSecret</a></code> | <code>string</code> | Define the secret name for a specified https://codecov.io/ token. |
10781
11031
  | <code><a href="#projen-modules.NpmPackageOptions.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
11032
+ | <code><a href="#projen-modules.NpmPackageOptions.property.config">config</a></code> | <code>{[ key: string ]: any}</code> | Configuration values available to package scripts at runtime. |
10782
11033
  | <code><a href="#projen-modules.NpmPackageOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | License copyright owner. |
10783
11034
  | <code><a href="#projen-modules.NpmPackageOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | The copyright years to put in the LICENSE file. |
11035
+ | <code><a href="#projen-modules.NpmPackageOptions.property.dedupeDeps">dedupeDeps</a></code> | <code>boolean</code> | Add a `dedupe` task that deduplicates project dependencies. |
10784
11036
  | <code><a href="#projen-modules.NpmPackageOptions.property.defaultReleaseBranch">defaultReleaseBranch</a></code> | <code>string</code> | The name of the main release branch. |
10785
11037
  | <code><a href="#projen-modules.NpmPackageOptions.property.deleteOrphanedLockFiles">deleteOrphanedLockFiles</a></code> | <code>boolean</code> | Automatically delete lockfiles from package managers that are not the active one. |
10786
11038
  | <code><a href="#projen-modules.NpmPackageOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
@@ -10802,6 +11054,7 @@ const npmPackageOptions: NpmPackageOptions = { ... }
10802
11054
  | <code><a href="#projen-modules.NpmPackageOptions.property.eslintOptions">eslintOptions</a></code> | <code>projen.javascript.EslintOptions</code> | Eslint options. |
10803
11055
  | <code><a href="#projen-modules.NpmPackageOptions.property.github">github</a></code> | <code>boolean</code> | Enable GitHub integration. |
10804
11056
  | <code><a href="#projen-modules.NpmPackageOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
11057
+ | <code><a href="#projen-modules.NpmPackageOptions.property.githubReleaseLatest">githubReleaseLatest</a></code> | <code>boolean</code> | Whether GitHub should explicitly mark the release from the default branch as the latest release. |
10805
11058
  | <code><a href="#projen-modules.NpmPackageOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
10806
11059
  | <code><a href="#projen-modules.NpmPackageOptions.property.gitIgnoreOptions">gitIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .gitignore file. |
10807
11060
  | <code><a href="#projen-modules.NpmPackageOptions.property.gitOptions">gitOptions</a></code> | <code>projen.GitOptions</code> | Configuration options for git. |
@@ -10885,6 +11138,7 @@ const npmPackageOptions: NpmPackageOptions = { ... }
10885
11138
  | <code><a href="#projen-modules.NpmPackageOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
10886
11139
  | <code><a href="#projen-modules.NpmPackageOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name (and path) of the development tsconfig file. |
10887
11140
  | <code><a href="#projen-modules.NpmPackageOptions.property.tsJestOptions">tsJestOptions</a></code> | <code>projen.typescript.TsJestOptions</code> | Options for ts-jest. |
11141
+ | <code><a href="#projen-modules.NpmPackageOptions.property.typecheckTests">typecheckTests</a></code> | <code>boolean</code> | Type-check the test suite as part of the `test` task. |
10888
11142
  | <code><a href="#projen-modules.NpmPackageOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
10889
11143
  | <code><a href="#projen-modules.NpmPackageOptions.property.versionrcOptions">versionrcOptions</a></code> | <code>{[ key: string ]: any}</code> | Custom configuration used when creating changelog with commit-and-tag-version package. |
10890
11144
  | <code><a href="#projen-modules.NpmPackageOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
@@ -11361,7 +11615,7 @@ public readonly codeCov: boolean;
11361
11615
  - *Type:* boolean
11362
11616
  - *Default:* false
11363
11617
 
11364
- Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
11618
+ Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/. Uses codecov/codecov-action. By default, OIDC auth is used. Alternatively a token can be provided via `codeCovTokenSecret`.
11365
11619
 
11366
11620
  ---
11367
11621
 
@@ -11391,6 +11645,21 @@ Whether to commit the managed files by default.
11391
11645
 
11392
11646
  ---
11393
11647
 
11648
+ ##### `config`<sup>Optional</sup> <a name="config" id="projen-modules.NpmPackageOptions.property.config"></a>
11649
+
11650
+ ```typescript
11651
+ public readonly config: {[ key: string ]: any};
11652
+ ```
11653
+
11654
+ - *Type:* {[ key: string ]: any}
11655
+ - *Default:* no package configuration
11656
+
11657
+ Configuration values available to package scripts at runtime.
11658
+
11659
+ Values should be JSON-serializable.
11660
+
11661
+ ---
11662
+
11394
11663
  ##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="projen-modules.NpmPackageOptions.property.copyrightOwner"></a>
11395
11664
 
11396
11665
  ```typescript
@@ -11402,6 +11671,10 @@ public readonly copyrightOwner: string;
11402
11671
 
11403
11672
  License copyright owner.
11404
11673
 
11674
+ This value is only used if the selected license text contains the
11675
+ `$copyright_owner` placeholder. For example, it has no effect on the
11676
+ MPL-2.0 license text.
11677
+
11405
11678
  ---
11406
11679
 
11407
11680
  ##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="projen-modules.NpmPackageOptions.property.copyrightPeriod"></a>
@@ -11415,6 +11688,38 @@ public readonly copyrightPeriod: string;
11415
11688
 
11416
11689
  The copyright years to put in the LICENSE file.
11417
11690
 
11691
+ This value is only used if the selected license text contains the
11692
+ `$copyright_period` placeholder. For example, it has no effect on the
11693
+ MPL-2.0 license text.
11694
+
11695
+ ---
11696
+
11697
+ ##### `dedupeDeps`<sup>Optional</sup> <a name="dedupeDeps" id="projen-modules.NpmPackageOptions.property.dedupeDeps"></a>
11698
+
11699
+ ```typescript
11700
+ public readonly dedupeDeps: boolean;
11701
+ ```
11702
+
11703
+ - *Type:* boolean
11704
+ - *Default:* false, unless `yarnBerryOptions.dedupePackages` is set
11705
+
11706
+ Add a `dedupe` task that deduplicates project dependencies.
11707
+
11708
+ Deduplication prevents multiple versions of the same package from being
11709
+ installed, if a single version can satisfy all requested version ranges.
11710
+ This prevents version proliferation and reduces the size of the dependency
11711
+ tree.
11712
+
11713
+ The behavior depends on the package manager:
11714
+ - npm: runs `npm dedupe` after every mutating install.
11715
+ - pnpm: runs `pnpm dedupe` after every mutating install.
11716
+ - Yarn Berry: runs `yarn dedupe` after every mutating install. If
11717
+ `yarnBerryOptions.dedupePackages` is set, only the listed packages are
11718
+ deduplicated.
11719
+ - Yarn Classic: `yarn install` already deduplicates, so the task only
11720
+ prints an informational message.
11721
+ - Bun: not supported, enabling this option throws an error.
11722
+
11418
11723
  ---
11419
11724
 
11420
11725
  ##### `defaultReleaseBranch`<sup>Optional</sup> <a name="defaultReleaseBranch" id="projen-modules.NpmPackageOptions.property.defaultReleaseBranch"></a>
@@ -11720,6 +12025,22 @@ Options for GitHub integration.
11720
12025
 
11721
12026
  ---
11722
12027
 
12028
+ ##### `githubReleaseLatest`<sup>Optional</sup> <a name="githubReleaseLatest" id="projen-modules.NpmPackageOptions.property.githubReleaseLatest"></a>
12029
+
12030
+ ```typescript
12031
+ public readonly githubReleaseLatest: boolean;
12032
+ ```
12033
+
12034
+ - *Type:* boolean
12035
+ - *Default:* GitHub determines the latest release based on date and semantic version.
12036
+
12037
+ Whether GitHub should explicitly mark the release from the default branch as the latest release.
12038
+
12039
+ Set to `true` to mark the release as latest, or `false` to explicitly not
12040
+ mark it as latest.
12041
+
12042
+ ---
12043
+
11723
12044
  ##### `gitignore`<sup>Optional</sup> <a name="gitignore" id="projen-modules.NpmPackageOptions.property.gitignore"></a>
11724
12045
 
11725
12046
  ```typescript
@@ -12320,6 +12641,10 @@ public readonly projenCommand: string;
12320
12641
 
12321
12642
  The shell command to use in order to run the projen CLI.
12322
12643
 
12644
+ Inserted verbatim into task steps, workflows and IDE configuration, and run
12645
+ by each of their shells - locally, in CI and in dev containers. Keep it a
12646
+ plain unquoted command, since shell syntax in it executes in all of them.
12647
+
12323
12648
  Can be used to customize in special environments.
12324
12649
 
12325
12650
  ---
@@ -12906,6 +13231,21 @@ Options for ts-jest.
12906
13231
 
12907
13232
  ---
12908
13233
 
13234
+ ##### `typecheckTests`<sup>Optional</sup> <a name="typecheckTests" id="projen-modules.NpmPackageOptions.property.typecheckTests"></a>
13235
+
13236
+ ```typescript
13237
+ public readonly typecheckTests: boolean;
13238
+ ```
13239
+
13240
+ - *Type:* boolean
13241
+ - *Default:* false
13242
+
13243
+ Type-check the test suite as part of the `test` task.
13244
+
13245
+ Adds a `tsc --noEmit` step against the development tsconfig.
13246
+
13247
+ ---
13248
+
12909
13249
  ##### `typescriptVersion`<sup>Optional</sup> <a name="typescriptVersion" id="projen-modules.NpmPackageOptions.property.typescriptVersion"></a>
12910
13250
 
12911
13251
  ```typescript
@@ -13019,7 +13359,9 @@ Enable Node.js package cache in GitHub workflows.
13019
13359
 
13020
13360
  ---
13021
13361
 
13022
- ##### `workflowRunsOn`<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.NpmPackageOptions.property.workflowRunsOn"></a>
13362
+ ##### ~~`workflowRunsOn`~~<sup>Optional</sup> <a name="workflowRunsOn" id="projen-modules.NpmPackageOptions.property.workflowRunsOn"></a>
13363
+
13364
+ - *Deprecated:* use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
13023
13365
 
13024
13366
  ```typescript
13025
13367
  public readonly workflowRunsOn: string[];
@@ -13032,7 +13374,9 @@ Github Runner selection labels.
13032
13374
 
13033
13375
  ---
13034
13376
 
13035
- ##### `workflowRunsOnGroup`<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.NpmPackageOptions.property.workflowRunsOnGroup"></a>
13377
+ ##### ~~`workflowRunsOnGroup`~~<sup>Optional</sup> <a name="workflowRunsOnGroup" id="projen-modules.NpmPackageOptions.property.workflowRunsOnGroup"></a>
13378
+
13379
+ - *Deprecated:* use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
13036
13380
 
13037
13381
  ```typescript
13038
13382
  public readonly workflowRunsOnGroup: GroupRunnerOptions;
@@ -13561,6 +13905,10 @@ public readonly projenCommand: string;
13561
13905
 
13562
13906
  The shell command to use in order to run the projen CLI.
13563
13907
 
13908
+ Inserted verbatim into task steps, workflows and IDE configuration, and run
13909
+ by each of their shells - locally, in CI and in dev containers. Keep it a
13910
+ plain unquoted command, since shell syntax in it executes in all of them.
13911
+
13564
13912
  Can be used to customize in special environments.
13565
13913
 
13566
13914
  ---