projen 0.95.1__py3-none-any.whl → 0.95.3__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 might be problematic. Click here for more details.

@@ -1086,6 +1086,7 @@ class TypeScriptProject(
1086
1086
  npm_registry: typing.Optional[builtins.str] = None,
1087
1087
  npm_registry_url: typing.Optional[builtins.str] = None,
1088
1088
  npm_token_secret: typing.Optional[builtins.str] = None,
1089
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
1089
1090
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
1090
1091
  package_name: typing.Optional[builtins.str] = None,
1091
1092
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1109,6 +1110,7 @@ class TypeScriptProject(
1109
1110
  publish_tasks: typing.Optional[builtins.bool] = None,
1110
1111
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
1111
1112
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
1113
+ release_environment: typing.Optional[builtins.str] = None,
1112
1114
  release_every_commit: typing.Optional[builtins.bool] = None,
1113
1115
  release_failure_issue: typing.Optional[builtins.bool] = None,
1114
1116
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -1238,6 +1240,7 @@ class TypeScriptProject(
1238
1240
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1239
1241
  :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"
1240
1242
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1243
+ :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
1241
1244
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1242
1245
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1243
1246
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -1261,6 +1264,7 @@ class TypeScriptProject(
1261
1264
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
1262
1265
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1263
1266
  :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.
1267
+ :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
1264
1268
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1265
1269
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1266
1270
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -1392,6 +1396,7 @@ class TypeScriptProject(
1392
1396
  npm_registry=npm_registry,
1393
1397
  npm_registry_url=npm_registry_url,
1394
1398
  npm_token_secret=npm_token_secret,
1399
+ npm_trusted_publishing=npm_trusted_publishing,
1395
1400
  package_manager=package_manager,
1396
1401
  package_name=package_name,
1397
1402
  peer_dependency_options=peer_dependency_options,
@@ -1415,6 +1420,7 @@ class TypeScriptProject(
1415
1420
  publish_tasks=publish_tasks,
1416
1421
  releasable_commits=releasable_commits,
1417
1422
  release_branches=release_branches,
1423
+ release_environment=release_environment,
1418
1424
  release_every_commit=release_every_commit,
1419
1425
  release_failure_issue=release_failure_issue,
1420
1426
  release_failure_issue_label=release_failure_issue_label,
@@ -1607,6 +1613,7 @@ class TypeScriptProject(
1607
1613
  "npm_registry": "npmRegistry",
1608
1614
  "npm_registry_url": "npmRegistryUrl",
1609
1615
  "npm_token_secret": "npmTokenSecret",
1616
+ "npm_trusted_publishing": "npmTrustedPublishing",
1610
1617
  "package_manager": "packageManager",
1611
1618
  "package_name": "packageName",
1612
1619
  "peer_dependency_options": "peerDependencyOptions",
@@ -1630,6 +1637,7 @@ class TypeScriptProject(
1630
1637
  "publish_tasks": "publishTasks",
1631
1638
  "releasable_commits": "releasableCommits",
1632
1639
  "release_branches": "releaseBranches",
1640
+ "release_environment": "releaseEnvironment",
1633
1641
  "release_every_commit": "releaseEveryCommit",
1634
1642
  "release_failure_issue": "releaseFailureIssue",
1635
1643
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -1763,6 +1771,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
1763
1771
  npm_registry: typing.Optional[builtins.str] = None,
1764
1772
  npm_registry_url: typing.Optional[builtins.str] = None,
1765
1773
  npm_token_secret: typing.Optional[builtins.str] = None,
1774
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
1766
1775
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
1767
1776
  package_name: typing.Optional[builtins.str] = None,
1768
1777
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1786,6 +1795,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
1786
1795
  publish_tasks: typing.Optional[builtins.bool] = None,
1787
1796
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
1788
1797
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
1798
+ release_environment: typing.Optional[builtins.str] = None,
1789
1799
  release_every_commit: typing.Optional[builtins.bool] = None,
1790
1800
  release_failure_issue: typing.Optional[builtins.bool] = None,
1791
1801
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -1915,6 +1925,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
1915
1925
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1916
1926
  :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"
1917
1927
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1928
+ :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
1918
1929
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1919
1930
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1920
1931
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -1938,6 +1949,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
1938
1949
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
1939
1950
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1940
1951
  :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.
1952
+ :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
1941
1953
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1942
1954
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1943
1955
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -2134,6 +2146,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
2134
2146
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
2135
2147
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
2136
2148
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
2149
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
2137
2150
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
2138
2151
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
2139
2152
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -2157,6 +2170,7 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
2157
2170
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
2158
2171
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
2159
2172
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
2173
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
2160
2174
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
2161
2175
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
2162
2176
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -2342,6 +2356,8 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
2342
2356
  self._values["npm_registry_url"] = npm_registry_url
2343
2357
  if npm_token_secret is not None:
2344
2358
  self._values["npm_token_secret"] = npm_token_secret
2359
+ if npm_trusted_publishing is not None:
2360
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
2345
2361
  if package_manager is not None:
2346
2362
  self._values["package_manager"] = package_manager
2347
2363
  if package_name is not None:
@@ -2388,6 +2404,8 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
2388
2404
  self._values["releasable_commits"] = releasable_commits
2389
2405
  if release_branches is not None:
2390
2406
  self._values["release_branches"] = release_branches
2407
+ if release_environment is not None:
2408
+ self._values["release_environment"] = release_environment
2391
2409
  if release_every_commit is not None:
2392
2410
  self._values["release_every_commit"] = release_every_commit
2393
2411
  if release_failure_issue is not None:
@@ -3244,6 +3262,17 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
3244
3262
  result = self._values.get("npm_token_secret")
3245
3263
  return typing.cast(typing.Optional[builtins.str], result)
3246
3264
 
3265
+ @builtins.property
3266
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
3267
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
3268
+
3269
+ :default: - false
3270
+
3271
+ :stability: experimental
3272
+ '''
3273
+ result = self._values.get("npm_trusted_publishing")
3274
+ return typing.cast(typing.Optional[builtins.bool], result)
3275
+
3247
3276
  @builtins.property
3248
3277
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
3249
3278
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -3563,6 +3592,23 @@ class TypeScriptProjectOptions(_NodeProjectOptions_d12f6f3b):
3563
3592
  result = self._values.get("release_branches")
3564
3593
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
3565
3594
 
3595
+ @builtins.property
3596
+ def release_environment(self) -> typing.Optional[builtins.str]:
3597
+ '''(experimental) The GitHub Actions environment used for the release.
3598
+
3599
+ This can be used to add an explicit approval step to the release
3600
+ or limit who can initiate a release through environment protection rules.
3601
+
3602
+ When multiple artifacts are released, the environment can be overwritten
3603
+ on a per artifact basis.
3604
+
3605
+ :default: - no environment used, unless set at the artifact level
3606
+
3607
+ :stability: experimental
3608
+ '''
3609
+ result = self._values.get("release_environment")
3610
+ return typing.cast(typing.Optional[builtins.str], result)
3611
+
3566
3612
  @builtins.property
3567
3613
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3568
3614
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -4537,6 +4583,7 @@ class TypeScriptAppProject(
4537
4583
  npm_registry: typing.Optional[builtins.str] = None,
4538
4584
  npm_registry_url: typing.Optional[builtins.str] = None,
4539
4585
  npm_token_secret: typing.Optional[builtins.str] = None,
4586
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
4540
4587
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
4541
4588
  package_name: typing.Optional[builtins.str] = None,
4542
4589
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4560,6 +4607,7 @@ class TypeScriptAppProject(
4560
4607
  publish_tasks: typing.Optional[builtins.bool] = None,
4561
4608
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
4562
4609
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
4610
+ release_environment: typing.Optional[builtins.str] = None,
4563
4611
  release_every_commit: typing.Optional[builtins.bool] = None,
4564
4612
  release_failure_issue: typing.Optional[builtins.bool] = None,
4565
4613
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -4689,6 +4737,7 @@ class TypeScriptAppProject(
4689
4737
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
4690
4738
  :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"
4691
4739
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
4740
+ :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
4692
4741
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
4693
4742
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
4694
4743
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -4712,6 +4761,7 @@ class TypeScriptAppProject(
4712
4761
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
4713
4762
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
4714
4763
  :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.
4764
+ :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
4715
4765
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
4716
4766
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
4717
4767
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -4843,6 +4893,7 @@ class TypeScriptAppProject(
4843
4893
  npm_registry=npm_registry,
4844
4894
  npm_registry_url=npm_registry_url,
4845
4895
  npm_token_secret=npm_token_secret,
4896
+ npm_trusted_publishing=npm_trusted_publishing,
4846
4897
  package_manager=package_manager,
4847
4898
  package_name=package_name,
4848
4899
  peer_dependency_options=peer_dependency_options,
@@ -4866,6 +4917,7 @@ class TypeScriptAppProject(
4866
4917
  publish_tasks=publish_tasks,
4867
4918
  releasable_commits=releasable_commits,
4868
4919
  release_branches=release_branches,
4920
+ release_environment=release_environment,
4869
4921
  release_every_commit=release_every_commit,
4870
4922
  release_failure_issue=release_failure_issue,
4871
4923
  release_failure_issue_label=release_failure_issue_label,
@@ -5012,6 +5064,7 @@ class TypeScriptLibraryProject(
5012
5064
  npm_registry: typing.Optional[builtins.str] = None,
5013
5065
  npm_registry_url: typing.Optional[builtins.str] = None,
5014
5066
  npm_token_secret: typing.Optional[builtins.str] = None,
5067
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5015
5068
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5016
5069
  package_name: typing.Optional[builtins.str] = None,
5017
5070
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5035,6 +5088,7 @@ class TypeScriptLibraryProject(
5035
5088
  publish_tasks: typing.Optional[builtins.bool] = None,
5036
5089
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5037
5090
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
5091
+ release_environment: typing.Optional[builtins.str] = None,
5038
5092
  release_every_commit: typing.Optional[builtins.bool] = None,
5039
5093
  release_failure_issue: typing.Optional[builtins.bool] = None,
5040
5094
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -5164,6 +5218,7 @@ class TypeScriptLibraryProject(
5164
5218
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5165
5219
  :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"
5166
5220
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
5221
+ :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
5167
5222
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5168
5223
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5169
5224
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -5187,6 +5242,7 @@ class TypeScriptLibraryProject(
5187
5242
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
5188
5243
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5189
5244
  :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.
5245
+ :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
5190
5246
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5191
5247
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5192
5248
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -5318,6 +5374,7 @@ class TypeScriptLibraryProject(
5318
5374
  npm_registry=npm_registry,
5319
5375
  npm_registry_url=npm_registry_url,
5320
5376
  npm_token_secret=npm_token_secret,
5377
+ npm_trusted_publishing=npm_trusted_publishing,
5321
5378
  package_manager=package_manager,
5322
5379
  package_name=package_name,
5323
5380
  peer_dependency_options=peer_dependency_options,
@@ -5341,6 +5398,7 @@ class TypeScriptLibraryProject(
5341
5398
  publish_tasks=publish_tasks,
5342
5399
  releasable_commits=releasable_commits,
5343
5400
  release_branches=release_branches,
5401
+ release_environment=release_environment,
5344
5402
  release_every_commit=release_every_commit,
5345
5403
  release_failure_issue=release_failure_issue,
5346
5404
  release_failure_issue_label=release_failure_issue_label,
@@ -5430,6 +5488,7 @@ class TypeScriptLibraryProject(
5430
5488
  "npm_registry": "npmRegistry",
5431
5489
  "npm_registry_url": "npmRegistryUrl",
5432
5490
  "npm_token_secret": "npmTokenSecret",
5491
+ "npm_trusted_publishing": "npmTrustedPublishing",
5433
5492
  "package_manager": "packageManager",
5434
5493
  "package_name": "packageName",
5435
5494
  "peer_dependency_options": "peerDependencyOptions",
@@ -5453,6 +5512,7 @@ class TypeScriptLibraryProject(
5453
5512
  "publish_tasks": "publishTasks",
5454
5513
  "releasable_commits": "releasableCommits",
5455
5514
  "release_branches": "releaseBranches",
5515
+ "release_environment": "releaseEnvironment",
5456
5516
  "release_every_commit": "releaseEveryCommit",
5457
5517
  "release_failure_issue": "releaseFailureIssue",
5458
5518
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -5586,6 +5646,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5586
5646
  npm_registry: typing.Optional[builtins.str] = None,
5587
5647
  npm_registry_url: typing.Optional[builtins.str] = None,
5588
5648
  npm_token_secret: typing.Optional[builtins.str] = None,
5649
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5589
5650
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5590
5651
  package_name: typing.Optional[builtins.str] = None,
5591
5652
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5609,6 +5670,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5609
5670
  publish_tasks: typing.Optional[builtins.bool] = None,
5610
5671
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5611
5672
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
5673
+ release_environment: typing.Optional[builtins.str] = None,
5612
5674
  release_every_commit: typing.Optional[builtins.bool] = None,
5613
5675
  release_failure_issue: typing.Optional[builtins.bool] = None,
5614
5676
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -5738,6 +5800,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5738
5800
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5739
5801
  :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"
5740
5802
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
5803
+ :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
5741
5804
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5742
5805
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5743
5806
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -5761,6 +5824,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5761
5824
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
5762
5825
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5763
5826
  :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.
5827
+ :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
5764
5828
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5765
5829
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5766
5830
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -5959,6 +6023,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5959
6023
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
5960
6024
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
5961
6025
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
6026
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
5962
6027
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
5963
6028
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
5964
6029
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -5982,6 +6047,7 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
5982
6047
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
5983
6048
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
5984
6049
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
6050
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
5985
6051
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
5986
6052
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
5987
6053
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -6167,6 +6233,8 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
6167
6233
  self._values["npm_registry_url"] = npm_registry_url
6168
6234
  if npm_token_secret is not None:
6169
6235
  self._values["npm_token_secret"] = npm_token_secret
6236
+ if npm_trusted_publishing is not None:
6237
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
6170
6238
  if package_manager is not None:
6171
6239
  self._values["package_manager"] = package_manager
6172
6240
  if package_name is not None:
@@ -6213,6 +6281,8 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
6213
6281
  self._values["releasable_commits"] = releasable_commits
6214
6282
  if release_branches is not None:
6215
6283
  self._values["release_branches"] = release_branches
6284
+ if release_environment is not None:
6285
+ self._values["release_environment"] = release_environment
6216
6286
  if release_every_commit is not None:
6217
6287
  self._values["release_every_commit"] = release_every_commit
6218
6288
  if release_failure_issue is not None:
@@ -7069,6 +7139,17 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
7069
7139
  result = self._values.get("npm_token_secret")
7070
7140
  return typing.cast(typing.Optional[builtins.str], result)
7071
7141
 
7142
+ @builtins.property
7143
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
7144
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
7145
+
7146
+ :default: - false
7147
+
7148
+ :stability: experimental
7149
+ '''
7150
+ result = self._values.get("npm_trusted_publishing")
7151
+ return typing.cast(typing.Optional[builtins.bool], result)
7152
+
7072
7153
  @builtins.property
7073
7154
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
7074
7155
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -7388,6 +7469,23 @@ class TypeScriptLibraryProjectOptions(TypeScriptProjectOptions):
7388
7469
  result = self._values.get("release_branches")
7389
7470
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
7390
7471
 
7472
+ @builtins.property
7473
+ def release_environment(self) -> typing.Optional[builtins.str]:
7474
+ '''(experimental) The GitHub Actions environment used for the release.
7475
+
7476
+ This can be used to add an explicit approval step to the release
7477
+ or limit who can initiate a release through environment protection rules.
7478
+
7479
+ When multiple artifacts are released, the environment can be overwritten
7480
+ on a per artifact basis.
7481
+
7482
+ :default: - no environment used, unless set at the artifact level
7483
+
7484
+ :stability: experimental
7485
+ '''
7486
+ result = self._values.get("release_environment")
7487
+ return typing.cast(typing.Optional[builtins.str], result)
7488
+
7391
7489
  @builtins.property
7392
7490
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
7393
7491
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -8386,6 +8484,7 @@ def _typecheckingstub__a914f27f5d915b07b8847d407b03b08cab2aad7b213973084a9026526
8386
8484
  npm_registry: typing.Optional[builtins.str] = None,
8387
8485
  npm_registry_url: typing.Optional[builtins.str] = None,
8388
8486
  npm_token_secret: typing.Optional[builtins.str] = None,
8487
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8389
8488
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8390
8489
  package_name: typing.Optional[builtins.str] = None,
8391
8490
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8409,6 +8508,7 @@ def _typecheckingstub__a914f27f5d915b07b8847d407b03b08cab2aad7b213973084a9026526
8409
8508
  publish_tasks: typing.Optional[builtins.bool] = None,
8410
8509
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8411
8510
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
8511
+ release_environment: typing.Optional[builtins.str] = None,
8412
8512
  release_every_commit: typing.Optional[builtins.bool] = None,
8413
8513
  release_failure_issue: typing.Optional[builtins.bool] = None,
8414
8514
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -8548,6 +8648,7 @@ def _typecheckingstub__ac162883b4ecfe9863890d69bffa76d7f9ce16e619c94b9b2a4b7b8f2
8548
8648
  npm_registry: typing.Optional[builtins.str] = None,
8549
8649
  npm_registry_url: typing.Optional[builtins.str] = None,
8550
8650
  npm_token_secret: typing.Optional[builtins.str] = None,
8651
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8551
8652
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8552
8653
  package_name: typing.Optional[builtins.str] = None,
8553
8654
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8571,6 +8672,7 @@ def _typecheckingstub__ac162883b4ecfe9863890d69bffa76d7f9ce16e619c94b9b2a4b7b8f2
8571
8672
  publish_tasks: typing.Optional[builtins.bool] = None,
8572
8673
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8573
8674
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
8675
+ release_environment: typing.Optional[builtins.str] = None,
8574
8676
  release_every_commit: typing.Optional[builtins.bool] = None,
8575
8677
  release_failure_issue: typing.Optional[builtins.bool] = None,
8576
8678
  release_failure_issue_label: typing.Optional[builtins.str] = None,