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.

projen/web/__init__.py CHANGED
@@ -353,6 +353,7 @@ class NextJsProject(
353
353
  npm_registry: typing.Optional[builtins.str] = None,
354
354
  npm_registry_url: typing.Optional[builtins.str] = None,
355
355
  npm_token_secret: typing.Optional[builtins.str] = None,
356
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
356
357
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
357
358
  package_name: typing.Optional[builtins.str] = None,
358
359
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -376,6 +377,7 @@ class NextJsProject(
376
377
  publish_tasks: typing.Optional[builtins.bool] = None,
377
378
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
378
379
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
380
+ release_environment: typing.Optional[builtins.str] = None,
379
381
  release_every_commit: typing.Optional[builtins.bool] = None,
380
382
  release_failure_issue: typing.Optional[builtins.bool] = None,
381
383
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -491,6 +493,7 @@ class NextJsProject(
491
493
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
492
494
  :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"
493
495
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
496
+ :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
494
497
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
495
498
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
496
499
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -514,6 +517,7 @@ class NextJsProject(
514
517
  :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
515
518
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
516
519
  :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.
520
+ :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
517
521
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
518
522
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
519
523
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -631,6 +635,7 @@ class NextJsProject(
631
635
  npm_registry=npm_registry,
632
636
  npm_registry_url=npm_registry_url,
633
637
  npm_token_secret=npm_token_secret,
638
+ npm_trusted_publishing=npm_trusted_publishing,
634
639
  package_manager=package_manager,
635
640
  package_name=package_name,
636
641
  peer_dependency_options=peer_dependency_options,
@@ -654,6 +659,7 @@ class NextJsProject(
654
659
  publish_tasks=publish_tasks,
655
660
  releasable_commits=releasable_commits,
656
661
  release_branches=release_branches,
662
+ release_environment=release_environment,
657
663
  release_every_commit=release_every_commit,
658
664
  release_failure_issue=release_failure_issue,
659
665
  release_failure_issue_label=release_failure_issue_label,
@@ -773,6 +779,7 @@ class NextJsProject(
773
779
  "npm_registry": "npmRegistry",
774
780
  "npm_registry_url": "npmRegistryUrl",
775
781
  "npm_token_secret": "npmTokenSecret",
782
+ "npm_trusted_publishing": "npmTrustedPublishing",
776
783
  "package_manager": "packageManager",
777
784
  "package_name": "packageName",
778
785
  "peer_dependency_options": "peerDependencyOptions",
@@ -796,6 +803,7 @@ class NextJsProject(
796
803
  "publish_tasks": "publishTasks",
797
804
  "releasable_commits": "releasableCommits",
798
805
  "release_branches": "releaseBranches",
806
+ "release_environment": "releaseEnvironment",
799
807
  "release_every_commit": "releaseEveryCommit",
800
808
  "release_failure_issue": "releaseFailureIssue",
801
809
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -915,6 +923,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
915
923
  npm_registry: typing.Optional[builtins.str] = None,
916
924
  npm_registry_url: typing.Optional[builtins.str] = None,
917
925
  npm_token_secret: typing.Optional[builtins.str] = None,
926
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
918
927
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
919
928
  package_name: typing.Optional[builtins.str] = None,
920
929
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -938,6 +947,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
938
947
  publish_tasks: typing.Optional[builtins.bool] = None,
939
948
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
940
949
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
950
+ release_environment: typing.Optional[builtins.str] = None,
941
951
  release_every_commit: typing.Optional[builtins.bool] = None,
942
952
  release_failure_issue: typing.Optional[builtins.bool] = None,
943
953
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -1053,6 +1063,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1053
1063
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1054
1064
  :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"
1055
1065
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1066
+ :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
1056
1067
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1057
1068
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1058
1069
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -1076,6 +1087,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1076
1087
  :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
1077
1088
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1078
1089
  :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.
1090
+ :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
1079
1091
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1080
1092
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1081
1093
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -1248,6 +1260,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1248
1260
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
1249
1261
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
1250
1262
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
1263
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
1251
1264
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
1252
1265
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
1253
1266
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -1271,6 +1284,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1271
1284
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
1272
1285
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
1273
1286
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
1287
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
1274
1288
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
1275
1289
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
1276
1290
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -1444,6 +1458,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1444
1458
  self._values["npm_registry_url"] = npm_registry_url
1445
1459
  if npm_token_secret is not None:
1446
1460
  self._values["npm_token_secret"] = npm_token_secret
1461
+ if npm_trusted_publishing is not None:
1462
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
1447
1463
  if package_manager is not None:
1448
1464
  self._values["package_manager"] = package_manager
1449
1465
  if package_name is not None:
@@ -1490,6 +1506,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1490
1506
  self._values["releasable_commits"] = releasable_commits
1491
1507
  if release_branches is not None:
1492
1508
  self._values["release_branches"] = release_branches
1509
+ if release_environment is not None:
1510
+ self._values["release_environment"] = release_environment
1493
1511
  if release_every_commit is not None:
1494
1512
  self._values["release_every_commit"] = release_every_commit
1495
1513
  if release_failure_issue is not None:
@@ -2338,6 +2356,17 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2338
2356
  result = self._values.get("npm_token_secret")
2339
2357
  return typing.cast(typing.Optional[builtins.str], result)
2340
2358
 
2359
+ @builtins.property
2360
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
2361
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
2362
+
2363
+ :default: - false
2364
+
2365
+ :stability: experimental
2366
+ '''
2367
+ result = self._values.get("npm_trusted_publishing")
2368
+ return typing.cast(typing.Optional[builtins.bool], result)
2369
+
2341
2370
  @builtins.property
2342
2371
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
2343
2372
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -2657,6 +2686,23 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2657
2686
  result = self._values.get("release_branches")
2658
2687
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
2659
2688
 
2689
+ @builtins.property
2690
+ def release_environment(self) -> typing.Optional[builtins.str]:
2691
+ '''(experimental) The GitHub Actions environment used for the release.
2692
+
2693
+ This can be used to add an explicit approval step to the release
2694
+ or limit who can initiate a release through environment protection rules.
2695
+
2696
+ When multiple artifacts are released, the environment can be overwritten
2697
+ on a per artifact basis.
2698
+
2699
+ :default: - no environment used, unless set at the artifact level
2700
+
2701
+ :stability: experimental
2702
+ '''
2703
+ result = self._values.get("release_environment")
2704
+ return typing.cast(typing.Optional[builtins.str], result)
2705
+
2660
2706
  @builtins.property
2661
2707
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
2662
2708
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -3431,6 +3477,7 @@ class NextJsTypeScriptProject(
3431
3477
  npm_registry: typing.Optional[builtins.str] = None,
3432
3478
  npm_registry_url: typing.Optional[builtins.str] = None,
3433
3479
  npm_token_secret: typing.Optional[builtins.str] = None,
3480
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
3434
3481
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
3435
3482
  package_name: typing.Optional[builtins.str] = None,
3436
3483
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3454,6 +3501,7 @@ class NextJsTypeScriptProject(
3454
3501
  publish_tasks: typing.Optional[builtins.bool] = None,
3455
3502
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
3456
3503
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
3504
+ release_environment: typing.Optional[builtins.str] = None,
3457
3505
  release_every_commit: typing.Optional[builtins.bool] = None,
3458
3506
  release_failure_issue: typing.Optional[builtins.bool] = None,
3459
3507
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -3585,6 +3633,7 @@ class NextJsTypeScriptProject(
3585
3633
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
3586
3634
  :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"
3587
3635
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
3636
+ :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
3588
3637
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
3589
3638
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
3590
3639
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -3608,6 +3657,7 @@ class NextJsTypeScriptProject(
3608
3657
  :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
3609
3658
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
3610
3659
  :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.
3660
+ :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
3611
3661
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
3612
3662
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
3613
3663
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -3741,6 +3791,7 @@ class NextJsTypeScriptProject(
3741
3791
  npm_registry=npm_registry,
3742
3792
  npm_registry_url=npm_registry_url,
3743
3793
  npm_token_secret=npm_token_secret,
3794
+ npm_trusted_publishing=npm_trusted_publishing,
3744
3795
  package_manager=package_manager,
3745
3796
  package_name=package_name,
3746
3797
  peer_dependency_options=peer_dependency_options,
@@ -3764,6 +3815,7 @@ class NextJsTypeScriptProject(
3764
3815
  publish_tasks=publish_tasks,
3765
3816
  releasable_commits=releasable_commits,
3766
3817
  release_branches=release_branches,
3818
+ release_environment=release_environment,
3767
3819
  release_every_commit=release_every_commit,
3768
3820
  release_failure_issue=release_failure_issue,
3769
3821
  release_failure_issue_label=release_failure_issue_label,
@@ -3883,6 +3935,7 @@ class NextJsTypeScriptProject(
3883
3935
  "npm_registry": "npmRegistry",
3884
3936
  "npm_registry_url": "npmRegistryUrl",
3885
3937
  "npm_token_secret": "npmTokenSecret",
3938
+ "npm_trusted_publishing": "npmTrustedPublishing",
3886
3939
  "package_manager": "packageManager",
3887
3940
  "package_name": "packageName",
3888
3941
  "peer_dependency_options": "peerDependencyOptions",
@@ -3906,6 +3959,7 @@ class NextJsTypeScriptProject(
3906
3959
  "publish_tasks": "publishTasks",
3907
3960
  "releasable_commits": "releasableCommits",
3908
3961
  "release_branches": "releaseBranches",
3962
+ "release_environment": "releaseEnvironment",
3909
3963
  "release_every_commit": "releaseEveryCommit",
3910
3964
  "release_failure_issue": "releaseFailureIssue",
3911
3965
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -4044,6 +4098,7 @@ class NextJsTypeScriptProjectOptions(
4044
4098
  npm_registry: typing.Optional[builtins.str] = None,
4045
4099
  npm_registry_url: typing.Optional[builtins.str] = None,
4046
4100
  npm_token_secret: typing.Optional[builtins.str] = None,
4101
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
4047
4102
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
4048
4103
  package_name: typing.Optional[builtins.str] = None,
4049
4104
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4067,6 +4122,7 @@ class NextJsTypeScriptProjectOptions(
4067
4122
  publish_tasks: typing.Optional[builtins.bool] = None,
4068
4123
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
4069
4124
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
4125
+ release_environment: typing.Optional[builtins.str] = None,
4070
4126
  release_every_commit: typing.Optional[builtins.bool] = None,
4071
4127
  release_failure_issue: typing.Optional[builtins.bool] = None,
4072
4128
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -4198,6 +4254,7 @@ class NextJsTypeScriptProjectOptions(
4198
4254
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
4199
4255
  :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"
4200
4256
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
4257
+ :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
4201
4258
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
4202
4259
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
4203
4260
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -4221,6 +4278,7 @@ class NextJsTypeScriptProjectOptions(
4221
4278
  :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
4222
4279
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
4223
4280
  :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.
4281
+ :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
4224
4282
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
4225
4283
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
4226
4284
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -4419,6 +4477,7 @@ class NextJsTypeScriptProjectOptions(
4419
4477
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
4420
4478
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
4421
4479
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
4480
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
4422
4481
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
4423
4482
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
4424
4483
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -4442,6 +4501,7 @@ class NextJsTypeScriptProjectOptions(
4442
4501
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
4443
4502
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
4444
4503
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
4504
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
4445
4505
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
4446
4506
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
4447
4507
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -4631,6 +4691,8 @@ class NextJsTypeScriptProjectOptions(
4631
4691
  self._values["npm_registry_url"] = npm_registry_url
4632
4692
  if npm_token_secret is not None:
4633
4693
  self._values["npm_token_secret"] = npm_token_secret
4694
+ if npm_trusted_publishing is not None:
4695
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
4634
4696
  if package_manager is not None:
4635
4697
  self._values["package_manager"] = package_manager
4636
4698
  if package_name is not None:
@@ -4677,6 +4739,8 @@ class NextJsTypeScriptProjectOptions(
4677
4739
  self._values["releasable_commits"] = releasable_commits
4678
4740
  if release_branches is not None:
4679
4741
  self._values["release_branches"] = release_branches
4742
+ if release_environment is not None:
4743
+ self._values["release_environment"] = release_environment
4680
4744
  if release_every_commit is not None:
4681
4745
  self._values["release_every_commit"] = release_every_commit
4682
4746
  if release_failure_issue is not None:
@@ -5557,6 +5621,17 @@ class NextJsTypeScriptProjectOptions(
5557
5621
  result = self._values.get("npm_token_secret")
5558
5622
  return typing.cast(typing.Optional[builtins.str], result)
5559
5623
 
5624
+ @builtins.property
5625
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
5626
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
5627
+
5628
+ :default: - false
5629
+
5630
+ :stability: experimental
5631
+ '''
5632
+ result = self._values.get("npm_trusted_publishing")
5633
+ return typing.cast(typing.Optional[builtins.bool], result)
5634
+
5560
5635
  @builtins.property
5561
5636
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
5562
5637
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -5876,6 +5951,23 @@ class NextJsTypeScriptProjectOptions(
5876
5951
  result = self._values.get("release_branches")
5877
5952
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
5878
5953
 
5954
+ @builtins.property
5955
+ def release_environment(self) -> typing.Optional[builtins.str]:
5956
+ '''(experimental) The GitHub Actions environment used for the release.
5957
+
5958
+ This can be used to add an explicit approval step to the release
5959
+ or limit who can initiate a release through environment protection rules.
5960
+
5961
+ When multiple artifacts are released, the environment can be overwritten
5962
+ on a per artifact basis.
5963
+
5964
+ :default: - no environment used, unless set at the artifact level
5965
+
5966
+ :stability: experimental
5967
+ '''
5968
+ result = self._values.get("release_environment")
5969
+ return typing.cast(typing.Optional[builtins.str], result)
5970
+
5879
5971
  @builtins.property
5880
5972
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
5881
5973
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -6982,6 +7074,7 @@ class ReactProject(
6982
7074
  npm_registry: typing.Optional[builtins.str] = None,
6983
7075
  npm_registry_url: typing.Optional[builtins.str] = None,
6984
7076
  npm_token_secret: typing.Optional[builtins.str] = None,
7077
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
6985
7078
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
6986
7079
  package_name: typing.Optional[builtins.str] = None,
6987
7080
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7005,6 +7098,7 @@ class ReactProject(
7005
7098
  publish_tasks: typing.Optional[builtins.bool] = None,
7006
7099
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7007
7100
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
7101
+ release_environment: typing.Optional[builtins.str] = None,
7008
7102
  release_every_commit: typing.Optional[builtins.bool] = None,
7009
7103
  release_failure_issue: typing.Optional[builtins.bool] = None,
7010
7104
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -7119,6 +7213,7 @@ class ReactProject(
7119
7213
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
7120
7214
  :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"
7121
7215
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
7216
+ :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
7122
7217
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
7123
7218
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
7124
7219
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -7142,6 +7237,7 @@ class ReactProject(
7142
7237
  :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
7143
7238
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
7144
7239
  :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.
7240
+ :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
7145
7241
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
7146
7242
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
7147
7243
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -7258,6 +7354,7 @@ class ReactProject(
7258
7354
  npm_registry=npm_registry,
7259
7355
  npm_registry_url=npm_registry_url,
7260
7356
  npm_token_secret=npm_token_secret,
7357
+ npm_trusted_publishing=npm_trusted_publishing,
7261
7358
  package_manager=package_manager,
7262
7359
  package_name=package_name,
7263
7360
  peer_dependency_options=peer_dependency_options,
@@ -7281,6 +7378,7 @@ class ReactProject(
7281
7378
  publish_tasks=publish_tasks,
7282
7379
  releasable_commits=releasable_commits,
7283
7380
  release_branches=release_branches,
7381
+ release_environment=release_environment,
7284
7382
  release_every_commit=release_every_commit,
7285
7383
  release_failure_issue=release_failure_issue,
7286
7384
  release_failure_issue_label=release_failure_issue_label,
@@ -7692,6 +7790,7 @@ class ReactTypeScriptProject(
7692
7790
  npm_registry: typing.Optional[builtins.str] = None,
7693
7791
  npm_registry_url: typing.Optional[builtins.str] = None,
7694
7792
  npm_token_secret: typing.Optional[builtins.str] = None,
7793
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7695
7794
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
7696
7795
  package_name: typing.Optional[builtins.str] = None,
7697
7796
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7715,6 +7814,7 @@ class ReactTypeScriptProject(
7715
7814
  publish_tasks: typing.Optional[builtins.bool] = None,
7716
7815
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7717
7816
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
7817
+ release_environment: typing.Optional[builtins.str] = None,
7718
7818
  release_every_commit: typing.Optional[builtins.bool] = None,
7719
7819
  release_failure_issue: typing.Optional[builtins.bool] = None,
7720
7820
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -7845,6 +7945,7 @@ class ReactTypeScriptProject(
7845
7945
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
7846
7946
  :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"
7847
7947
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
7948
+ :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
7848
7949
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
7849
7950
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
7850
7951
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -7868,6 +7969,7 @@ class ReactTypeScriptProject(
7868
7969
  :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
7869
7970
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
7870
7971
  :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.
7972
+ :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
7871
7973
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
7872
7974
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
7873
7975
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -8000,6 +8102,7 @@ class ReactTypeScriptProject(
8000
8102
  npm_registry=npm_registry,
8001
8103
  npm_registry_url=npm_registry_url,
8002
8104
  npm_token_secret=npm_token_secret,
8105
+ npm_trusted_publishing=npm_trusted_publishing,
8003
8106
  package_manager=package_manager,
8004
8107
  package_name=package_name,
8005
8108
  peer_dependency_options=peer_dependency_options,
@@ -8023,6 +8126,7 @@ class ReactTypeScriptProject(
8023
8126
  publish_tasks=publish_tasks,
8024
8127
  releasable_commits=releasable_commits,
8025
8128
  release_branches=release_branches,
8129
+ release_environment=release_environment,
8026
8130
  release_every_commit=release_every_commit,
8027
8131
  release_failure_issue=release_failure_issue,
8028
8132
  release_failure_issue_label=release_failure_issue_label,
@@ -8121,6 +8225,7 @@ class ReactTypeScriptProject(
8121
8225
  "npm_registry": "npmRegistry",
8122
8226
  "npm_registry_url": "npmRegistryUrl",
8123
8227
  "npm_token_secret": "npmTokenSecret",
8228
+ "npm_trusted_publishing": "npmTrustedPublishing",
8124
8229
  "package_manager": "packageManager",
8125
8230
  "package_name": "packageName",
8126
8231
  "peer_dependency_options": "peerDependencyOptions",
@@ -8144,6 +8249,7 @@ class ReactTypeScriptProject(
8144
8249
  "publish_tasks": "publishTasks",
8145
8250
  "releasable_commits": "releasableCommits",
8146
8251
  "release_branches": "releaseBranches",
8252
+ "release_environment": "releaseEnvironment",
8147
8253
  "release_every_commit": "releaseEveryCommit",
8148
8254
  "release_failure_issue": "releaseFailureIssue",
8149
8255
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -8281,6 +8387,7 @@ class ReactTypeScriptProjectOptions(
8281
8387
  npm_registry: typing.Optional[builtins.str] = None,
8282
8388
  npm_registry_url: typing.Optional[builtins.str] = None,
8283
8389
  npm_token_secret: typing.Optional[builtins.str] = None,
8390
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8284
8391
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8285
8392
  package_name: typing.Optional[builtins.str] = None,
8286
8393
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8304,6 +8411,7 @@ class ReactTypeScriptProjectOptions(
8304
8411
  publish_tasks: typing.Optional[builtins.bool] = None,
8305
8412
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8306
8413
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
8414
+ release_environment: typing.Optional[builtins.str] = None,
8307
8415
  release_every_commit: typing.Optional[builtins.bool] = None,
8308
8416
  release_failure_issue: typing.Optional[builtins.bool] = None,
8309
8417
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -8434,6 +8542,7 @@ class ReactTypeScriptProjectOptions(
8434
8542
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
8435
8543
  :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"
8436
8544
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
8545
+ :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
8437
8546
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
8438
8547
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
8439
8548
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -8457,6 +8566,7 @@ class ReactTypeScriptProjectOptions(
8457
8566
  :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
8458
8567
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
8459
8568
  :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.
8569
+ :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
8460
8570
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
8461
8571
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
8462
8572
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -8654,6 +8764,7 @@ class ReactTypeScriptProjectOptions(
8654
8764
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
8655
8765
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
8656
8766
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
8767
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
8657
8768
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
8658
8769
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
8659
8770
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -8677,6 +8788,7 @@ class ReactTypeScriptProjectOptions(
8677
8788
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
8678
8789
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
8679
8790
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
8791
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
8680
8792
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
8681
8793
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
8682
8794
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -8863,6 +8975,8 @@ class ReactTypeScriptProjectOptions(
8863
8975
  self._values["npm_registry_url"] = npm_registry_url
8864
8976
  if npm_token_secret is not None:
8865
8977
  self._values["npm_token_secret"] = npm_token_secret
8978
+ if npm_trusted_publishing is not None:
8979
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
8866
8980
  if package_manager is not None:
8867
8981
  self._values["package_manager"] = package_manager
8868
8982
  if package_name is not None:
@@ -8909,6 +9023,8 @@ class ReactTypeScriptProjectOptions(
8909
9023
  self._values["releasable_commits"] = releasable_commits
8910
9024
  if release_branches is not None:
8911
9025
  self._values["release_branches"] = release_branches
9026
+ if release_environment is not None:
9027
+ self._values["release_environment"] = release_environment
8912
9028
  if release_every_commit is not None:
8913
9029
  self._values["release_every_commit"] = release_every_commit
8914
9030
  if release_failure_issue is not None:
@@ -9767,6 +9883,17 @@ class ReactTypeScriptProjectOptions(
9767
9883
  result = self._values.get("npm_token_secret")
9768
9884
  return typing.cast(typing.Optional[builtins.str], result)
9769
9885
 
9886
+ @builtins.property
9887
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
9888
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
9889
+
9890
+ :default: - false
9891
+
9892
+ :stability: experimental
9893
+ '''
9894
+ result = self._values.get("npm_trusted_publishing")
9895
+ return typing.cast(typing.Optional[builtins.bool], result)
9896
+
9770
9897
  @builtins.property
9771
9898
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
9772
9899
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -10086,6 +10213,23 @@ class ReactTypeScriptProjectOptions(
10086
10213
  result = self._values.get("release_branches")
10087
10214
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
10088
10215
 
10216
+ @builtins.property
10217
+ def release_environment(self) -> typing.Optional[builtins.str]:
10218
+ '''(experimental) The GitHub Actions environment used for the release.
10219
+
10220
+ This can be used to add an explicit approval step to the release
10221
+ or limit who can initiate a release through environment protection rules.
10222
+
10223
+ When multiple artifacts are released, the environment can be overwritten
10224
+ on a per artifact basis.
10225
+
10226
+ :default: - no environment used, unless set at the artifact level
10227
+
10228
+ :stability: experimental
10229
+ '''
10230
+ result = self._values.get("release_environment")
10231
+ return typing.cast(typing.Optional[builtins.str], result)
10232
+
10089
10233
  @builtins.property
10090
10234
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
10091
10235
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -11184,6 +11328,7 @@ class ReactComponentOptions(ReactRewireOptions):
11184
11328
  "npm_registry": "npmRegistry",
11185
11329
  "npm_registry_url": "npmRegistryUrl",
11186
11330
  "npm_token_secret": "npmTokenSecret",
11331
+ "npm_trusted_publishing": "npmTrustedPublishing",
11187
11332
  "package_manager": "packageManager",
11188
11333
  "package_name": "packageName",
11189
11334
  "peer_dependency_options": "peerDependencyOptions",
@@ -11207,6 +11352,7 @@ class ReactComponentOptions(ReactRewireOptions):
11207
11352
  "publish_tasks": "publishTasks",
11208
11353
  "releasable_commits": "releasableCommits",
11209
11354
  "release_branches": "releaseBranches",
11355
+ "release_environment": "releaseEnvironment",
11210
11356
  "release_every_commit": "releaseEveryCommit",
11211
11357
  "release_failure_issue": "releaseFailureIssue",
11212
11358
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -11325,6 +11471,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11325
11471
  npm_registry: typing.Optional[builtins.str] = None,
11326
11472
  npm_registry_url: typing.Optional[builtins.str] = None,
11327
11473
  npm_token_secret: typing.Optional[builtins.str] = None,
11474
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
11328
11475
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
11329
11476
  package_name: typing.Optional[builtins.str] = None,
11330
11477
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -11348,6 +11495,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11348
11495
  publish_tasks: typing.Optional[builtins.bool] = None,
11349
11496
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
11350
11497
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
11498
+ release_environment: typing.Optional[builtins.str] = None,
11351
11499
  release_every_commit: typing.Optional[builtins.bool] = None,
11352
11500
  release_failure_issue: typing.Optional[builtins.bool] = None,
11353
11501
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -11462,6 +11610,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11462
11610
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
11463
11611
  :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"
11464
11612
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
11613
+ :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
11465
11614
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
11466
11615
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
11467
11616
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
@@ -11485,6 +11634,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11485
11634
  :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
11486
11635
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
11487
11636
  :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.
11637
+ :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
11488
11638
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
11489
11639
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
11490
11640
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -11656,6 +11806,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11656
11806
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
11657
11807
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
11658
11808
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
11809
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
11659
11810
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
11660
11811
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
11661
11812
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -11679,6 +11830,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11679
11830
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
11680
11831
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
11681
11832
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
11833
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
11682
11834
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
11683
11835
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
11684
11836
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -11849,6 +12001,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11849
12001
  self._values["npm_registry_url"] = npm_registry_url
11850
12002
  if npm_token_secret is not None:
11851
12003
  self._values["npm_token_secret"] = npm_token_secret
12004
+ if npm_trusted_publishing is not None:
12005
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
11852
12006
  if package_manager is not None:
11853
12007
  self._values["package_manager"] = package_manager
11854
12008
  if package_name is not None:
@@ -11895,6 +12049,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11895
12049
  self._values["releasable_commits"] = releasable_commits
11896
12050
  if release_branches is not None:
11897
12051
  self._values["release_branches"] = release_branches
12052
+ if release_environment is not None:
12053
+ self._values["release_environment"] = release_environment
11898
12054
  if release_every_commit is not None:
11899
12055
  self._values["release_every_commit"] = release_every_commit
11900
12056
  if release_failure_issue is not None:
@@ -12721,6 +12877,17 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12721
12877
  result = self._values.get("npm_token_secret")
12722
12878
  return typing.cast(typing.Optional[builtins.str], result)
12723
12879
 
12880
+ @builtins.property
12881
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
12882
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
12883
+
12884
+ :default: - false
12885
+
12886
+ :stability: experimental
12887
+ '''
12888
+ result = self._values.get("npm_trusted_publishing")
12889
+ return typing.cast(typing.Optional[builtins.bool], result)
12890
+
12724
12891
  @builtins.property
12725
12892
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
12726
12893
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -13040,6 +13207,23 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
13040
13207
  result = self._values.get("release_branches")
13041
13208
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
13042
13209
 
13210
+ @builtins.property
13211
+ def release_environment(self) -> typing.Optional[builtins.str]:
13212
+ '''(experimental) The GitHub Actions environment used for the release.
13213
+
13214
+ This can be used to add an explicit approval step to the release
13215
+ or limit who can initiate a release through environment protection rules.
13216
+
13217
+ When multiple artifacts are released, the environment can be overwritten
13218
+ on a per artifact basis.
13219
+
13220
+ :default: - no environment used, unless set at the artifact level
13221
+
13222
+ :stability: experimental
13223
+ '''
13224
+ result = self._values.get("release_environment")
13225
+ return typing.cast(typing.Optional[builtins.str], result)
13226
+
13043
13227
  @builtins.property
13044
13228
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
13045
13229
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -13837,6 +14021,7 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13837
14021
  npm_registry: typing.Optional[builtins.str] = None,
13838
14022
  npm_registry_url: typing.Optional[builtins.str] = None,
13839
14023
  npm_token_secret: typing.Optional[builtins.str] = None,
14024
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13840
14025
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13841
14026
  package_name: typing.Optional[builtins.str] = None,
13842
14027
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13860,6 +14045,7 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13860
14045
  publish_tasks: typing.Optional[builtins.bool] = None,
13861
14046
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13862
14047
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14048
+ release_environment: typing.Optional[builtins.str] = None,
13863
14049
  release_every_commit: typing.Optional[builtins.bool] = None,
13864
14050
  release_failure_issue: typing.Optional[builtins.bool] = None,
13865
14051
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -13979,6 +14165,7 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13979
14165
  npm_registry: typing.Optional[builtins.str] = None,
13980
14166
  npm_registry_url: typing.Optional[builtins.str] = None,
13981
14167
  npm_token_secret: typing.Optional[builtins.str] = None,
14168
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13982
14169
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13983
14170
  package_name: typing.Optional[builtins.str] = None,
13984
14171
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -14002,6 +14189,7 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
14002
14189
  publish_tasks: typing.Optional[builtins.bool] = None,
14003
14190
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
14004
14191
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14192
+ release_environment: typing.Optional[builtins.str] = None,
14005
14193
  release_every_commit: typing.Optional[builtins.bool] = None,
14006
14194
  release_failure_issue: typing.Optional[builtins.bool] = None,
14007
14195
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -14200,6 +14388,7 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
14200
14388
  npm_registry: typing.Optional[builtins.str] = None,
14201
14389
  npm_registry_url: typing.Optional[builtins.str] = None,
14202
14390
  npm_token_secret: typing.Optional[builtins.str] = None,
14391
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
14203
14392
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
14204
14393
  package_name: typing.Optional[builtins.str] = None,
14205
14394
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -14223,6 +14412,7 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
14223
14412
  publish_tasks: typing.Optional[builtins.bool] = None,
14224
14413
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
14225
14414
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14415
+ release_environment: typing.Optional[builtins.str] = None,
14226
14416
  release_every_commit: typing.Optional[builtins.bool] = None,
14227
14417
  release_failure_issue: typing.Optional[builtins.bool] = None,
14228
14418
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -14380,6 +14570,7 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
14380
14570
  npm_registry: typing.Optional[builtins.str] = None,
14381
14571
  npm_registry_url: typing.Optional[builtins.str] = None,
14382
14572
  npm_token_secret: typing.Optional[builtins.str] = None,
14573
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
14383
14574
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
14384
14575
  package_name: typing.Optional[builtins.str] = None,
14385
14576
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -14403,6 +14594,7 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
14403
14594
  publish_tasks: typing.Optional[builtins.bool] = None,
14404
14595
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
14405
14596
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14597
+ release_environment: typing.Optional[builtins.str] = None,
14406
14598
  release_every_commit: typing.Optional[builtins.bool] = None,
14407
14599
  release_failure_issue: typing.Optional[builtins.bool] = None,
14408
14600
  release_failure_issue_label: typing.Optional[builtins.str] = None,