projen-modules 1.0.154__py3-none-any.whl → 1.1.0__py3-none-any.whl

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.

Potentially problematic release.


This version of projen-modules might be problematic. Click here for more details.

@@ -177,7 +177,7 @@ class CdkTypeScriptApp(
177
177
  eslint: typing.Optional[builtins.bool] = None,
178
178
  eslint_options: typing.Optional[typing.Union[_projen_javascript_04054675.EslintOptions, typing.Dict[builtins.str, typing.Any]]] = None,
179
179
  experimental_integ_runner: typing.Optional[builtins.bool] = None,
180
- feature_flags: typing.Optional[builtins.bool] = None,
180
+ feature_flags: typing.Optional[_projen_awscdk_04054675.ICdkFeatureFlags] = None,
181
181
  github: typing.Optional[builtins.bool] = None,
182
182
  github_options: typing.Optional[typing.Union[_projen_github_04054675.GitHubOptions, typing.Dict[builtins.str, typing.Any]]] = None,
183
183
  gitignore: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -214,6 +214,7 @@ class CdkTypeScriptApp(
214
214
  npm_registry: typing.Optional[builtins.str] = None,
215
215
  npm_registry_url: typing.Optional[builtins.str] = None,
216
216
  npm_token_secret: typing.Optional[builtins.str] = None,
217
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
217
218
  outdir: typing.Optional[builtins.str] = None,
218
219
  package: typing.Optional[builtins.bool] = None,
219
220
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -246,6 +247,7 @@ class CdkTypeScriptApp(
246
247
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
247
248
  release: typing.Optional[builtins.bool] = None,
248
249
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
250
+ release_environment: typing.Optional[builtins.str] = None,
249
251
  release_every_commit: typing.Optional[builtins.bool] = None,
250
252
  release_failure_issue: typing.Optional[builtins.bool] = None,
251
253
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -254,6 +256,7 @@ class CdkTypeScriptApp(
254
256
  release_to_npm: typing.Optional[builtins.bool] = None,
255
257
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
256
258
  release_workflow: typing.Optional[builtins.bool] = None,
259
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
257
260
  release_workflow_name: typing.Optional[builtins.str] = None,
258
261
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
259
262
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -328,8 +331,8 @@ class CdkTypeScriptApp(
328
331
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
329
332
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
330
333
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
331
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
332
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
334
+ :param code_cov: (experimental) 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``. Default: false
335
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
333
336
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
334
337
  :param constructs_version: (experimental) Minimum version of the ``constructs`` library to depend on. Default: - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
335
338
  :param context: (experimental) Additional context to include in ``cdk.json``. Default: - no additional context
@@ -351,10 +354,10 @@ class CdkTypeScriptApp(
351
354
  :param edge_lambda_auto_discover: (experimental) Automatically adds an ``cloudfront.experimental.EdgeFunction`` for each ``.edge-lambda.ts`` handler in your source tree. If this is disabled, you can manually add an ``awscdk.AutoDiscover`` component to your project. Default: true
352
355
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
353
356
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
354
- :param eslint: (experimental) Setup eslint. Default: true
357
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
355
358
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
356
359
  :param experimental_integ_runner: (experimental) Enable experimental support for the AWS CDK integ-runner. Default: false
357
- :param feature_flags: (experimental) Include all feature flags in cdk.json. Default: true
360
+ :param feature_flags: (experimental) 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. Default: - no feature flags are enabled by default
358
361
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
359
362
  :param github_options: (experimental) Options for GitHub integration. Default: - see GitHubOptions
360
363
  :param gitignore: (experimental) Additional entries to .gitignore.
@@ -391,6 +394,7 @@ class CdkTypeScriptApp(
391
394
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
392
395
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
393
396
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
397
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
394
398
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
395
399
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
396
400
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -423,6 +427,7 @@ class CdkTypeScriptApp(
423
427
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
424
428
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
425
429
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
430
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
426
431
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
427
432
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
428
433
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -431,6 +436,7 @@ class CdkTypeScriptApp(
431
436
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
432
437
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
433
438
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
439
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
434
440
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
435
441
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
436
442
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -457,7 +463,7 @@ class CdkTypeScriptApp(
457
463
  :param watch_includes: (experimental) Glob patterns to include in ``cdk watch``. Default: []
458
464
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
459
465
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
460
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
466
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
461
467
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
462
468
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
463
469
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -568,6 +574,7 @@ class CdkTypeScriptApp(
568
574
  npm_registry=npm_registry,
569
575
  npm_registry_url=npm_registry_url,
570
576
  npm_token_secret=npm_token_secret,
577
+ npm_trusted_publishing=npm_trusted_publishing,
571
578
  outdir=outdir,
572
579
  package=package,
573
580
  package_manager=package_manager,
@@ -600,6 +607,7 @@ class CdkTypeScriptApp(
600
607
  releasable_commits=releasable_commits,
601
608
  release=release,
602
609
  release_branches=release_branches,
610
+ release_environment=release_environment,
603
611
  release_every_commit=release_every_commit,
604
612
  release_failure_issue=release_failure_issue,
605
613
  release_failure_issue_label=release_failure_issue_label,
@@ -608,6 +616,7 @@ class CdkTypeScriptApp(
608
616
  release_to_npm=release_to_npm,
609
617
  release_trigger=release_trigger,
610
618
  release_workflow=release_workflow,
619
+ release_workflow_env=release_workflow_env,
611
620
  release_workflow_name=release_workflow_name,
612
621
  release_workflow_setup_steps=release_workflow_setup_steps,
613
622
  renovatebot=renovatebot,
@@ -764,6 +773,7 @@ class CdkTypeScriptApp(
764
773
  "npm_registry": "npmRegistry",
765
774
  "npm_registry_url": "npmRegistryUrl",
766
775
  "npm_token_secret": "npmTokenSecret",
776
+ "npm_trusted_publishing": "npmTrustedPublishing",
767
777
  "outdir": "outdir",
768
778
  "package": "package",
769
779
  "package_manager": "packageManager",
@@ -796,6 +806,7 @@ class CdkTypeScriptApp(
796
806
  "releasable_commits": "releasableCommits",
797
807
  "release": "release",
798
808
  "release_branches": "releaseBranches",
809
+ "release_environment": "releaseEnvironment",
799
810
  "release_every_commit": "releaseEveryCommit",
800
811
  "release_failure_issue": "releaseFailureIssue",
801
812
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -804,6 +815,7 @@ class CdkTypeScriptApp(
804
815
  "release_to_npm": "releaseToNpm",
805
816
  "release_trigger": "releaseTrigger",
806
817
  "release_workflow": "releaseWorkflow",
818
+ "release_workflow_env": "releaseWorkflowEnv",
807
819
  "release_workflow_name": "releaseWorkflowName",
808
820
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
809
821
  "renovatebot": "renovatebot",
@@ -908,7 +920,7 @@ class CdkTypeScriptAppOptions:
908
920
  eslint: typing.Optional[builtins.bool] = None,
909
921
  eslint_options: typing.Optional[typing.Union[_projen_javascript_04054675.EslintOptions, typing.Dict[builtins.str, typing.Any]]] = None,
910
922
  experimental_integ_runner: typing.Optional[builtins.bool] = None,
911
- feature_flags: typing.Optional[builtins.bool] = None,
923
+ feature_flags: typing.Optional[_projen_awscdk_04054675.ICdkFeatureFlags] = None,
912
924
  github: typing.Optional[builtins.bool] = None,
913
925
  github_options: typing.Optional[typing.Union[_projen_github_04054675.GitHubOptions, typing.Dict[builtins.str, typing.Any]]] = None,
914
926
  gitignore: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -945,6 +957,7 @@ class CdkTypeScriptAppOptions:
945
957
  npm_registry: typing.Optional[builtins.str] = None,
946
958
  npm_registry_url: typing.Optional[builtins.str] = None,
947
959
  npm_token_secret: typing.Optional[builtins.str] = None,
960
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
948
961
  outdir: typing.Optional[builtins.str] = None,
949
962
  package: typing.Optional[builtins.bool] = None,
950
963
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -977,6 +990,7 @@ class CdkTypeScriptAppOptions:
977
990
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
978
991
  release: typing.Optional[builtins.bool] = None,
979
992
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
993
+ release_environment: typing.Optional[builtins.str] = None,
980
994
  release_every_commit: typing.Optional[builtins.bool] = None,
981
995
  release_failure_issue: typing.Optional[builtins.bool] = None,
982
996
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -985,6 +999,7 @@ class CdkTypeScriptAppOptions:
985
999
  release_to_npm: typing.Optional[builtins.bool] = None,
986
1000
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
987
1001
  release_workflow: typing.Optional[builtins.bool] = None,
1002
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
988
1003
  release_workflow_name: typing.Optional[builtins.str] = None,
989
1004
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
990
1005
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -1060,8 +1075,8 @@ class CdkTypeScriptAppOptions:
1060
1075
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
1061
1076
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
1062
1077
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
1063
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
1064
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
1078
+ :param code_cov: (experimental) 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``. Default: false
1079
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
1065
1080
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
1066
1081
  :param constructs_version: (experimental) Minimum version of the ``constructs`` library to depend on. Default: - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
1067
1082
  :param context: (experimental) Additional context to include in ``cdk.json``. Default: - no additional context
@@ -1083,10 +1098,10 @@ class CdkTypeScriptAppOptions:
1083
1098
  :param edge_lambda_auto_discover: (experimental) Automatically adds an ``cloudfront.experimental.EdgeFunction`` for each ``.edge-lambda.ts`` handler in your source tree. If this is disabled, you can manually add an ``awscdk.AutoDiscover`` component to your project. Default: true
1084
1099
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
1085
1100
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
1086
- :param eslint: (experimental) Setup eslint. Default: true
1101
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
1087
1102
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
1088
1103
  :param experimental_integ_runner: (experimental) Enable experimental support for the AWS CDK integ-runner. Default: false
1089
- :param feature_flags: (experimental) Include all feature flags in cdk.json. Default: true
1104
+ :param feature_flags: (experimental) 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. Default: - no feature flags are enabled by default
1090
1105
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
1091
1106
  :param github_options: (experimental) Options for GitHub integration. Default: - see GitHubOptions
1092
1107
  :param gitignore: (experimental) Additional entries to .gitignore.
@@ -1123,6 +1138,7 @@ class CdkTypeScriptAppOptions:
1123
1138
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1124
1139
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
1125
1140
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1141
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
1126
1142
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
1127
1143
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
1128
1144
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -1155,6 +1171,7 @@ class CdkTypeScriptAppOptions:
1155
1171
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1156
1172
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
1157
1173
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
1174
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
1158
1175
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1159
1176
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1160
1177
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -1163,6 +1180,7 @@ class CdkTypeScriptAppOptions:
1163
1180
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
1164
1181
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
1165
1182
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
1183
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
1166
1184
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
1167
1185
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
1168
1186
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -1189,7 +1207,7 @@ class CdkTypeScriptAppOptions:
1189
1207
  :param watch_includes: (experimental) Glob patterns to include in ``cdk watch``. Default: []
1190
1208
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
1191
1209
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
1192
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
1210
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
1193
1211
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
1194
1212
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
1195
1213
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -1367,6 +1385,7 @@ class CdkTypeScriptAppOptions:
1367
1385
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
1368
1386
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
1369
1387
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
1388
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
1370
1389
  check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
1371
1390
  check_type(argname="argument package", value=package, expected_type=type_hints["package"])
1372
1391
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
@@ -1399,6 +1418,7 @@ class CdkTypeScriptAppOptions:
1399
1418
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
1400
1419
  check_type(argname="argument release", value=release, expected_type=type_hints["release"])
1401
1420
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
1421
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
1402
1422
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
1403
1423
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
1404
1424
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -1407,6 +1427,7 @@ class CdkTypeScriptAppOptions:
1407
1427
  check_type(argname="argument release_to_npm", value=release_to_npm, expected_type=type_hints["release_to_npm"])
1408
1428
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
1409
1429
  check_type(argname="argument release_workflow", value=release_workflow, expected_type=type_hints["release_workflow"])
1430
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
1410
1431
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
1411
1432
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
1412
1433
  check_type(argname="argument renovatebot", value=renovatebot, expected_type=type_hints["renovatebot"])
@@ -1644,6 +1665,8 @@ class CdkTypeScriptAppOptions:
1644
1665
  self._values["npm_registry_url"] = npm_registry_url
1645
1666
  if npm_token_secret is not None:
1646
1667
  self._values["npm_token_secret"] = npm_token_secret
1668
+ if npm_trusted_publishing is not None:
1669
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
1647
1670
  if outdir is not None:
1648
1671
  self._values["outdir"] = outdir
1649
1672
  if package is not None:
@@ -1708,6 +1731,8 @@ class CdkTypeScriptAppOptions:
1708
1731
  self._values["release"] = release
1709
1732
  if release_branches is not None:
1710
1733
  self._values["release_branches"] = release_branches
1734
+ if release_environment is not None:
1735
+ self._values["release_environment"] = release_environment
1711
1736
  if release_every_commit is not None:
1712
1737
  self._values["release_every_commit"] = release_every_commit
1713
1738
  if release_failure_issue is not None:
@@ -1724,6 +1749,8 @@ class CdkTypeScriptAppOptions:
1724
1749
  self._values["release_trigger"] = release_trigger
1725
1750
  if release_workflow is not None:
1726
1751
  self._values["release_workflow"] = release_workflow
1752
+ if release_workflow_env is not None:
1753
+ self._values["release_workflow_env"] = release_workflow_env
1727
1754
  if release_workflow_name is not None:
1728
1755
  self._values["release_workflow_name"] = release_workflow_name
1729
1756
  if release_workflow_setup_steps is not None:
@@ -2285,7 +2312,7 @@ class CdkTypeScriptAppOptions:
2285
2312
 
2286
2313
  @builtins.property
2287
2314
  def code_cov(self) -> typing.Optional[builtins.bool]:
2288
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
2315
+ '''(experimental) 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``.
2289
2316
 
2290
2317
  :default: false
2291
2318
 
@@ -2296,9 +2323,9 @@ class CdkTypeScriptAppOptions:
2296
2323
 
2297
2324
  @builtins.property
2298
2325
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
2299
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
2326
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
2300
2327
 
2301
- :default: - if this option is not specified, only public repositories are supported
2328
+ :default: - OIDC auth is used
2302
2329
 
2303
2330
  :stability: experimental
2304
2331
  '''
@@ -2573,7 +2600,7 @@ class CdkTypeScriptAppOptions:
2573
2600
  def eslint(self) -> typing.Optional[builtins.bool]:
2574
2601
  '''(experimental) Setup eslint.
2575
2602
 
2576
- :default: true
2603
+ :default: - true, unless biome is enabled
2577
2604
 
2578
2605
  :stability: experimental
2579
2606
  '''
@@ -2605,15 +2632,17 @@ class CdkTypeScriptAppOptions:
2605
2632
  return typing.cast(typing.Optional[builtins.bool], result)
2606
2633
 
2607
2634
  @builtins.property
2608
- def feature_flags(self) -> typing.Optional[builtins.bool]:
2609
- '''(experimental) Include all feature flags in cdk.json.
2635
+ def feature_flags(
2636
+ self,
2637
+ ) -> typing.Optional[_projen_awscdk_04054675.ICdkFeatureFlags]:
2638
+ '''(experimental) 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.
2610
2639
 
2611
- :default: true
2640
+ :default: - no feature flags are enabled by default
2612
2641
 
2613
2642
  :stability: experimental
2614
2643
  '''
2615
2644
  result = self._values.get("feature_flags")
2616
- return typing.cast(typing.Optional[builtins.bool], result)
2645
+ return typing.cast(typing.Optional[_projen_awscdk_04054675.ICdkFeatureFlags], result)
2617
2646
 
2618
2647
  @builtins.property
2619
2648
  def github(self) -> typing.Optional[builtins.bool]:
@@ -3082,6 +3111,17 @@ class CdkTypeScriptAppOptions:
3082
3111
  result = self._values.get("npm_token_secret")
3083
3112
  return typing.cast(typing.Optional[builtins.str], result)
3084
3113
 
3114
+ @builtins.property
3115
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
3116
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
3117
+
3118
+ :default: - false
3119
+
3120
+ :stability: experimental
3121
+ '''
3122
+ result = self._values.get("npm_trusted_publishing")
3123
+ return typing.cast(typing.Optional[builtins.bool], result)
3124
+
3085
3125
  @builtins.property
3086
3126
  def outdir(self) -> typing.Optional[builtins.str]:
3087
3127
  '''(experimental) The root directory of the project. Relative to this directory, all files are synthesized.
@@ -3485,6 +3525,23 @@ class CdkTypeScriptAppOptions:
3485
3525
  result = self._values.get("release_branches")
3486
3526
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _projen_release_04054675.BranchOptions]], result)
3487
3527
 
3528
+ @builtins.property
3529
+ def release_environment(self) -> typing.Optional[builtins.str]:
3530
+ '''(experimental) The GitHub Actions environment used for the release.
3531
+
3532
+ This can be used to add an explicit approval step to the release
3533
+ or limit who can initiate a release through environment protection rules.
3534
+
3535
+ When multiple artifacts are released, the environment can be overwritten
3536
+ on a per artifact basis.
3537
+
3538
+ :default: - no environment used, unless set at the artifact level
3539
+
3540
+ :stability: experimental
3541
+ '''
3542
+ result = self._values.get("release_environment")
3543
+ return typing.cast(typing.Optional[builtins.str], result)
3544
+
3488
3545
  @builtins.property
3489
3546
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3490
3547
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -3589,6 +3646,19 @@ class CdkTypeScriptAppOptions:
3589
3646
  result = self._values.get("release_workflow")
3590
3647
  return typing.cast(typing.Optional[builtins.bool], result)
3591
3648
 
3649
+ @builtins.property
3650
+ def release_workflow_env(
3651
+ self,
3652
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3653
+ '''(experimental) Build environment variables for release workflows.
3654
+
3655
+ :default: {}
3656
+
3657
+ :stability: experimental
3658
+ '''
3659
+ result = self._values.get("release_workflow_env")
3660
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
3661
+
3592
3662
  @builtins.property
3593
3663
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
3594
3664
  '''(experimental) The name of the default release workflow.
@@ -3914,7 +3984,7 @@ class CdkTypeScriptAppOptions:
3914
3984
  ) -> typing.Optional[_projen_github_04054675.GitIdentity]:
3915
3985
  '''(experimental) The git identity to use in workflows.
3916
3986
 
3917
- :default: - GitHub Actions
3987
+ :default: - default GitHub Actions user
3918
3988
 
3919
3989
  :stability: experimental
3920
3990
  '''
@@ -4153,6 +4223,7 @@ class JsiiProject(
4153
4223
  npm_registry: typing.Optional[builtins.str] = None,
4154
4224
  npm_registry_url: typing.Optional[builtins.str] = None,
4155
4225
  npm_token_secret: typing.Optional[builtins.str] = None,
4226
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
4156
4227
  outdir: typing.Optional[builtins.str] = None,
4157
4228
  package: typing.Optional[builtins.bool] = None,
4158
4229
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -4190,6 +4261,7 @@ class JsiiProject(
4190
4261
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
4191
4262
  release: typing.Optional[builtins.bool] = None,
4192
4263
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
4264
+ release_environment: typing.Optional[builtins.str] = None,
4193
4265
  release_every_commit: typing.Optional[builtins.bool] = None,
4194
4266
  release_failure_issue: typing.Optional[builtins.bool] = None,
4195
4267
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -4198,6 +4270,7 @@ class JsiiProject(
4198
4270
  release_to_npm: typing.Optional[builtins.bool] = None,
4199
4271
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
4200
4272
  release_workflow: typing.Optional[builtins.bool] = None,
4273
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4201
4274
  release_workflow_name: typing.Optional[builtins.str] = None,
4202
4275
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
4203
4276
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -4261,8 +4334,8 @@ class JsiiProject(
4261
4334
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
4262
4335
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
4263
4336
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
4264
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
4265
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
4337
+ :param code_cov: (experimental) 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``. Default: false
4338
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
4266
4339
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
4267
4340
  :param compat: (experimental) Automatically run API compatibility test against the latest version published to npm after compilation. - You can manually run compatibility tests using ``yarn compat`` if this feature is disabled. - You can ignore compatibility failures by adding lines to a ".compatignore" file. Default: false
4268
4341
  :param compat_ignore: (experimental) Name of the ignore file for API compatibility tests. Default: ".compatignore"
@@ -4286,7 +4359,7 @@ class JsiiProject(
4286
4359
  :param dotnet:
4287
4360
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
4288
4361
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
4289
- :param eslint: (experimental) Setup eslint. Default: true
4362
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
4290
4363
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
4291
4364
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
4292
4365
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
@@ -4299,7 +4372,7 @@ class JsiiProject(
4299
4372
  :param jest: (experimental) Setup jest unit tests. Default: true
4300
4373
  :param jest_options: (experimental) Jest options. Default: - default options
4301
4374
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
4302
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.6.0"
4375
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
4303
4376
  :param keywords: (experimental) Keywords to include in ``package.json``.
4304
4377
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
4305
4378
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
@@ -4322,6 +4395,7 @@ class JsiiProject(
4322
4395
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
4323
4396
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
4324
4397
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
4398
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
4325
4399
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
4326
4400
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
4327
4401
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -4359,6 +4433,7 @@ class JsiiProject(
4359
4433
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
4360
4434
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
4361
4435
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
4436
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
4362
4437
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
4363
4438
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
4364
4439
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -4367,6 +4442,7 @@ class JsiiProject(
4367
4442
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
4368
4443
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
4369
4444
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
4445
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
4370
4446
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
4371
4447
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
4372
4448
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -4391,7 +4467,7 @@ class JsiiProject(
4391
4467
  :param vscode: (experimental) Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
4392
4468
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
4393
4469
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
4394
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
4470
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
4395
4471
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
4396
4472
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
4397
4473
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -4491,6 +4567,7 @@ class JsiiProject(
4491
4567
  npm_registry=npm_registry,
4492
4568
  npm_registry_url=npm_registry_url,
4493
4569
  npm_token_secret=npm_token_secret,
4570
+ npm_trusted_publishing=npm_trusted_publishing,
4494
4571
  outdir=outdir,
4495
4572
  package=package,
4496
4573
  package_manager=package_manager,
@@ -4528,6 +4605,7 @@ class JsiiProject(
4528
4605
  releasable_commits=releasable_commits,
4529
4606
  release=release,
4530
4607
  release_branches=release_branches,
4608
+ release_environment=release_environment,
4531
4609
  release_every_commit=release_every_commit,
4532
4610
  release_failure_issue=release_failure_issue,
4533
4611
  release_failure_issue_label=release_failure_issue_label,
@@ -4536,6 +4614,7 @@ class JsiiProject(
4536
4614
  release_to_npm=release_to_npm,
4537
4615
  release_trigger=release_trigger,
4538
4616
  release_workflow=release_workflow,
4617
+ release_workflow_env=release_workflow_env,
4539
4618
  release_workflow_name=release_workflow_name,
4540
4619
  release_workflow_setup_steps=release_workflow_setup_steps,
4541
4620
  renovatebot=renovatebot,
@@ -4679,6 +4758,7 @@ class JsiiProject(
4679
4758
  "npm_registry": "npmRegistry",
4680
4759
  "npm_registry_url": "npmRegistryUrl",
4681
4760
  "npm_token_secret": "npmTokenSecret",
4761
+ "npm_trusted_publishing": "npmTrustedPublishing",
4682
4762
  "outdir": "outdir",
4683
4763
  "package": "package",
4684
4764
  "package_manager": "packageManager",
@@ -4716,6 +4796,7 @@ class JsiiProject(
4716
4796
  "releasable_commits": "releasableCommits",
4717
4797
  "release": "release",
4718
4798
  "release_branches": "releaseBranches",
4799
+ "release_environment": "releaseEnvironment",
4719
4800
  "release_every_commit": "releaseEveryCommit",
4720
4801
  "release_failure_issue": "releaseFailureIssue",
4721
4802
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -4724,6 +4805,7 @@ class JsiiProject(
4724
4805
  "release_to_npm": "releaseToNpm",
4725
4806
  "release_trigger": "releaseTrigger",
4726
4807
  "release_workflow": "releaseWorkflow",
4808
+ "release_workflow_env": "releaseWorkflowEnv",
4727
4809
  "release_workflow_name": "releaseWorkflowName",
4728
4810
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
4729
4811
  "renovatebot": "renovatebot",
@@ -4852,6 +4934,7 @@ class JsiiProjectOptions:
4852
4934
  npm_registry: typing.Optional[builtins.str] = None,
4853
4935
  npm_registry_url: typing.Optional[builtins.str] = None,
4854
4936
  npm_token_secret: typing.Optional[builtins.str] = None,
4937
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
4855
4938
  outdir: typing.Optional[builtins.str] = None,
4856
4939
  package: typing.Optional[builtins.bool] = None,
4857
4940
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -4889,6 +4972,7 @@ class JsiiProjectOptions:
4889
4972
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
4890
4973
  release: typing.Optional[builtins.bool] = None,
4891
4974
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
4975
+ release_environment: typing.Optional[builtins.str] = None,
4892
4976
  release_every_commit: typing.Optional[builtins.bool] = None,
4893
4977
  release_failure_issue: typing.Optional[builtins.bool] = None,
4894
4978
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -4897,6 +4981,7 @@ class JsiiProjectOptions:
4897
4981
  release_to_npm: typing.Optional[builtins.bool] = None,
4898
4982
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
4899
4983
  release_workflow: typing.Optional[builtins.bool] = None,
4984
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4900
4985
  release_workflow_name: typing.Optional[builtins.str] = None,
4901
4986
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
4902
4987
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -4961,8 +5046,8 @@ class JsiiProjectOptions:
4961
5046
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
4962
5047
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
4963
5048
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
4964
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
4965
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
5049
+ :param code_cov: (experimental) 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``. Default: false
5050
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
4966
5051
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
4967
5052
  :param compat: (experimental) Automatically run API compatibility test against the latest version published to npm after compilation. - You can manually run compatibility tests using ``yarn compat`` if this feature is disabled. - You can ignore compatibility failures by adding lines to a ".compatignore" file. Default: false
4968
5053
  :param compat_ignore: (experimental) Name of the ignore file for API compatibility tests. Default: ".compatignore"
@@ -4986,7 +5071,7 @@ class JsiiProjectOptions:
4986
5071
  :param dotnet:
4987
5072
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
4988
5073
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
4989
- :param eslint: (experimental) Setup eslint. Default: true
5074
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
4990
5075
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
4991
5076
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
4992
5077
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
@@ -4999,7 +5084,7 @@ class JsiiProjectOptions:
4999
5084
  :param jest: (experimental) Setup jest unit tests. Default: true
5000
5085
  :param jest_options: (experimental) Jest options. Default: - default options
5001
5086
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
5002
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.6.0"
5087
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
5003
5088
  :param keywords: (experimental) Keywords to include in ``package.json``.
5004
5089
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
5005
5090
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
@@ -5022,6 +5107,7 @@ class JsiiProjectOptions:
5022
5107
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5023
5108
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
5024
5109
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
5110
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
5025
5111
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
5026
5112
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
5027
5113
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -5059,6 +5145,7 @@ class JsiiProjectOptions:
5059
5145
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5060
5146
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
5061
5147
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
5148
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
5062
5149
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5063
5150
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5064
5151
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -5067,6 +5154,7 @@ class JsiiProjectOptions:
5067
5154
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
5068
5155
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
5069
5156
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
5157
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
5070
5158
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
5071
5159
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
5072
5160
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -5091,7 +5179,7 @@ class JsiiProjectOptions:
5091
5179
  :param vscode: (experimental) Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
5092
5180
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
5093
5181
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
5094
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
5182
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
5095
5183
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
5096
5184
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
5097
5185
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -5268,6 +5356,7 @@ class JsiiProjectOptions:
5268
5356
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
5269
5357
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
5270
5358
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
5359
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
5271
5360
  check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
5272
5361
  check_type(argname="argument package", value=package, expected_type=type_hints["package"])
5273
5362
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
@@ -5305,6 +5394,7 @@ class JsiiProjectOptions:
5305
5394
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
5306
5395
  check_type(argname="argument release", value=release, expected_type=type_hints["release"])
5307
5396
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
5397
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
5308
5398
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
5309
5399
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
5310
5400
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -5313,6 +5403,7 @@ class JsiiProjectOptions:
5313
5403
  check_type(argname="argument release_to_npm", value=release_to_npm, expected_type=type_hints["release_to_npm"])
5314
5404
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
5315
5405
  check_type(argname="argument release_workflow", value=release_workflow, expected_type=type_hints["release_workflow"])
5406
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
5316
5407
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
5317
5408
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
5318
5409
  check_type(argname="argument renovatebot", value=renovatebot, expected_type=type_hints["renovatebot"])
@@ -5524,6 +5615,8 @@ class JsiiProjectOptions:
5524
5615
  self._values["npm_registry_url"] = npm_registry_url
5525
5616
  if npm_token_secret is not None:
5526
5617
  self._values["npm_token_secret"] = npm_token_secret
5618
+ if npm_trusted_publishing is not None:
5619
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
5527
5620
  if outdir is not None:
5528
5621
  self._values["outdir"] = outdir
5529
5622
  if package is not None:
@@ -5598,6 +5691,8 @@ class JsiiProjectOptions:
5598
5691
  self._values["release"] = release
5599
5692
  if release_branches is not None:
5600
5693
  self._values["release_branches"] = release_branches
5694
+ if release_environment is not None:
5695
+ self._values["release_environment"] = release_environment
5601
5696
  if release_every_commit is not None:
5602
5697
  self._values["release_every_commit"] = release_every_commit
5603
5698
  if release_failure_issue is not None:
@@ -5614,6 +5709,8 @@ class JsiiProjectOptions:
5614
5709
  self._values["release_trigger"] = release_trigger
5615
5710
  if release_workflow is not None:
5616
5711
  self._values["release_workflow"] = release_workflow
5712
+ if release_workflow_env is not None:
5713
+ self._values["release_workflow_env"] = release_workflow_env
5617
5714
  if release_workflow_name is not None:
5618
5715
  self._values["release_workflow_name"] = release_workflow_name
5619
5716
  if release_workflow_setup_steps is not None:
@@ -6049,7 +6146,7 @@ class JsiiProjectOptions:
6049
6146
 
6050
6147
  @builtins.property
6051
6148
  def code_cov(self) -> typing.Optional[builtins.bool]:
6052
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
6149
+ '''(experimental) 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``.
6053
6150
 
6054
6151
  :default: false
6055
6152
 
@@ -6060,9 +6157,9 @@ class JsiiProjectOptions:
6060
6157
 
6061
6158
  @builtins.property
6062
6159
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
6063
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
6160
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
6064
6161
 
6065
- :default: - if this option is not specified, only public repositories are supported
6162
+ :default: - OIDC auth is used
6066
6163
 
6067
6164
  :stability: experimental
6068
6165
  '''
@@ -6358,7 +6455,7 @@ class JsiiProjectOptions:
6358
6455
  def eslint(self) -> typing.Optional[builtins.bool]:
6359
6456
  '''(experimental) Setup eslint.
6360
6457
 
6361
- :default: true
6458
+ :default: - true, unless biome is enabled
6362
6459
 
6363
6460
  :stability: experimental
6364
6461
  '''
@@ -6506,10 +6603,10 @@ class JsiiProjectOptions:
6506
6603
  and should remain on the same minor, so we recommend using a ``~`` dependency
6507
6604
  (e.g. ``~5.0.0``).
6508
6605
 
6509
- :default: "~5.6.0"
6606
+ :default: "~5.8.0"
6510
6607
 
6511
6608
  :stability: experimental
6512
- :pjnew: "~5.8.0"
6609
+ :pjnew: "~5.9.0"
6513
6610
  '''
6514
6611
  result = self._values.get("jsii_version")
6515
6612
  return typing.cast(typing.Optional[builtins.str], result)
@@ -6831,6 +6928,17 @@ class JsiiProjectOptions:
6831
6928
  result = self._values.get("npm_token_secret")
6832
6929
  return typing.cast(typing.Optional[builtins.str], result)
6833
6930
 
6931
+ @builtins.property
6932
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
6933
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
6934
+
6935
+ :default: - false
6936
+
6937
+ :stability: experimental
6938
+ '''
6939
+ result = self._values.get("npm_trusted_publishing")
6940
+ return typing.cast(typing.Optional[builtins.bool], result)
6941
+
6834
6942
  @builtins.property
6835
6943
  def outdir(self) -> typing.Optional[builtins.str]:
6836
6944
  '''(experimental) The root directory of the project. Relative to this directory, all files are synthesized.
@@ -7290,6 +7398,23 @@ class JsiiProjectOptions:
7290
7398
  result = self._values.get("release_branches")
7291
7399
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _projen_release_04054675.BranchOptions]], result)
7292
7400
 
7401
+ @builtins.property
7402
+ def release_environment(self) -> typing.Optional[builtins.str]:
7403
+ '''(experimental) The GitHub Actions environment used for the release.
7404
+
7405
+ This can be used to add an explicit approval step to the release
7406
+ or limit who can initiate a release through environment protection rules.
7407
+
7408
+ When multiple artifacts are released, the environment can be overwritten
7409
+ on a per artifact basis.
7410
+
7411
+ :default: - no environment used, unless set at the artifact level
7412
+
7413
+ :stability: experimental
7414
+ '''
7415
+ result = self._values.get("release_environment")
7416
+ return typing.cast(typing.Optional[builtins.str], result)
7417
+
7293
7418
  @builtins.property
7294
7419
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
7295
7420
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -7394,6 +7519,19 @@ class JsiiProjectOptions:
7394
7519
  result = self._values.get("release_workflow")
7395
7520
  return typing.cast(typing.Optional[builtins.bool], result)
7396
7521
 
7522
+ @builtins.property
7523
+ def release_workflow_env(
7524
+ self,
7525
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
7526
+ '''(experimental) Build environment variables for release workflows.
7527
+
7528
+ :default: {}
7529
+
7530
+ :stability: experimental
7531
+ '''
7532
+ result = self._values.get("release_workflow_env")
7533
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
7534
+
7397
7535
  @builtins.property
7398
7536
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
7399
7537
  '''(experimental) The name of the default release workflow.
@@ -7694,7 +7832,7 @@ class JsiiProjectOptions:
7694
7832
  ) -> typing.Optional[_projen_github_04054675.GitIdentity]:
7695
7833
  '''(experimental) The git identity to use in workflows.
7696
7834
 
7697
- :default: - GitHub Actions
7835
+ :default: - default GitHub Actions user
7698
7836
 
7699
7837
  :stability: experimental
7700
7838
  '''
@@ -7871,6 +8009,7 @@ class NpmPackage(
7871
8009
  npm_registry: typing.Optional[builtins.str] = None,
7872
8010
  npm_registry_url: typing.Optional[builtins.str] = None,
7873
8011
  npm_token_secret: typing.Optional[builtins.str] = None,
8012
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7874
8013
  outdir: typing.Optional[builtins.str] = None,
7875
8014
  package: typing.Optional[builtins.bool] = None,
7876
8015
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -7903,6 +8042,7 @@ class NpmPackage(
7903
8042
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
7904
8043
  release: typing.Optional[builtins.bool] = None,
7905
8044
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
8045
+ release_environment: typing.Optional[builtins.str] = None,
7906
8046
  release_every_commit: typing.Optional[builtins.bool] = None,
7907
8047
  release_failure_issue: typing.Optional[builtins.bool] = None,
7908
8048
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -7911,6 +8051,7 @@ class NpmPackage(
7911
8051
  release_to_npm: typing.Optional[builtins.bool] = None,
7912
8052
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
7913
8053
  release_workflow: typing.Optional[builtins.bool] = None,
8054
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7914
8055
  release_workflow_name: typing.Optional[builtins.str] = None,
7915
8056
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
7916
8057
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -7970,8 +8111,8 @@ class NpmPackage(
7970
8111
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
7971
8112
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
7972
8113
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
7973
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
7974
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
8114
+ :param code_cov: (experimental) 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``. Default: false
8115
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
7975
8116
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
7976
8117
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
7977
8118
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
@@ -7990,7 +8131,7 @@ class NpmPackage(
7990
8131
  :param docs_directory: (experimental) Docs directory. Default: "docs"
7991
8132
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
7992
8133
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
7993
- :param eslint: (experimental) Setup eslint. Default: true
8134
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
7994
8135
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
7995
8136
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
7996
8137
  :param github_options: (experimental) Options for GitHub integration. Default: - see GitHubOptions
@@ -8024,6 +8165,7 @@ class NpmPackage(
8024
8165
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
8025
8166
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
8026
8167
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
8168
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
8027
8169
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
8028
8170
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
8029
8171
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -8056,6 +8198,7 @@ class NpmPackage(
8056
8198
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
8057
8199
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
8058
8200
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
8201
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
8059
8202
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
8060
8203
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
8061
8204
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -8064,6 +8207,7 @@ class NpmPackage(
8064
8207
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
8065
8208
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
8066
8209
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
8210
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
8067
8211
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
8068
8212
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
8069
8213
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -8087,7 +8231,7 @@ class NpmPackage(
8087
8231
  :param vscode: (experimental) Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
8088
8232
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
8089
8233
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
8090
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
8234
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
8091
8235
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
8092
8236
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
8093
8237
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -8177,6 +8321,7 @@ class NpmPackage(
8177
8321
  npm_registry=npm_registry,
8178
8322
  npm_registry_url=npm_registry_url,
8179
8323
  npm_token_secret=npm_token_secret,
8324
+ npm_trusted_publishing=npm_trusted_publishing,
8180
8325
  outdir=outdir,
8181
8326
  package=package,
8182
8327
  package_manager=package_manager,
@@ -8209,6 +8354,7 @@ class NpmPackage(
8209
8354
  releasable_commits=releasable_commits,
8210
8355
  release=release,
8211
8356
  release_branches=release_branches,
8357
+ release_environment=release_environment,
8212
8358
  release_every_commit=release_every_commit,
8213
8359
  release_failure_issue=release_failure_issue,
8214
8360
  release_failure_issue_label=release_failure_issue_label,
@@ -8217,6 +8363,7 @@ class NpmPackage(
8217
8363
  release_to_npm=release_to_npm,
8218
8364
  release_trigger=release_trigger,
8219
8365
  release_workflow=release_workflow,
8366
+ release_workflow_env=release_workflow_env,
8220
8367
  release_workflow_name=release_workflow_name,
8221
8368
  release_workflow_setup_steps=release_workflow_setup_steps,
8222
8369
  renovatebot=renovatebot,
@@ -8349,6 +8496,7 @@ class NpmPackage(
8349
8496
  "npm_registry": "npmRegistry",
8350
8497
  "npm_registry_url": "npmRegistryUrl",
8351
8498
  "npm_token_secret": "npmTokenSecret",
8499
+ "npm_trusted_publishing": "npmTrustedPublishing",
8352
8500
  "outdir": "outdir",
8353
8501
  "package": "package",
8354
8502
  "package_manager": "packageManager",
@@ -8381,6 +8529,7 @@ class NpmPackage(
8381
8529
  "releasable_commits": "releasableCommits",
8382
8530
  "release": "release",
8383
8531
  "release_branches": "releaseBranches",
8532
+ "release_environment": "releaseEnvironment",
8384
8533
  "release_every_commit": "releaseEveryCommit",
8385
8534
  "release_failure_issue": "releaseFailureIssue",
8386
8535
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -8389,6 +8538,7 @@ class NpmPackage(
8389
8538
  "release_to_npm": "releaseToNpm",
8390
8539
  "release_trigger": "releaseTrigger",
8391
8540
  "release_workflow": "releaseWorkflow",
8541
+ "release_workflow_env": "releaseWorkflowEnv",
8392
8542
  "release_workflow_name": "releaseWorkflowName",
8393
8543
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
8394
8544
  "renovatebot": "renovatebot",
@@ -8506,6 +8656,7 @@ class NpmPackageOptions:
8506
8656
  npm_registry: typing.Optional[builtins.str] = None,
8507
8657
  npm_registry_url: typing.Optional[builtins.str] = None,
8508
8658
  npm_token_secret: typing.Optional[builtins.str] = None,
8659
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8509
8660
  outdir: typing.Optional[builtins.str] = None,
8510
8661
  package: typing.Optional[builtins.bool] = None,
8511
8662
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -8538,6 +8689,7 @@ class NpmPackageOptions:
8538
8689
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
8539
8690
  release: typing.Optional[builtins.bool] = None,
8540
8691
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
8692
+ release_environment: typing.Optional[builtins.str] = None,
8541
8693
  release_every_commit: typing.Optional[builtins.bool] = None,
8542
8694
  release_failure_issue: typing.Optional[builtins.bool] = None,
8543
8695
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -8546,6 +8698,7 @@ class NpmPackageOptions:
8546
8698
  release_to_npm: typing.Optional[builtins.bool] = None,
8547
8699
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
8548
8700
  release_workflow: typing.Optional[builtins.bool] = None,
8701
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8549
8702
  release_workflow_name: typing.Optional[builtins.str] = None,
8550
8703
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
8551
8704
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -8606,8 +8759,8 @@ class NpmPackageOptions:
8606
8759
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
8607
8760
  :param clobber: (experimental) Add a ``clobber`` task which resets the repo to origin. Default: - true, but false for subprojects
8608
8761
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
8609
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
8610
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
8762
+ :param code_cov: (experimental) 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``. Default: false
8763
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
8611
8764
  :param commit_generated: (experimental) Whether to commit the managed files by default. Default: true
8612
8765
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
8613
8766
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
@@ -8626,7 +8779,7 @@ class NpmPackageOptions:
8626
8779
  :param docs_directory: (experimental) Docs directory. Default: "docs"
8627
8780
  :param entrypoint: (experimental) Module entrypoint (``main`` in ``package.json``). Set to an empty string to not include ``main`` in your package.json. Default: "lib/index.js"
8628
8781
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
8629
- :param eslint: (experimental) Setup eslint. Default: true
8782
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
8630
8783
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
8631
8784
  :param github: (experimental) Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
8632
8785
  :param github_options: (experimental) Options for GitHub integration. Default: - see GitHubOptions
@@ -8660,6 +8813,7 @@ class NpmPackageOptions:
8660
8813
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
8661
8814
  :param npm_registry_url: (experimental) The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://") Default: "https://registry.npmjs.org"
8662
8815
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
8816
+ :param npm_trusted_publishing: (experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work. Default: - false
8663
8817
  :param outdir: (experimental) The root directory of the project. Relative to this directory, all files are synthesized. If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects. Default: "."
8664
8818
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
8665
8819
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
@@ -8692,6 +8846,7 @@ class NpmPackageOptions:
8692
8846
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
8693
8847
  :param release: (experimental) Add release management to this project. Default: - true (false for subprojects)
8694
8848
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
8849
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
8695
8850
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
8696
8851
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
8697
8852
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -8700,6 +8855,7 @@ class NpmPackageOptions:
8700
8855
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
8701
8856
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
8702
8857
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
8858
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
8703
8859
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
8704
8860
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
8705
8861
  :param renovatebot: (experimental) Use renovatebot to handle dependency upgrades. Default: false
@@ -8723,7 +8879,7 @@ class NpmPackageOptions:
8723
8879
  :param vscode: (experimental) Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects. Default: true
8724
8880
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
8725
8881
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
8726
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
8882
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
8727
8883
  :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
8728
8884
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
8729
8885
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
@@ -8878,6 +9034,7 @@ class NpmPackageOptions:
8878
9034
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
8879
9035
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
8880
9036
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
9037
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
8881
9038
  check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
8882
9039
  check_type(argname="argument package", value=package, expected_type=type_hints["package"])
8883
9040
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
@@ -8910,6 +9067,7 @@ class NpmPackageOptions:
8910
9067
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
8911
9068
  check_type(argname="argument release", value=release, expected_type=type_hints["release"])
8912
9069
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
9070
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
8913
9071
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
8914
9072
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
8915
9073
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -8918,6 +9076,7 @@ class NpmPackageOptions:
8918
9076
  check_type(argname="argument release_to_npm", value=release_to_npm, expected_type=type_hints["release_to_npm"])
8919
9077
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
8920
9078
  check_type(argname="argument release_workflow", value=release_workflow, expected_type=type_hints["release_workflow"])
9079
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
8921
9080
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
8922
9081
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
8923
9082
  check_type(argname="argument renovatebot", value=renovatebot, expected_type=type_hints["renovatebot"])
@@ -9111,6 +9270,8 @@ class NpmPackageOptions:
9111
9270
  self._values["npm_registry_url"] = npm_registry_url
9112
9271
  if npm_token_secret is not None:
9113
9272
  self._values["npm_token_secret"] = npm_token_secret
9273
+ if npm_trusted_publishing is not None:
9274
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
9114
9275
  if outdir is not None:
9115
9276
  self._values["outdir"] = outdir
9116
9277
  if package is not None:
@@ -9175,6 +9336,8 @@ class NpmPackageOptions:
9175
9336
  self._values["release"] = release
9176
9337
  if release_branches is not None:
9177
9338
  self._values["release_branches"] = release_branches
9339
+ if release_environment is not None:
9340
+ self._values["release_environment"] = release_environment
9178
9341
  if release_every_commit is not None:
9179
9342
  self._values["release_every_commit"] = release_every_commit
9180
9343
  if release_failure_issue is not None:
@@ -9191,6 +9354,8 @@ class NpmPackageOptions:
9191
9354
  self._values["release_trigger"] = release_trigger
9192
9355
  if release_workflow is not None:
9193
9356
  self._values["release_workflow"] = release_workflow
9357
+ if release_workflow_env is not None:
9358
+ self._values["release_workflow_env"] = release_workflow_env
9194
9359
  if release_workflow_name is not None:
9195
9360
  self._values["release_workflow_name"] = release_workflow_name
9196
9361
  if release_workflow_setup_steps is not None:
@@ -9588,7 +9753,7 @@ class NpmPackageOptions:
9588
9753
 
9589
9754
  @builtins.property
9590
9755
  def code_cov(self) -> typing.Optional[builtins.bool]:
9591
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
9756
+ '''(experimental) 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``.
9592
9757
 
9593
9758
  :default: false
9594
9759
 
@@ -9599,9 +9764,9 @@ class NpmPackageOptions:
9599
9764
 
9600
9765
  @builtins.property
9601
9766
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
9602
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
9767
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
9603
9768
 
9604
- :default: - if this option is not specified, only public repositories are supported
9769
+ :default: - OIDC auth is used
9605
9770
 
9606
9771
  :stability: experimental
9607
9772
  '''
@@ -9840,7 +10005,7 @@ class NpmPackageOptions:
9840
10005
  def eslint(self) -> typing.Optional[builtins.bool]:
9841
10006
  '''(experimental) Setup eslint.
9842
10007
 
9843
- :default: true
10008
+ :default: - true, unless biome is enabled
9844
10009
 
9845
10010
  :stability: experimental
9846
10011
  '''
@@ -10281,6 +10446,17 @@ class NpmPackageOptions:
10281
10446
  result = self._values.get("npm_token_secret")
10282
10447
  return typing.cast(typing.Optional[builtins.str], result)
10283
10448
 
10449
+ @builtins.property
10450
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
10451
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
10452
+
10453
+ :default: - false
10454
+
10455
+ :stability: experimental
10456
+ '''
10457
+ result = self._values.get("npm_trusted_publishing")
10458
+ return typing.cast(typing.Optional[builtins.bool], result)
10459
+
10284
10460
  @builtins.property
10285
10461
  def outdir(self) -> typing.Optional[builtins.str]:
10286
10462
  '''(experimental) The root directory of the project. Relative to this directory, all files are synthesized.
@@ -10684,6 +10860,23 @@ class NpmPackageOptions:
10684
10860
  result = self._values.get("release_branches")
10685
10861
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _projen_release_04054675.BranchOptions]], result)
10686
10862
 
10863
+ @builtins.property
10864
+ def release_environment(self) -> typing.Optional[builtins.str]:
10865
+ '''(experimental) The GitHub Actions environment used for the release.
10866
+
10867
+ This can be used to add an explicit approval step to the release
10868
+ or limit who can initiate a release through environment protection rules.
10869
+
10870
+ When multiple artifacts are released, the environment can be overwritten
10871
+ on a per artifact basis.
10872
+
10873
+ :default: - no environment used, unless set at the artifact level
10874
+
10875
+ :stability: experimental
10876
+ '''
10877
+ result = self._values.get("release_environment")
10878
+ return typing.cast(typing.Optional[builtins.str], result)
10879
+
10687
10880
  @builtins.property
10688
10881
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
10689
10882
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -10788,6 +10981,19 @@ class NpmPackageOptions:
10788
10981
  result = self._values.get("release_workflow")
10789
10982
  return typing.cast(typing.Optional[builtins.bool], result)
10790
10983
 
10984
+ @builtins.property
10985
+ def release_workflow_env(
10986
+ self,
10987
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
10988
+ '''(experimental) Build environment variables for release workflows.
10989
+
10990
+ :default: {}
10991
+
10992
+ :stability: experimental
10993
+ '''
10994
+ result = self._values.get("release_workflow_env")
10995
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
10996
+
10791
10997
  @builtins.property
10792
10998
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
10793
10999
  '''(experimental) The name of the default release workflow.
@@ -11078,7 +11284,7 @@ class NpmPackageOptions:
11078
11284
  ) -> typing.Optional[_projen_github_04054675.GitIdentity]:
11079
11285
  '''(experimental) The git identity to use in workflows.
11080
11286
 
11081
- :default: - GitHub Actions
11287
+ :default: - default GitHub Actions user
11082
11288
 
11083
11289
  :stability: experimental
11084
11290
  '''
@@ -12747,7 +12953,7 @@ def _typecheckingstub__3a6354f4c0532263f309ca59025d89b070b95588f76bd5815340cc71a
12747
12953
  eslint: typing.Optional[builtins.bool] = None,
12748
12954
  eslint_options: typing.Optional[typing.Union[_projen_javascript_04054675.EslintOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12749
12955
  experimental_integ_runner: typing.Optional[builtins.bool] = None,
12750
- feature_flags: typing.Optional[builtins.bool] = None,
12956
+ feature_flags: typing.Optional[_projen_awscdk_04054675.ICdkFeatureFlags] = None,
12751
12957
  github: typing.Optional[builtins.bool] = None,
12752
12958
  github_options: typing.Optional[typing.Union[_projen_github_04054675.GitHubOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12753
12959
  gitignore: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -12784,6 +12990,7 @@ def _typecheckingstub__3a6354f4c0532263f309ca59025d89b070b95588f76bd5815340cc71a
12784
12990
  npm_registry: typing.Optional[builtins.str] = None,
12785
12991
  npm_registry_url: typing.Optional[builtins.str] = None,
12786
12992
  npm_token_secret: typing.Optional[builtins.str] = None,
12993
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
12787
12994
  outdir: typing.Optional[builtins.str] = None,
12788
12995
  package: typing.Optional[builtins.bool] = None,
12789
12996
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -12816,6 +13023,7 @@ def _typecheckingstub__3a6354f4c0532263f309ca59025d89b070b95588f76bd5815340cc71a
12816
13023
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
12817
13024
  release: typing.Optional[builtins.bool] = None,
12818
13025
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
13026
+ release_environment: typing.Optional[builtins.str] = None,
12819
13027
  release_every_commit: typing.Optional[builtins.bool] = None,
12820
13028
  release_failure_issue: typing.Optional[builtins.bool] = None,
12821
13029
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -12824,6 +13032,7 @@ def _typecheckingstub__3a6354f4c0532263f309ca59025d89b070b95588f76bd5815340cc71a
12824
13032
  release_to_npm: typing.Optional[builtins.bool] = None,
12825
13033
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
12826
13034
  release_workflow: typing.Optional[builtins.bool] = None,
13035
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12827
13036
  release_workflow_name: typing.Optional[builtins.str] = None,
12828
13037
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
12829
13038
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -12972,6 +13181,7 @@ def _typecheckingstub__bcc0f0f3d874afabc142961b7ca192083fcad906385166f2e47f7e739
12972
13181
  npm_registry: typing.Optional[builtins.str] = None,
12973
13182
  npm_registry_url: typing.Optional[builtins.str] = None,
12974
13183
  npm_token_secret: typing.Optional[builtins.str] = None,
13184
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
12975
13185
  outdir: typing.Optional[builtins.str] = None,
12976
13186
  package: typing.Optional[builtins.bool] = None,
12977
13187
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -13009,6 +13219,7 @@ def _typecheckingstub__bcc0f0f3d874afabc142961b7ca192083fcad906385166f2e47f7e739
13009
13219
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
13010
13220
  release: typing.Optional[builtins.bool] = None,
13011
13221
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
13222
+ release_environment: typing.Optional[builtins.str] = None,
13012
13223
  release_every_commit: typing.Optional[builtins.bool] = None,
13013
13224
  release_failure_issue: typing.Optional[builtins.bool] = None,
13014
13225
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -13017,6 +13228,7 @@ def _typecheckingstub__bcc0f0f3d874afabc142961b7ca192083fcad906385166f2e47f7e739
13017
13228
  release_to_npm: typing.Optional[builtins.bool] = None,
13018
13229
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
13019
13230
  release_workflow: typing.Optional[builtins.bool] = None,
13231
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13020
13232
  release_workflow_name: typing.Optional[builtins.str] = None,
13021
13233
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
13022
13234
  renovatebot: typing.Optional[builtins.bool] = None,
@@ -13141,6 +13353,7 @@ def _typecheckingstub__b17dce6f2f04ceb519c781a818d66bcf4fef528d5b613028b126fd373
13141
13353
  npm_registry: typing.Optional[builtins.str] = None,
13142
13354
  npm_registry_url: typing.Optional[builtins.str] = None,
13143
13355
  npm_token_secret: typing.Optional[builtins.str] = None,
13356
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13144
13357
  outdir: typing.Optional[builtins.str] = None,
13145
13358
  package: typing.Optional[builtins.bool] = None,
13146
13359
  package_manager: typing.Optional[_projen_javascript_04054675.NodePackageManager] = None,
@@ -13173,6 +13386,7 @@ def _typecheckingstub__b17dce6f2f04ceb519c781a818d66bcf4fef528d5b613028b126fd373
13173
13386
  releasable_commits: typing.Optional[_projen_04054675.ReleasableCommits] = None,
13174
13387
  release: typing.Optional[builtins.bool] = None,
13175
13388
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_projen_release_04054675.BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
13389
+ release_environment: typing.Optional[builtins.str] = None,
13176
13390
  release_every_commit: typing.Optional[builtins.bool] = None,
13177
13391
  release_failure_issue: typing.Optional[builtins.bool] = None,
13178
13392
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -13181,6 +13395,7 @@ def _typecheckingstub__b17dce6f2f04ceb519c781a818d66bcf4fef528d5b613028b126fd373
13181
13395
  release_to_npm: typing.Optional[builtins.bool] = None,
13182
13396
  release_trigger: typing.Optional[_projen_release_04054675.ReleaseTrigger] = None,
13183
13397
  release_workflow: typing.Optional[builtins.bool] = None,
13398
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13184
13399
  release_workflow_name: typing.Optional[builtins.str] = None,
13185
13400
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_projen_github_workflows_04054675.JobStep, typing.Dict[builtins.str, typing.Any]]]] = None,
13186
13401
  renovatebot: typing.Optional[builtins.bool] = None,