projen 0.81.17__py3-none-any.whl → 0.98.25__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.
projen/cdk/__init__.py CHANGED
@@ -11,10 +11,26 @@ import jsii
11
11
  import publication
12
12
  import typing_extensions
13
13
 
14
- from typeguard import check_type
14
+ import typeguard
15
+ from importlib.metadata import version as _metadata_package_version
16
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
17
+
18
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
19
+ if TYPEGUARD_MAJOR_VERSION <= 2:
20
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
21
+ else:
22
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
23
+ pass
24
+ else:
25
+ if TYPEGUARD_MAJOR_VERSION == 3:
26
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
27
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
28
+ else:
29
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
15
30
 
16
31
  from .._jsii import *
17
32
 
33
+ import constructs as _constructs_77d1e7e8
18
34
  from .. import (
19
35
  Component as _Component_2b0ad27f,
20
36
  GitOptions as _GitOptions_a65916a3,
@@ -45,10 +61,11 @@ from ..github.workflows import (
45
61
  Triggers as _Triggers_e9ae7617,
46
62
  )
47
63
  from ..javascript import (
64
+ AuditOptions as _AuditOptions_429c62df,
65
+ BiomeOptions as _BiomeOptions_452ab984,
48
66
  BuildWorkflowOptions as _BuildWorkflowOptions_b756f97f,
49
67
  BundlerOptions as _BundlerOptions_d60b85ed,
50
68
  CodeArtifactOptions as _CodeArtifactOptions_e4782b3e,
51
- Eslint as _Eslint_b3991f7f,
52
69
  EslintOptions as _EslintOptions_824f60bb,
53
70
  JestOptions as _JestOptions_a085f64e,
54
71
  LicenseCheckerOptions as _LicenseCheckerOptions_80bcd362,
@@ -500,7 +517,11 @@ class IntegrationTestBaseOptions:
500
517
  )
501
518
 
502
519
 
503
- class JsiiDocgen(metaclass=jsii.JSIIMeta, jsii_type="projen.cdk.JsiiDocgen"):
520
+ class JsiiDocgen(
521
+ _Component_2b0ad27f,
522
+ metaclass=jsii.JSIIMeta,
523
+ jsii_type="projen.cdk.JsiiDocgen",
524
+ ):
504
525
  '''(experimental) Creates a markdown file based on the jsii manifest: - Adds a ``docgen`` script to package.json - Runs ``jsii-docgen`` after compilation - Enforces that markdown file is checked in.
505
526
 
506
527
  :stability: experimental
@@ -508,43 +529,54 @@ class JsiiDocgen(metaclass=jsii.JSIIMeta, jsii_type="projen.cdk.JsiiDocgen"):
508
529
 
509
530
  def __init__(
510
531
  self,
511
- project: "JsiiProject",
532
+ scope: _constructs_77d1e7e8.IConstruct,
512
533
  *,
513
534
  file_path: typing.Optional[builtins.str] = None,
535
+ version: typing.Optional[builtins.str] = None,
514
536
  ) -> None:
515
537
  '''
516
- :param project: -
538
+ :param scope: -
517
539
  :param file_path: (experimental) File path for generated docs. Default: "API.md"
540
+ :param version: (experimental) A semver version string to install a specific version of jsii-docgen. Default: '*'
518
541
 
519
542
  :stability: experimental
520
543
  '''
521
544
  if __debug__:
522
545
  type_hints = typing.get_type_hints(_typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8d3a035a)
523
- check_type(argname="argument project", value=project, expected_type=type_hints["project"])
524
- options = JsiiDocgenOptions(file_path=file_path)
546
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
547
+ options = JsiiDocgenOptions(file_path=file_path, version=version)
525
548
 
526
- jsii.create(self.__class__, self, [project, options])
549
+ jsii.create(self.__class__, self, [scope, options])
527
550
 
528
551
 
529
552
  @jsii.data_type(
530
553
  jsii_type="projen.cdk.JsiiDocgenOptions",
531
554
  jsii_struct_bases=[],
532
- name_mapping={"file_path": "filePath"},
555
+ name_mapping={"file_path": "filePath", "version": "version"},
533
556
  )
534
557
  class JsiiDocgenOptions:
535
- def __init__(self, *, file_path: typing.Optional[builtins.str] = None) -> None:
558
+ def __init__(
559
+ self,
560
+ *,
561
+ file_path: typing.Optional[builtins.str] = None,
562
+ version: typing.Optional[builtins.str] = None,
563
+ ) -> None:
536
564
  '''(experimental) Options for ``JsiiDocgen``.
537
565
 
538
566
  :param file_path: (experimental) File path for generated docs. Default: "API.md"
567
+ :param version: (experimental) A semver version string to install a specific version of jsii-docgen. Default: '*'
539
568
 
540
569
  :stability: experimental
541
570
  '''
542
571
  if __debug__:
543
572
  type_hints = typing.get_type_hints(_typecheckingstub__2f3fb088da3cc3de21fe4de98d7c818b3cbd2a2139fba0682367f39bd3af95be)
544
573
  check_type(argname="argument file_path", value=file_path, expected_type=type_hints["file_path"])
574
+ check_type(argname="argument version", value=version, expected_type=type_hints["version"])
545
575
  self._values: typing.Dict[builtins.str, typing.Any] = {}
546
576
  if file_path is not None:
547
577
  self._values["file_path"] = file_path
578
+ if version is not None:
579
+ self._values["version"] = version
548
580
 
549
581
  @builtins.property
550
582
  def file_path(self) -> typing.Optional[builtins.str]:
@@ -557,6 +589,17 @@ class JsiiDocgenOptions:
557
589
  result = self._values.get("file_path")
558
590
  return typing.cast(typing.Optional[builtins.str], result)
559
591
 
592
+ @builtins.property
593
+ def version(self) -> typing.Optional[builtins.str]:
594
+ '''(experimental) A semver version string to install a specific version of jsii-docgen.
595
+
596
+ :default: '*'
597
+
598
+ :stability: experimental
599
+ '''
600
+ result = self._values.get("version")
601
+ return typing.cast(typing.Optional[builtins.str], result)
602
+
560
603
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
561
604
  return isinstance(rhs, self.__class__) and rhs._values == self._values
562
605
 
@@ -573,11 +616,14 @@ class JsiiDocgenOptions:
573
616
  jsii_type="projen.cdk.JsiiDotNetTarget",
574
617
  jsii_struct_bases=[_NugetPublishOptions_32e8bf09],
575
618
  name_mapping={
619
+ "github_environment": "githubEnvironment",
576
620
  "post_publish_steps": "postPublishSteps",
577
621
  "pre_publish_steps": "prePublishSteps",
578
622
  "publish_tools": "publishTools",
579
623
  "nuget_api_key_secret": "nugetApiKeySecret",
580
624
  "nuget_server": "nugetServer",
625
+ "nuget_username_secret": "nugetUsernameSecret",
626
+ "trusted_publishing": "trustedPublishing",
581
627
  "dot_net_namespace": "dotNetNamespace",
582
628
  "package_id": "packageId",
583
629
  "icon_url": "iconUrl",
@@ -587,21 +633,27 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
587
633
  def __init__(
588
634
  self,
589
635
  *,
636
+ github_environment: typing.Optional[builtins.str] = None,
590
637
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
591
638
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
592
639
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
593
640
  nuget_api_key_secret: typing.Optional[builtins.str] = None,
594
641
  nuget_server: typing.Optional[builtins.str] = None,
642
+ nuget_username_secret: typing.Optional[builtins.str] = None,
643
+ trusted_publishing: typing.Optional[builtins.bool] = None,
595
644
  dot_net_namespace: builtins.str,
596
645
  package_id: builtins.str,
597
646
  icon_url: typing.Optional[builtins.str] = None,
598
647
  ) -> None:
599
648
  '''
649
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
600
650
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
601
- :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
651
+ :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
602
652
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
603
653
  :param nuget_api_key_secret: (experimental) GitHub secret which contains the API key for NuGet. Default: "NUGET_API_KEY"
604
654
  :param nuget_server: (experimental) NuGet Server URL (defaults to nuget.org).
655
+ :param nuget_username_secret: (experimental) The NuGet.org username (profile name, not email address) for trusted publisher authentication. Required when using trusted publishing. Default: "NUGET_USERNAME"
656
+ :param trusted_publishing: (experimental) Use NuGet trusted publishing instead of API keys. Needs to be setup in NuGet.org.
605
657
  :param dot_net_namespace:
606
658
  :param package_id:
607
659
  :param icon_url:
@@ -612,11 +664,14 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
612
664
  publish_tools = _Tools_75b93a2a(**publish_tools)
613
665
  if __debug__:
614
666
  type_hints = typing.get_type_hints(_typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005bb5ec7b5)
667
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
615
668
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
616
669
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
617
670
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
618
671
  check_type(argname="argument nuget_api_key_secret", value=nuget_api_key_secret, expected_type=type_hints["nuget_api_key_secret"])
619
672
  check_type(argname="argument nuget_server", value=nuget_server, expected_type=type_hints["nuget_server"])
673
+ check_type(argname="argument nuget_username_secret", value=nuget_username_secret, expected_type=type_hints["nuget_username_secret"])
674
+ check_type(argname="argument trusted_publishing", value=trusted_publishing, expected_type=type_hints["trusted_publishing"])
620
675
  check_type(argname="argument dot_net_namespace", value=dot_net_namespace, expected_type=type_hints["dot_net_namespace"])
621
676
  check_type(argname="argument package_id", value=package_id, expected_type=type_hints["package_id"])
622
677
  check_type(argname="argument icon_url", value=icon_url, expected_type=type_hints["icon_url"])
@@ -624,6 +679,8 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
624
679
  "dot_net_namespace": dot_net_namespace,
625
680
  "package_id": package_id,
626
681
  }
682
+ if github_environment is not None:
683
+ self._values["github_environment"] = github_environment
627
684
  if post_publish_steps is not None:
628
685
  self._values["post_publish_steps"] = post_publish_steps
629
686
  if pre_publish_steps is not None:
@@ -634,9 +691,29 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
634
691
  self._values["nuget_api_key_secret"] = nuget_api_key_secret
635
692
  if nuget_server is not None:
636
693
  self._values["nuget_server"] = nuget_server
694
+ if nuget_username_secret is not None:
695
+ self._values["nuget_username_secret"] = nuget_username_secret
696
+ if trusted_publishing is not None:
697
+ self._values["trusted_publishing"] = trusted_publishing
637
698
  if icon_url is not None:
638
699
  self._values["icon_url"] = icon_url
639
700
 
701
+ @builtins.property
702
+ def github_environment(self) -> typing.Optional[builtins.str]:
703
+ '''(experimental) The GitHub Actions environment used for publishing.
704
+
705
+ This can be used to add an explicit approval step to the release
706
+ or limit who can initiate a release through environment protection rules.
707
+
708
+ Set this to overwrite a package level publishing environment just for this artifact.
709
+
710
+ :default: - no environment used, unless set at the package level
711
+
712
+ :stability: experimental
713
+ '''
714
+ result = self._values.get("github_environment")
715
+ return typing.cast(typing.Optional[builtins.str], result)
716
+
640
717
  @builtins.property
641
718
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
642
719
  '''(experimental) Steps to execute after executing the publishing command.
@@ -653,7 +730,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
653
730
 
654
731
  @builtins.property
655
732
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
656
- '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.
733
+ '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed.
657
734
 
658
735
  These steps are executed after ``dist/`` has been populated with the build
659
736
  output.
@@ -696,6 +773,31 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
696
773
  result = self._values.get("nuget_server")
697
774
  return typing.cast(typing.Optional[builtins.str], result)
698
775
 
776
+ @builtins.property
777
+ def nuget_username_secret(self) -> typing.Optional[builtins.str]:
778
+ '''(experimental) The NuGet.org username (profile name, not email address) for trusted publisher authentication.
779
+
780
+ Required when using trusted publishing.
781
+
782
+ :default: "NUGET_USERNAME"
783
+
784
+ :stability: experimental
785
+ '''
786
+ result = self._values.get("nuget_username_secret")
787
+ return typing.cast(typing.Optional[builtins.str], result)
788
+
789
+ @builtins.property
790
+ def trusted_publishing(self) -> typing.Optional[builtins.bool]:
791
+ '''(experimental) Use NuGet trusted publishing instead of API keys.
792
+
793
+ Needs to be setup in NuGet.org.
794
+
795
+ :see: https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing
796
+ :stability: experimental
797
+ '''
798
+ result = self._values.get("trusted_publishing")
799
+ return typing.cast(typing.Optional[builtins.bool], result)
800
+
699
801
  @builtins.property
700
802
  def dot_net_namespace(self) -> builtins.str:
701
803
  '''
@@ -738,54 +840,57 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
738
840
  jsii_type="projen.cdk.JsiiGoTarget",
739
841
  jsii_struct_bases=[_GoPublishOptions_d6430d61],
740
842
  name_mapping={
843
+ "github_environment": "githubEnvironment",
741
844
  "post_publish_steps": "postPublishSteps",
742
845
  "pre_publish_steps": "prePublishSteps",
743
846
  "publish_tools": "publishTools",
744
847
  "git_branch": "gitBranch",
745
848
  "git_commit_message": "gitCommitMessage",
746
849
  "github_deploy_key_secret": "githubDeployKeySecret",
747
- "github_repo": "githubRepo",
748
850
  "github_token_secret": "githubTokenSecret",
749
851
  "github_use_ssh": "githubUseSsh",
750
852
  "git_user_email": "gitUserEmail",
751
853
  "git_user_name": "gitUserName",
752
854
  "module_name": "moduleName",
753
855
  "package_name": "packageName",
856
+ "version_suffix": "versionSuffix",
754
857
  },
755
858
  )
756
859
  class JsiiGoTarget(_GoPublishOptions_d6430d61):
757
860
  def __init__(
758
861
  self,
759
862
  *,
863
+ github_environment: typing.Optional[builtins.str] = None,
760
864
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
761
865
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
762
866
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
763
867
  git_branch: typing.Optional[builtins.str] = None,
764
868
  git_commit_message: typing.Optional[builtins.str] = None,
765
869
  github_deploy_key_secret: typing.Optional[builtins.str] = None,
766
- github_repo: typing.Optional[builtins.str] = None,
767
870
  github_token_secret: typing.Optional[builtins.str] = None,
768
871
  github_use_ssh: typing.Optional[builtins.bool] = None,
769
872
  git_user_email: typing.Optional[builtins.str] = None,
770
873
  git_user_name: typing.Optional[builtins.str] = None,
771
874
  module_name: builtins.str,
772
875
  package_name: typing.Optional[builtins.str] = None,
876
+ version_suffix: typing.Optional[builtins.str] = None,
773
877
  ) -> None:
774
878
  '''(experimental) Go target configuration.
775
879
 
880
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
776
881
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
777
- :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
882
+ :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
778
883
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
779
884
  :param git_branch: (experimental) Branch to push to. Default: "main"
780
885
  :param git_commit_message: (experimental) The commit message. Default: "chore(release): $VERSION"
781
886
  :param github_deploy_key_secret: (experimental) The name of the secret that includes a GitHub deploy key used to push to the GitHub repository. Ignored if ``githubUseSsh`` is ``false``. Default: "GO_GITHUB_DEPLOY_KEY"
782
- :param github_repo: (experimental) GitHub repository to push to. Default: - derived from ``moduleName``
783
887
  :param github_token_secret: (experimental) The name of the secret that includes a personal GitHub access token used to push to the GitHub repository. Ignored if ``githubUseSsh`` is ``true``. Default: "GO_GITHUB_TOKEN"
784
888
  :param github_use_ssh: (experimental) Use SSH to push to GitHub instead of a personal accses token. Default: false
785
- :param git_user_email: (experimental) The email to use in the release git commit. Default: "github-actions@github.com"
786
- :param git_user_name: (experimental) The user name to use for the release git commit. Default: "github-actions"
787
- :param module_name: (experimental) The name of the target go module.
788
- :param package_name: (experimental) The name of the go package. Default: - derived from the module name
889
+ :param git_user_email: (experimental) The email to use in the release git commit. Default: - default GitHub Actions user email
890
+ :param git_user_name: (experimental) The user name to use for the release git commit. Default: - default GitHub Actions user name
891
+ :param module_name: (experimental) The name of the target repository in which this module will be published (e.g. github.com/owner/repo). The module itself will always be published under a subdirectory named according to the ``packageName`` of the module (e.g. github.com/foo/bar/pkg).
892
+ :param package_name: (experimental) The name of the Go package name. If not specified, package name will be derived from the JavaScript module name by removing non-alphanumeric characters (e.g. Default: - derived from the JavaScript module name
893
+ :param version_suffix: (experimental) A suffix appended at the end of the module version (e.g ``"-devprefix"``). Default: - none
789
894
 
790
895
  :stability: experimental
791
896
  '''
@@ -793,22 +898,25 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
793
898
  publish_tools = _Tools_75b93a2a(**publish_tools)
794
899
  if __debug__:
795
900
  type_hints = typing.get_type_hints(_typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119354df9a)
901
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
796
902
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
797
903
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
798
904
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
799
905
  check_type(argname="argument git_branch", value=git_branch, expected_type=type_hints["git_branch"])
800
906
  check_type(argname="argument git_commit_message", value=git_commit_message, expected_type=type_hints["git_commit_message"])
801
907
  check_type(argname="argument github_deploy_key_secret", value=github_deploy_key_secret, expected_type=type_hints["github_deploy_key_secret"])
802
- check_type(argname="argument github_repo", value=github_repo, expected_type=type_hints["github_repo"])
803
908
  check_type(argname="argument github_token_secret", value=github_token_secret, expected_type=type_hints["github_token_secret"])
804
909
  check_type(argname="argument github_use_ssh", value=github_use_ssh, expected_type=type_hints["github_use_ssh"])
805
910
  check_type(argname="argument git_user_email", value=git_user_email, expected_type=type_hints["git_user_email"])
806
911
  check_type(argname="argument git_user_name", value=git_user_name, expected_type=type_hints["git_user_name"])
807
912
  check_type(argname="argument module_name", value=module_name, expected_type=type_hints["module_name"])
808
913
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
914
+ check_type(argname="argument version_suffix", value=version_suffix, expected_type=type_hints["version_suffix"])
809
915
  self._values: typing.Dict[builtins.str, typing.Any] = {
810
916
  "module_name": module_name,
811
917
  }
918
+ if github_environment is not None:
919
+ self._values["github_environment"] = github_environment
812
920
  if post_publish_steps is not None:
813
921
  self._values["post_publish_steps"] = post_publish_steps
814
922
  if pre_publish_steps is not None:
@@ -821,8 +929,6 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
821
929
  self._values["git_commit_message"] = git_commit_message
822
930
  if github_deploy_key_secret is not None:
823
931
  self._values["github_deploy_key_secret"] = github_deploy_key_secret
824
- if github_repo is not None:
825
- self._values["github_repo"] = github_repo
826
932
  if github_token_secret is not None:
827
933
  self._values["github_token_secret"] = github_token_secret
828
934
  if github_use_ssh is not None:
@@ -833,6 +939,24 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
833
939
  self._values["git_user_name"] = git_user_name
834
940
  if package_name is not None:
835
941
  self._values["package_name"] = package_name
942
+ if version_suffix is not None:
943
+ self._values["version_suffix"] = version_suffix
944
+
945
+ @builtins.property
946
+ def github_environment(self) -> typing.Optional[builtins.str]:
947
+ '''(experimental) The GitHub Actions environment used for publishing.
948
+
949
+ This can be used to add an explicit approval step to the release
950
+ or limit who can initiate a release through environment protection rules.
951
+
952
+ Set this to overwrite a package level publishing environment just for this artifact.
953
+
954
+ :default: - no environment used, unless set at the package level
955
+
956
+ :stability: experimental
957
+ '''
958
+ result = self._values.get("github_environment")
959
+ return typing.cast(typing.Optional[builtins.str], result)
836
960
 
837
961
  @builtins.property
838
962
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
@@ -850,7 +974,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
850
974
 
851
975
  @builtins.property
852
976
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
853
- '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.
977
+ '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed.
854
978
 
855
979
  These steps are executed after ``dist/`` has been populated with the build
856
980
  output.
@@ -908,17 +1032,6 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
908
1032
  result = self._values.get("github_deploy_key_secret")
909
1033
  return typing.cast(typing.Optional[builtins.str], result)
910
1034
 
911
- @builtins.property
912
- def github_repo(self) -> typing.Optional[builtins.str]:
913
- '''(experimental) GitHub repository to push to.
914
-
915
- :default: - derived from ``moduleName``
916
-
917
- :stability: experimental
918
- '''
919
- result = self._values.get("github_repo")
920
- return typing.cast(typing.Optional[builtins.str], result)
921
-
922
1035
  @builtins.property
923
1036
  def github_token_secret(self) -> typing.Optional[builtins.str]:
924
1037
  '''(experimental) The name of the secret that includes a personal GitHub access token used to push to the GitHub repository.
@@ -947,7 +1060,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
947
1060
  def git_user_email(self) -> typing.Optional[builtins.str]:
948
1061
  '''(experimental) The email to use in the release git commit.
949
1062
 
950
- :default: "github-actions@github.com"
1063
+ :default: - default GitHub Actions user email
951
1064
 
952
1065
  :stability: experimental
953
1066
  '''
@@ -958,7 +1071,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
958
1071
  def git_user_name(self) -> typing.Optional[builtins.str]:
959
1072
  '''(experimental) The user name to use for the release git commit.
960
1073
 
961
- :default: "github-actions"
1074
+ :default: - default GitHub Actions user name
962
1075
 
963
1076
  :stability: experimental
964
1077
  '''
@@ -967,13 +1080,16 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
967
1080
 
968
1081
  @builtins.property
969
1082
  def module_name(self) -> builtins.str:
970
- '''(experimental) The name of the target go module.
1083
+ '''(experimental) The name of the target repository in which this module will be published (e.g. github.com/owner/repo).
1084
+
1085
+ The module itself will always be published under a subdirectory named according
1086
+ to the ``packageName`` of the module (e.g. github.com/foo/bar/pkg).
971
1087
 
972
1088
  :stability: experimental
973
1089
 
974
1090
  Example::
975
1091
 
976
- github.com/owner/repo/subdir
1092
+ github.com/owner/repo
977
1093
  '''
978
1094
  result = self._values.get("module_name")
979
1095
  assert result is not None, "Required property 'module_name' is missing"
@@ -981,15 +1097,30 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
981
1097
 
982
1098
  @builtins.property
983
1099
  def package_name(self) -> typing.Optional[builtins.str]:
984
- '''(experimental) The name of the go package.
1100
+ '''(experimental) The name of the Go package name.
985
1101
 
986
- :default: - derived from the module name
1102
+ If not specified, package name will be derived from the JavaScript module name
1103
+ by removing non-alphanumeric characters (e.g.
1104
+
1105
+ :default: - derived from the JavaScript module name
987
1106
 
988
1107
  :stability: experimental
1108
+ :projen: /foo-bar will be projenfoobar).
989
1109
  '''
990
1110
  result = self._values.get("package_name")
991
1111
  return typing.cast(typing.Optional[builtins.str], result)
992
1112
 
1113
+ @builtins.property
1114
+ def version_suffix(self) -> typing.Optional[builtins.str]:
1115
+ '''(experimental) A suffix appended at the end of the module version (e.g ``"-devprefix"``).
1116
+
1117
+ :default: - none
1118
+
1119
+ :stability: experimental
1120
+ '''
1121
+ result = self._values.get("version_suffix")
1122
+ return typing.cast(typing.Optional[builtins.str], result)
1123
+
993
1124
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
994
1125
  return isinstance(rhs, self.__class__) and rhs._values == self._values
995
1126
 
@@ -1006,6 +1137,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
1006
1137
  jsii_type="projen.cdk.JsiiJavaTarget",
1007
1138
  jsii_struct_bases=[_MavenPublishOptions_43a9e42a],
1008
1139
  name_mapping={
1140
+ "github_environment": "githubEnvironment",
1009
1141
  "post_publish_steps": "postPublishSteps",
1010
1142
  "pre_publish_steps": "prePublishSteps",
1011
1143
  "publish_tools": "publishTools",
@@ -1026,6 +1158,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1026
1158
  def __init__(
1027
1159
  self,
1028
1160
  *,
1161
+ github_environment: typing.Optional[builtins.str] = None,
1029
1162
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1030
1163
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1031
1164
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1042,15 +1175,16 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1042
1175
  maven_group_id: builtins.str,
1043
1176
  ) -> None:
1044
1177
  '''
1178
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
1045
1179
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
1046
- :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
1180
+ :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
1047
1181
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
1048
- :param maven_endpoint: (experimental) URL of Nexus repository. if not set, defaults to https://oss.sonatype.org Default: "https://oss.sonatype.org"
1182
+ :param maven_endpoint: (experimental) URL of Nexus repository. if not set, defaults to https://oss.sonatype.org Default: - "https://oss.sonatype.org" or none when publishing to Maven Central
1049
1183
  :param maven_gpg_private_key_passphrase: (experimental) GitHub secret name which contains the GPG private key or file that includes it. This is used to sign your Maven packages. See instructions. Default: "MAVEN_GPG_PRIVATE_KEY_PASSPHRASE" or not set when using GitHub Packages
1050
1184
  :param maven_gpg_private_key_secret: (experimental) GitHub secret name which contains the GPG private key or file that includes it. This is used to sign your Maven packages. See instructions. Default: "MAVEN_GPG_PRIVATE_KEY" or not set when using GitHub Packages
1051
1185
  :param maven_password: (experimental) GitHub secret name which contains the Password for maven repository. For Maven Central, you will need to Create JIRA account and then request a new project (see links). Default: "MAVEN_PASSWORD" or "GITHUB_TOKEN" when using GitHub Packages
1052
1186
  :param maven_repository_url: (experimental) Deployment repository when not deploying to Maven Central. Default: - not set
1053
- :param maven_server_id: (experimental) Used in maven settings for credential lookup (e.g. use github when publishing to GitHub). Default: "ossrh" (Maven Central) or "github" when using GitHub Packages
1187
+ :param maven_server_id: (experimental) Used in maven settings for credential lookup (e.g. use github when publishing to GitHub). Set to ``central-ossrh`` to publish to Maven Central. Default: "central-ossrh" (Maven Central) or "github" when using GitHub Packages
1054
1188
  :param maven_staging_profile_id: (experimental) GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the "Releases" staging profile under "Staging Profiles" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521). Default: "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
1055
1189
  :param maven_username: (experimental) GitHub secret name which contains the Username for maven repository. For Maven Central, you will need to Create JIRA account and then request a new project (see links). Default: "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
1056
1190
  :param java_package:
@@ -1063,6 +1197,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1063
1197
  publish_tools = _Tools_75b93a2a(**publish_tools)
1064
1198
  if __debug__:
1065
1199
  type_hints = typing.get_type_hints(_typecheckingstub__365483a000ed61cc1587d7ada435961b86f33fb0718cd001430497c2290e0820)
1200
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1066
1201
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1067
1202
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1068
1203
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1082,6 +1217,8 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1082
1217
  "maven_artifact_id": maven_artifact_id,
1083
1218
  "maven_group_id": maven_group_id,
1084
1219
  }
1220
+ if github_environment is not None:
1221
+ self._values["github_environment"] = github_environment
1085
1222
  if post_publish_steps is not None:
1086
1223
  self._values["post_publish_steps"] = post_publish_steps
1087
1224
  if pre_publish_steps is not None:
@@ -1105,6 +1242,22 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1105
1242
  if maven_username is not None:
1106
1243
  self._values["maven_username"] = maven_username
1107
1244
 
1245
+ @builtins.property
1246
+ def github_environment(self) -> typing.Optional[builtins.str]:
1247
+ '''(experimental) The GitHub Actions environment used for publishing.
1248
+
1249
+ This can be used to add an explicit approval step to the release
1250
+ or limit who can initiate a release through environment protection rules.
1251
+
1252
+ Set this to overwrite a package level publishing environment just for this artifact.
1253
+
1254
+ :default: - no environment used, unless set at the package level
1255
+
1256
+ :stability: experimental
1257
+ '''
1258
+ result = self._values.get("github_environment")
1259
+ return typing.cast(typing.Optional[builtins.str], result)
1260
+
1108
1261
  @builtins.property
1109
1262
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1110
1263
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1121,7 +1274,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1121
1274
 
1122
1275
  @builtins.property
1123
1276
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1124
- '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.
1277
+ '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed.
1125
1278
 
1126
1279
  These steps are executed after ``dist/`` has been populated with the build
1127
1280
  output.
@@ -1150,7 +1303,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1150
1303
 
1151
1304
  if not set, defaults to https://oss.sonatype.org
1152
1305
 
1153
- :default: "https://oss.sonatype.org"
1306
+ :default: - "https://oss.sonatype.org" or none when publishing to Maven Central
1154
1307
 
1155
1308
  :stability: experimental
1156
1309
  '''
@@ -1216,7 +1369,9 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1216
1369
  def maven_server_id(self) -> typing.Optional[builtins.str]:
1217
1370
  '''(experimental) Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).
1218
1371
 
1219
- :default: "ossrh" (Maven Central) or "github" when using GitHub Packages
1372
+ Set to ``central-ossrh`` to publish to Maven Central.
1373
+
1374
+ :default: "central-ossrh" (Maven Central) or "github" when using GitHub Packages
1220
1375
 
1221
1376
  :stability: experimental
1222
1377
  '''
@@ -1338,7 +1493,11 @@ class JsiiProject(
1338
1493
  typescript_version: typing.Optional[builtins.str] = None,
1339
1494
  default_release_branch: builtins.str,
1340
1495
  artifacts_directory: typing.Optional[builtins.str] = None,
1496
+ audit_deps: typing.Optional[builtins.bool] = None,
1497
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
1341
1498
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
1499
+ biome: typing.Optional[builtins.bool] = None,
1500
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
1342
1501
  build_workflow: typing.Optional[builtins.bool] = None,
1343
1502
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
1344
1503
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1402,6 +1561,7 @@ class JsiiProject(
1402
1561
  bugs_email: typing.Optional[builtins.str] = None,
1403
1562
  bugs_url: typing.Optional[builtins.str] = None,
1404
1563
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
1564
+ bun_version: typing.Optional[builtins.str] = None,
1405
1565
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
1406
1566
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
1407
1567
  description: typing.Optional[builtins.str] = None,
@@ -1418,6 +1578,7 @@ class JsiiProject(
1418
1578
  npm_registry: typing.Optional[builtins.str] = None,
1419
1579
  npm_registry_url: typing.Optional[builtins.str] = None,
1420
1580
  npm_token_secret: typing.Optional[builtins.str] = None,
1581
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
1421
1582
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
1422
1583
  package_name: typing.Optional[builtins.str] = None,
1423
1584
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1429,9 +1590,11 @@ class JsiiProject(
1429
1590
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1430
1591
  stability: typing.Optional[builtins.str] = None,
1431
1592
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
1593
+ bump_package: typing.Optional[builtins.str] = None,
1432
1594
  jsii_release_version: typing.Optional[builtins.str] = None,
1433
1595
  major_version: typing.Optional[jsii.Number] = None,
1434
1596
  min_major_version: typing.Optional[jsii.Number] = None,
1597
+ next_version_command: typing.Optional[builtins.str] = None,
1435
1598
  npm_dist_tag: typing.Optional[builtins.str] = None,
1436
1599
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1437
1600
  prerelease: typing.Optional[builtins.str] = None,
@@ -1439,12 +1602,14 @@ class JsiiProject(
1439
1602
  publish_tasks: typing.Optional[builtins.bool] = None,
1440
1603
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
1441
1604
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
1605
+ release_environment: typing.Optional[builtins.str] = None,
1442
1606
  release_every_commit: typing.Optional[builtins.bool] = None,
1443
1607
  release_failure_issue: typing.Optional[builtins.bool] = None,
1444
1608
  release_failure_issue_label: typing.Optional[builtins.str] = None,
1445
1609
  release_schedule: typing.Optional[builtins.str] = None,
1446
1610
  release_tag_prefix: typing.Optional[builtins.str] = None,
1447
1611
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
1612
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1448
1613
  release_workflow_name: typing.Optional[builtins.str] = None,
1449
1614
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1450
1615
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -1474,7 +1639,7 @@ class JsiiProject(
1474
1639
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
1475
1640
  :param dotnet:
1476
1641
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
1477
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "1.x"
1642
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
1478
1643
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
1479
1644
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
1480
1645
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -1486,7 +1651,7 @@ class JsiiProject(
1486
1651
  :param docgen: (experimental) Docgen by Typedoc. Default: false
1487
1652
  :param docs_directory: (experimental) Docs directory. Default: "docs"
1488
1653
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
1489
- :param eslint: (experimental) Setup eslint. Default: true
1654
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
1490
1655
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
1491
1656
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
1492
1657
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -1501,14 +1666,18 @@ class JsiiProject(
1501
1666
  :param typescript_version: (experimental) TypeScript version to use. NOTE: Typescript is not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~1.2.3``). Default: "latest"
1502
1667
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
1503
1668
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
1669
+ :param audit_deps: (experimental) Run security audit on dependencies. When enabled, creates an "audit" task that checks for known security vulnerabilities in dependencies. By default, runs during every build and checks for "high" severity vulnerabilities or above in all dependencies (including dev dependencies). Default: false
1670
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
1504
1671
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
1672
+ :param biome: (experimental) Setup Biome. Default: false
1673
+ :param biome_options: (experimental) Biome options. Default: - default options
1505
1674
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
1506
1675
  :param build_workflow_options: (experimental) Options for PR build workflow.
1507
1676
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1508
1677
  :param bundler_options: (experimental) Options for ``Bundler``.
1509
1678
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
1510
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
1511
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
1679
+ :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``. Default: false
1680
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
1512
1681
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
1513
1682
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
1514
1683
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -1535,8 +1704,8 @@ class JsiiProject(
1535
1704
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
1536
1705
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
1537
1706
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
1538
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
1539
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
1707
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
1708
+ :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
1540
1709
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
1541
1710
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
1542
1711
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -1565,6 +1734,7 @@ class JsiiProject(
1565
1734
  :param bugs_email: (experimental) The email address to which issues should be reported.
1566
1735
  :param bugs_url: (experimental) The url to your project's issue tracker.
1567
1736
  :param bundled_deps: (experimental) List of dependencies to bundle into this module. These modules will be added both to the ``dependencies`` section and ``bundledDependencies`` section of your ``package.json``. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include.
1737
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
1568
1738
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
1569
1739
  :param deps: (experimental) Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include. Default: []
1570
1740
  :param description: (experimental) The description is just a string that helps people understand the purpose of the package. It can be used when searching for packages in a package manager as well. See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
@@ -1574,27 +1744,30 @@ class JsiiProject(
1574
1744
  :param keywords: (experimental) Keywords to include in ``package.json``.
1575
1745
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
1576
1746
  :param licensed: (experimental) Indicates if a license should be added. Default: true
1577
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
1578
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
1747
+ :param max_node_version: (experimental) The maximum node version supported by this package. Most projects should not use this option. The value indicates that the package is incompatible with any newer versions of node. This requirement is enforced via the engines field. You will normally not need to set this option. Consider this option only if your package is known to not function with newer versions of node. Default: - no maximum version is enforced
1748
+ :param min_node_version: (experimental) The minimum node version required by this package to function. Most projects should not use this option. The value indicates that the package is incompatible with any older versions of node. This requirement is enforced via the engines field. You will normally not need to set this option, even if your package is incompatible with EOL versions of node. Consider this option only if your package depends on a specific feature, that is not available in other LTS versions. Setting this option has very high impact on the consumers of your package, as package managers will actively prevent usage with node versions you have marked as incompatible. To change the node version of your CI/CD workflows, use ``workflowNodeVersion``. Default: - no minimum version is enforced
1579
1749
  :param npm_access: (experimental) Access level of the npm package. Default: - for scoped packages (e.g. ``foo@bar``), the default is ``NpmAccess.RESTRICTED``, for non-scoped packages, the default is ``NpmAccess.PUBLIC``.
1580
1750
  :param npm_provenance: (experimental) Should provenance statements be generated when the package is published. A supported package manager is required to publish a package with npm provenance statements and you will need to use a supported CI/CD provider. Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages, which is using npm internally and supports provenance statements independently of the package manager used. Default: - true for public packages, false otherwise
1581
1751
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1582
1752
  :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"
1583
1753
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1754
+ :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
1584
1755
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1585
1756
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1586
1757
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
1587
1758
  :param peer_deps: (experimental) Peer dependencies for this module. Dependencies listed here are required to be installed (and satisfied) by the *consumer* of this library. Using peer dependencies allows you to ensure that only a single module of a certain library exists in the ``node_modules`` tree of your consumers. Note that prior to npm@7, peer dependencies are *not* automatically installed, which means that adding peer dependencies to a library will be a breaking change for your customers. Unless ``peerDependencyOptions.pinnedDevDependency`` is disabled (it is enabled by default), projen will automatically add a dev dependency with a pinned version for each peer dependency. This will ensure that you build & test your module against the lowest peer version required. Default: []
1588
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
1759
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
1589
1760
  :param repository: (experimental) The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
1590
1761
  :param repository_directory: (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
1591
1762
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
1592
1763
  :param scripts: (deprecated) npm scripts to include. If a script has the same name as a standard script, the standard script will be overwritten. Also adds the script as a task. Default: {}
1593
1764
  :param stability: (experimental) Package's Stability.
1594
1765
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
1766
+ :param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: - A recent version of "commit-and-tag-version"
1595
1767
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
1596
1768
  :param major_version: (experimental) Major version to release from the default branch. If this is specified, we bump the latest version of this major version line. If not specified, we bump the global latest version. Default: - Major version is not enforced.
1597
1769
  :param min_major_version: (experimental) Minimal Major version to release. This can be useful to set to 1, as breaking changes before the 1.x major release are not incrementing the major version number. Can not be set together with ``majorVersion``. Default: - No minimum version is being enforced
1770
+ :param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. This setting cannot be specified together with ``minMajorVersion``; the invoked script can be used to achieve the effects of ``minMajorVersion``. Default: - The next version will be determined based on the commit history and project settings.
1598
1771
  :param npm_dist_tag: (experimental) The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set the ``npmDistTag`` property for each branch. Default: "latest"
1599
1772
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
1600
1773
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -1602,15 +1775,17 @@ class JsiiProject(
1602
1775
  :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
1603
1776
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1604
1777
  :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.
1778
+ :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
1605
1779
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1606
1780
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1607
1781
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
1608
1782
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
1609
1783
  :param release_tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: "v"
1610
1784
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
1785
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
1611
1786
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
1612
1787
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
1613
- :param versionrc_options: (experimental) Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
1788
+ :param versionrc_options: (experimental) Custom configuration used when creating changelog with commit-and-tag-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
1614
1789
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
1615
1790
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
1616
1791
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -1666,7 +1841,11 @@ class JsiiProject(
1666
1841
  typescript_version=typescript_version,
1667
1842
  default_release_branch=default_release_branch,
1668
1843
  artifacts_directory=artifacts_directory,
1844
+ audit_deps=audit_deps,
1845
+ audit_deps_options=audit_deps_options,
1669
1846
  auto_approve_upgrades=auto_approve_upgrades,
1847
+ biome=biome,
1848
+ biome_options=biome_options,
1670
1849
  build_workflow=build_workflow,
1671
1850
  build_workflow_options=build_workflow_options,
1672
1851
  build_workflow_triggers=build_workflow_triggers,
@@ -1730,6 +1909,7 @@ class JsiiProject(
1730
1909
  bugs_email=bugs_email,
1731
1910
  bugs_url=bugs_url,
1732
1911
  bundled_deps=bundled_deps,
1912
+ bun_version=bun_version,
1733
1913
  code_artifact_options=code_artifact_options,
1734
1914
  deps=deps,
1735
1915
  description=description,
@@ -1746,6 +1926,7 @@ class JsiiProject(
1746
1926
  npm_registry=npm_registry,
1747
1927
  npm_registry_url=npm_registry_url,
1748
1928
  npm_token_secret=npm_token_secret,
1929
+ npm_trusted_publishing=npm_trusted_publishing,
1749
1930
  package_manager=package_manager,
1750
1931
  package_name=package_name,
1751
1932
  peer_dependency_options=peer_dependency_options,
@@ -1757,9 +1938,11 @@ class JsiiProject(
1757
1938
  scripts=scripts,
1758
1939
  stability=stability,
1759
1940
  yarn_berry_options=yarn_berry_options,
1941
+ bump_package=bump_package,
1760
1942
  jsii_release_version=jsii_release_version,
1761
1943
  major_version=major_version,
1762
1944
  min_major_version=min_major_version,
1945
+ next_version_command=next_version_command,
1763
1946
  npm_dist_tag=npm_dist_tag,
1764
1947
  post_build_steps=post_build_steps,
1765
1948
  prerelease=prerelease,
@@ -1767,12 +1950,14 @@ class JsiiProject(
1767
1950
  publish_tasks=publish_tasks,
1768
1951
  releasable_commits=releasable_commits,
1769
1952
  release_branches=release_branches,
1953
+ release_environment=release_environment,
1770
1954
  release_every_commit=release_every_commit,
1771
1955
  release_failure_issue=release_failure_issue,
1772
1956
  release_failure_issue_label=release_failure_issue_label,
1773
1957
  release_schedule=release_schedule,
1774
1958
  release_tag_prefix=release_tag_prefix,
1775
1959
  release_trigger=release_trigger,
1960
+ release_workflow_env=release_workflow_env,
1776
1961
  release_workflow_name=release_workflow_name,
1777
1962
  release_workflow_setup_steps=release_workflow_setup_steps,
1778
1963
  versionrc_options=versionrc_options,
@@ -1795,14 +1980,6 @@ class JsiiProject(
1795
1980
 
1796
1981
  jsii.create(self.__class__, self, [options])
1797
1982
 
1798
- @builtins.property
1799
- @jsii.member(jsii_name="eslint")
1800
- def eslint(self) -> typing.Optional[_Eslint_b3991f7f]:
1801
- '''
1802
- :stability: experimental
1803
- '''
1804
- return typing.cast(typing.Optional[_Eslint_b3991f7f], jsii.get(self, "eslint"))
1805
-
1806
1983
 
1807
1984
  @jsii.data_type(
1808
1985
  jsii_type="projen.cdk.JsiiProjectOptions",
@@ -1847,6 +2024,7 @@ class JsiiProject(
1847
2024
  "bugs_email": "bugsEmail",
1848
2025
  "bugs_url": "bugsUrl",
1849
2026
  "bundled_deps": "bundledDeps",
2027
+ "bun_version": "bunVersion",
1850
2028
  "code_artifact_options": "codeArtifactOptions",
1851
2029
  "deps": "deps",
1852
2030
  "description": "description",
@@ -1863,6 +2041,7 @@ class JsiiProject(
1863
2041
  "npm_registry": "npmRegistry",
1864
2042
  "npm_registry_url": "npmRegistryUrl",
1865
2043
  "npm_token_secret": "npmTokenSecret",
2044
+ "npm_trusted_publishing": "npmTrustedPublishing",
1866
2045
  "package_manager": "packageManager",
1867
2046
  "package_name": "packageName",
1868
2047
  "peer_dependency_options": "peerDependencyOptions",
@@ -1874,9 +2053,11 @@ class JsiiProject(
1874
2053
  "scripts": "scripts",
1875
2054
  "stability": "stability",
1876
2055
  "yarn_berry_options": "yarnBerryOptions",
2056
+ "bump_package": "bumpPackage",
1877
2057
  "jsii_release_version": "jsiiReleaseVersion",
1878
2058
  "major_version": "majorVersion",
1879
2059
  "min_major_version": "minMajorVersion",
2060
+ "next_version_command": "nextVersionCommand",
1880
2061
  "npm_dist_tag": "npmDistTag",
1881
2062
  "post_build_steps": "postBuildSteps",
1882
2063
  "prerelease": "prerelease",
@@ -1884,12 +2065,14 @@ class JsiiProject(
1884
2065
  "publish_tasks": "publishTasks",
1885
2066
  "releasable_commits": "releasableCommits",
1886
2067
  "release_branches": "releaseBranches",
2068
+ "release_environment": "releaseEnvironment",
1887
2069
  "release_every_commit": "releaseEveryCommit",
1888
2070
  "release_failure_issue": "releaseFailureIssue",
1889
2071
  "release_failure_issue_label": "releaseFailureIssueLabel",
1890
2072
  "release_schedule": "releaseSchedule",
1891
2073
  "release_tag_prefix": "releaseTagPrefix",
1892
2074
  "release_trigger": "releaseTrigger",
2075
+ "release_workflow_env": "releaseWorkflowEnv",
1893
2076
  "release_workflow_name": "releaseWorkflowName",
1894
2077
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
1895
2078
  "versionrc_options": "versionrcOptions",
@@ -1898,7 +2081,11 @@ class JsiiProject(
1898
2081
  "workflow_runs_on_group": "workflowRunsOnGroup",
1899
2082
  "default_release_branch": "defaultReleaseBranch",
1900
2083
  "artifacts_directory": "artifactsDirectory",
2084
+ "audit_deps": "auditDeps",
2085
+ "audit_deps_options": "auditDepsOptions",
1901
2086
  "auto_approve_upgrades": "autoApproveUpgrades",
2087
+ "biome": "biome",
2088
+ "biome_options": "biomeOptions",
1902
2089
  "build_workflow": "buildWorkflow",
1903
2090
  "build_workflow_options": "buildWorkflowOptions",
1904
2091
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -2014,6 +2201,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2014
2201
  bugs_email: typing.Optional[builtins.str] = None,
2015
2202
  bugs_url: typing.Optional[builtins.str] = None,
2016
2203
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
2204
+ bun_version: typing.Optional[builtins.str] = None,
2017
2205
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
2018
2206
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
2019
2207
  description: typing.Optional[builtins.str] = None,
@@ -2030,6 +2218,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2030
2218
  npm_registry: typing.Optional[builtins.str] = None,
2031
2219
  npm_registry_url: typing.Optional[builtins.str] = None,
2032
2220
  npm_token_secret: typing.Optional[builtins.str] = None,
2221
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
2033
2222
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
2034
2223
  package_name: typing.Optional[builtins.str] = None,
2035
2224
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2041,9 +2230,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2041
2230
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2042
2231
  stability: typing.Optional[builtins.str] = None,
2043
2232
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
2233
+ bump_package: typing.Optional[builtins.str] = None,
2044
2234
  jsii_release_version: typing.Optional[builtins.str] = None,
2045
2235
  major_version: typing.Optional[jsii.Number] = None,
2046
2236
  min_major_version: typing.Optional[jsii.Number] = None,
2237
+ next_version_command: typing.Optional[builtins.str] = None,
2047
2238
  npm_dist_tag: typing.Optional[builtins.str] = None,
2048
2239
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2049
2240
  prerelease: typing.Optional[builtins.str] = None,
@@ -2051,12 +2242,14 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2051
2242
  publish_tasks: typing.Optional[builtins.bool] = None,
2052
2243
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
2053
2244
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
2245
+ release_environment: typing.Optional[builtins.str] = None,
2054
2246
  release_every_commit: typing.Optional[builtins.bool] = None,
2055
2247
  release_failure_issue: typing.Optional[builtins.bool] = None,
2056
2248
  release_failure_issue_label: typing.Optional[builtins.str] = None,
2057
2249
  release_schedule: typing.Optional[builtins.str] = None,
2058
2250
  release_tag_prefix: typing.Optional[builtins.str] = None,
2059
2251
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
2252
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2060
2253
  release_workflow_name: typing.Optional[builtins.str] = None,
2061
2254
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2062
2255
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -2065,7 +2258,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2065
2258
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
2066
2259
  default_release_branch: builtins.str,
2067
2260
  artifacts_directory: typing.Optional[builtins.str] = None,
2261
+ audit_deps: typing.Optional[builtins.bool] = None,
2262
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
2068
2263
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
2264
+ biome: typing.Optional[builtins.bool] = None,
2265
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
2069
2266
  build_workflow: typing.Optional[builtins.bool] = None,
2070
2267
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
2071
2268
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2177,6 +2374,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2177
2374
  :param bugs_email: (experimental) The email address to which issues should be reported.
2178
2375
  :param bugs_url: (experimental) The url to your project's issue tracker.
2179
2376
  :param bundled_deps: (experimental) List of dependencies to bundle into this module. These modules will be added both to the ``dependencies`` section and ``bundledDependencies`` section of your ``package.json``. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include.
2377
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
2180
2378
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
2181
2379
  :param deps: (experimental) Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include. Default: []
2182
2380
  :param description: (experimental) The description is just a string that helps people understand the purpose of the package. It can be used when searching for packages in a package manager as well. See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
@@ -2186,27 +2384,30 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2186
2384
  :param keywords: (experimental) Keywords to include in ``package.json``.
2187
2385
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
2188
2386
  :param licensed: (experimental) Indicates if a license should be added. Default: true
2189
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
2190
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
2387
+ :param max_node_version: (experimental) The maximum node version supported by this package. Most projects should not use this option. The value indicates that the package is incompatible with any newer versions of node. This requirement is enforced via the engines field. You will normally not need to set this option. Consider this option only if your package is known to not function with newer versions of node. Default: - no maximum version is enforced
2388
+ :param min_node_version: (experimental) The minimum node version required by this package to function. Most projects should not use this option. The value indicates that the package is incompatible with any older versions of node. This requirement is enforced via the engines field. You will normally not need to set this option, even if your package is incompatible with EOL versions of node. Consider this option only if your package depends on a specific feature, that is not available in other LTS versions. Setting this option has very high impact on the consumers of your package, as package managers will actively prevent usage with node versions you have marked as incompatible. To change the node version of your CI/CD workflows, use ``workflowNodeVersion``. Default: - no minimum version is enforced
2191
2389
  :param npm_access: (experimental) Access level of the npm package. Default: - for scoped packages (e.g. ``foo@bar``), the default is ``NpmAccess.RESTRICTED``, for non-scoped packages, the default is ``NpmAccess.PUBLIC``.
2192
2390
  :param npm_provenance: (experimental) Should provenance statements be generated when the package is published. A supported package manager is required to publish a package with npm provenance statements and you will need to use a supported CI/CD provider. Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages, which is using npm internally and supports provenance statements independently of the package manager used. Default: - true for public packages, false otherwise
2193
2391
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
2194
2392
  :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"
2195
2393
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
2394
+ :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
2196
2395
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
2197
2396
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
2198
2397
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
2199
2398
  :param peer_deps: (experimental) Peer dependencies for this module. Dependencies listed here are required to be installed (and satisfied) by the *consumer* of this library. Using peer dependencies allows you to ensure that only a single module of a certain library exists in the ``node_modules`` tree of your consumers. Note that prior to npm@7, peer dependencies are *not* automatically installed, which means that adding peer dependencies to a library will be a breaking change for your customers. Unless ``peerDependencyOptions.pinnedDevDependency`` is disabled (it is enabled by default), projen will automatically add a dev dependency with a pinned version for each peer dependency. This will ensure that you build & test your module against the lowest peer version required. Default: []
2200
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
2399
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
2201
2400
  :param repository: (experimental) The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
2202
2401
  :param repository_directory: (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
2203
2402
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
2204
2403
  :param scripts: (deprecated) npm scripts to include. If a script has the same name as a standard script, the standard script will be overwritten. Also adds the script as a task. Default: {}
2205
2404
  :param stability: (experimental) Package's Stability.
2206
2405
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
2406
+ :param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: - A recent version of "commit-and-tag-version"
2207
2407
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
2208
2408
  :param major_version: (experimental) Major version to release from the default branch. If this is specified, we bump the latest version of this major version line. If not specified, we bump the global latest version. Default: - Major version is not enforced.
2209
2409
  :param min_major_version: (experimental) Minimal Major version to release. This can be useful to set to 1, as breaking changes before the 1.x major release are not incrementing the major version number. Can not be set together with ``majorVersion``. Default: - No minimum version is being enforced
2410
+ :param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. This setting cannot be specified together with ``minMajorVersion``; the invoked script can be used to achieve the effects of ``minMajorVersion``. Default: - The next version will be determined based on the commit history and project settings.
2210
2411
  :param npm_dist_tag: (experimental) The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set the ``npmDistTag`` property for each branch. Default: "latest"
2211
2412
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
2212
2413
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -2214,28 +2415,34 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2214
2415
  :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
2215
2416
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
2216
2417
  :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.
2418
+ :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
2217
2419
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
2218
2420
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
2219
2421
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
2220
2422
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
2221
2423
  :param release_tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: "v"
2222
2424
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
2425
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
2223
2426
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
2224
2427
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
2225
- :param versionrc_options: (experimental) Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
2428
+ :param versionrc_options: (experimental) Custom configuration used when creating changelog with commit-and-tag-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
2226
2429
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
2227
2430
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
2228
2431
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
2229
2432
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
2230
2433
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
2434
+ :param audit_deps: (experimental) Run security audit on dependencies. When enabled, creates an "audit" task that checks for known security vulnerabilities in dependencies. By default, runs during every build and checks for "high" severity vulnerabilities or above in all dependencies (including dev dependencies). Default: false
2435
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
2231
2436
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
2437
+ :param biome: (experimental) Setup Biome. Default: false
2438
+ :param biome_options: (experimental) Biome options. Default: - default options
2232
2439
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
2233
2440
  :param build_workflow_options: (experimental) Options for PR build workflow.
2234
2441
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
2235
2442
  :param bundler_options: (experimental) Options for ``Bundler``.
2236
2443
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
2237
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
2238
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
2444
+ :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``. Default: false
2445
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
2239
2446
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
2240
2447
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
2241
2448
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -2262,15 +2469,15 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2262
2469
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
2263
2470
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
2264
2471
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
2265
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
2266
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
2472
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
2473
+ :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
2267
2474
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
2268
2475
  :param disable_tsconfig: (experimental) Do not generate a ``tsconfig.json`` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). Default: false
2269
2476
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
2270
2477
  :param docgen: (experimental) Docgen by Typedoc. Default: false
2271
2478
  :param docs_directory: (experimental) Docs directory. Default: "docs"
2272
2479
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
2273
- :param eslint: (experimental) Setup eslint. Default: true
2480
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
2274
2481
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
2275
2482
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
2276
2483
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -2292,7 +2499,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2292
2499
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
2293
2500
  :param dotnet:
2294
2501
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
2295
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "1.x"
2502
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
2296
2503
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
2297
2504
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
2298
2505
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -2332,6 +2539,10 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2332
2539
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
2333
2540
  if isinstance(workflow_runs_on_group, dict):
2334
2541
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
2542
+ if isinstance(audit_deps_options, dict):
2543
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
2544
+ if isinstance(biome_options, dict):
2545
+ biome_options = _BiomeOptions_452ab984(**biome_options)
2335
2546
  if isinstance(build_workflow_options, dict):
2336
2547
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
2337
2548
  if isinstance(build_workflow_triggers, dict):
@@ -2417,6 +2628,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2417
2628
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
2418
2629
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
2419
2630
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
2631
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
2420
2632
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
2421
2633
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
2422
2634
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -2433,6 +2645,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2433
2645
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
2434
2646
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
2435
2647
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
2648
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
2436
2649
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
2437
2650
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
2438
2651
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -2444,9 +2657,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2444
2657
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
2445
2658
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
2446
2659
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
2660
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
2447
2661
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
2448
2662
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
2449
2663
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
2664
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
2450
2665
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
2451
2666
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
2452
2667
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -2454,12 +2669,14 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2454
2669
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
2455
2670
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
2456
2671
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
2672
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
2457
2673
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
2458
2674
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
2459
2675
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
2460
2676
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
2461
2677
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
2462
2678
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
2679
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
2463
2680
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
2464
2681
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
2465
2682
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -2468,7 +2685,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2468
2685
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
2469
2686
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
2470
2687
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
2688
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
2689
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
2471
2690
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
2691
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
2692
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
2472
2693
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
2473
2694
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
2474
2695
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -2622,6 +2843,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2622
2843
  self._values["bugs_url"] = bugs_url
2623
2844
  if bundled_deps is not None:
2624
2845
  self._values["bundled_deps"] = bundled_deps
2846
+ if bun_version is not None:
2847
+ self._values["bun_version"] = bun_version
2625
2848
  if code_artifact_options is not None:
2626
2849
  self._values["code_artifact_options"] = code_artifact_options
2627
2850
  if deps is not None:
@@ -2654,6 +2877,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2654
2877
  self._values["npm_registry_url"] = npm_registry_url
2655
2878
  if npm_token_secret is not None:
2656
2879
  self._values["npm_token_secret"] = npm_token_secret
2880
+ if npm_trusted_publishing is not None:
2881
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
2657
2882
  if package_manager is not None:
2658
2883
  self._values["package_manager"] = package_manager
2659
2884
  if package_name is not None:
@@ -2676,12 +2901,16 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2676
2901
  self._values["stability"] = stability
2677
2902
  if yarn_berry_options is not None:
2678
2903
  self._values["yarn_berry_options"] = yarn_berry_options
2904
+ if bump_package is not None:
2905
+ self._values["bump_package"] = bump_package
2679
2906
  if jsii_release_version is not None:
2680
2907
  self._values["jsii_release_version"] = jsii_release_version
2681
2908
  if major_version is not None:
2682
2909
  self._values["major_version"] = major_version
2683
2910
  if min_major_version is not None:
2684
2911
  self._values["min_major_version"] = min_major_version
2912
+ if next_version_command is not None:
2913
+ self._values["next_version_command"] = next_version_command
2685
2914
  if npm_dist_tag is not None:
2686
2915
  self._values["npm_dist_tag"] = npm_dist_tag
2687
2916
  if post_build_steps is not None:
@@ -2696,6 +2925,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2696
2925
  self._values["releasable_commits"] = releasable_commits
2697
2926
  if release_branches is not None:
2698
2927
  self._values["release_branches"] = release_branches
2928
+ if release_environment is not None:
2929
+ self._values["release_environment"] = release_environment
2699
2930
  if release_every_commit is not None:
2700
2931
  self._values["release_every_commit"] = release_every_commit
2701
2932
  if release_failure_issue is not None:
@@ -2708,6 +2939,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2708
2939
  self._values["release_tag_prefix"] = release_tag_prefix
2709
2940
  if release_trigger is not None:
2710
2941
  self._values["release_trigger"] = release_trigger
2942
+ if release_workflow_env is not None:
2943
+ self._values["release_workflow_env"] = release_workflow_env
2711
2944
  if release_workflow_name is not None:
2712
2945
  self._values["release_workflow_name"] = release_workflow_name
2713
2946
  if release_workflow_setup_steps is not None:
@@ -2722,8 +2955,16 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2722
2955
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
2723
2956
  if artifacts_directory is not None:
2724
2957
  self._values["artifacts_directory"] = artifacts_directory
2958
+ if audit_deps is not None:
2959
+ self._values["audit_deps"] = audit_deps
2960
+ if audit_deps_options is not None:
2961
+ self._values["audit_deps_options"] = audit_deps_options
2725
2962
  if auto_approve_upgrades is not None:
2726
2963
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
2964
+ if biome is not None:
2965
+ self._values["biome"] = biome
2966
+ if biome_options is not None:
2967
+ self._values["biome_options"] = biome_options
2727
2968
  if build_workflow is not None:
2728
2969
  self._values["build_workflow"] = build_workflow
2729
2970
  if build_workflow_options is not None:
@@ -3323,6 +3564,17 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3323
3564
  result = self._values.get("bundled_deps")
3324
3565
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3325
3566
 
3567
+ @builtins.property
3568
+ def bun_version(self) -> typing.Optional[builtins.str]:
3569
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
3570
+
3571
+ :default: "latest"
3572
+
3573
+ :stability: experimental
3574
+ '''
3575
+ result = self._values.get("bun_version")
3576
+ return typing.cast(typing.Optional[builtins.str], result)
3577
+
3326
3578
  @builtins.property
3327
3579
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
3328
3580
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -3457,9 +3709,15 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3457
3709
 
3458
3710
  @builtins.property
3459
3711
  def max_node_version(self) -> typing.Optional[builtins.str]:
3460
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
3712
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
3461
3713
 
3462
- :default: - no max
3714
+ The value indicates that the package is incompatible with any newer versions of node.
3715
+ This requirement is enforced via the engines field.
3716
+
3717
+ You will normally not need to set this option.
3718
+ Consider this option only if your package is known to not function with newer versions of node.
3719
+
3720
+ :default: - no maximum version is enforced
3463
3721
 
3464
3722
  :stability: experimental
3465
3723
  '''
@@ -3468,9 +3726,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3468
3726
 
3469
3727
  @builtins.property
3470
3728
  def min_node_version(self) -> typing.Optional[builtins.str]:
3471
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
3729
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
3730
+
3731
+ The value indicates that the package is incompatible with any older versions of node.
3732
+ This requirement is enforced via the engines field.
3733
+
3734
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
3735
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
3736
+ Setting this option has very high impact on the consumers of your package,
3737
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
3738
+
3739
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
3472
3740
 
3473
- :default: - no "engines" specified
3741
+ :default: - no minimum version is enforced
3474
3742
 
3475
3743
  :stability: experimental
3476
3744
  '''
@@ -3547,6 +3815,17 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3547
3815
  result = self._values.get("npm_token_secret")
3548
3816
  return typing.cast(typing.Optional[builtins.str], result)
3549
3817
 
3818
+ @builtins.property
3819
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
3820
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
3821
+
3822
+ :default: - false
3823
+
3824
+ :stability: experimental
3825
+ '''
3826
+ result = self._values.get("npm_trusted_publishing")
3827
+ return typing.cast(typing.Optional[builtins.bool], result)
3828
+
3550
3829
  @builtins.property
3551
3830
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
3552
3831
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -3610,7 +3889,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3610
3889
  def pnpm_version(self) -> typing.Optional[builtins.str]:
3611
3890
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
3612
3891
 
3613
- :default: "7"
3892
+ :default: "9"
3614
3893
 
3615
3894
  :stability: experimental
3616
3895
  '''
@@ -3687,6 +3966,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3687
3966
  result = self._values.get("yarn_berry_options")
3688
3967
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
3689
3968
 
3969
+ @builtins.property
3970
+ def bump_package(self) -> typing.Optional[builtins.str]:
3971
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
3972
+
3973
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
3974
+
3975
+ :default: - A recent version of "commit-and-tag-version"
3976
+
3977
+ :stability: experimental
3978
+ '''
3979
+ result = self._values.get("bump_package")
3980
+ return typing.cast(typing.Optional[builtins.str], result)
3981
+
3690
3982
  @builtins.property
3691
3983
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
3692
3984
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -3728,6 +4020,36 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3728
4020
  result = self._values.get("min_major_version")
3729
4021
  return typing.cast(typing.Optional[jsii.Number], result)
3730
4022
 
4023
+ @builtins.property
4024
+ def next_version_command(self) -> typing.Optional[builtins.str]:
4025
+ '''(experimental) A shell command to control the next version to release.
4026
+
4027
+ If present, this shell command will be run before the bump is executed, and
4028
+ it determines what version to release. It will be executed in the following
4029
+ environment:
4030
+
4031
+ - Working directory: the project directory.
4032
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
4033
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
4034
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
4035
+
4036
+ The command should print one of the following to ``stdout``:
4037
+
4038
+ - Nothing: the next version number will be determined based on commit history.
4039
+ - ``x.y.z``: the next version number will be ``x.y.z``.
4040
+ - ``major|minor|patch``: the next version number will be the current version number
4041
+ with the indicated component bumped.
4042
+
4043
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
4044
+ script can be used to achieve the effects of ``minMajorVersion``.
4045
+
4046
+ :default: - The next version will be determined based on the commit history and project settings.
4047
+
4048
+ :stability: experimental
4049
+ '''
4050
+ result = self._values.get("next_version_command")
4051
+ return typing.cast(typing.Optional[builtins.str], result)
4052
+
3731
4053
  @builtins.property
3732
4054
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
3733
4055
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -3823,6 +4145,23 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3823
4145
  result = self._values.get("release_branches")
3824
4146
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
3825
4147
 
4148
+ @builtins.property
4149
+ def release_environment(self) -> typing.Optional[builtins.str]:
4150
+ '''(experimental) The GitHub Actions environment used for the release.
4151
+
4152
+ This can be used to add an explicit approval step to the release
4153
+ or limit who can initiate a release through environment protection rules.
4154
+
4155
+ When multiple artifacts are released, the environment can be overwritten
4156
+ on a per artifact basis.
4157
+
4158
+ :default: - no environment used, unless set at the artifact level
4159
+
4160
+ :stability: experimental
4161
+ '''
4162
+ result = self._values.get("release_environment")
4163
+ return typing.cast(typing.Optional[builtins.str], result)
4164
+
3826
4165
  @builtins.property
3827
4166
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3828
4167
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -3900,6 +4239,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3900
4239
  result = self._values.get("release_trigger")
3901
4240
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
3902
4241
 
4242
+ @builtins.property
4243
+ def release_workflow_env(
4244
+ self,
4245
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
4246
+ '''(experimental) Build environment variables for release workflows.
4247
+
4248
+ :default: {}
4249
+
4250
+ :stability: experimental
4251
+ '''
4252
+ result = self._values.get("release_workflow_env")
4253
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
4254
+
3903
4255
  @builtins.property
3904
4256
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
3905
4257
  '''(experimental) The name of the default release workflow.
@@ -3926,7 +4278,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3926
4278
  def versionrc_options(
3927
4279
  self,
3928
4280
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
3929
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
4281
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
3930
4282
 
3931
4283
  Given values either append to default configuration or overwrite values in it.
3932
4284
 
@@ -3995,6 +4347,32 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3995
4347
  result = self._values.get("artifacts_directory")
3996
4348
  return typing.cast(typing.Optional[builtins.str], result)
3997
4349
 
4350
+ @builtins.property
4351
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
4352
+ '''(experimental) Run security audit on dependencies.
4353
+
4354
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
4355
+ in dependencies. By default, runs during every build and checks for "high" severity
4356
+ vulnerabilities or above in all dependencies (including dev dependencies).
4357
+
4358
+ :default: false
4359
+
4360
+ :stability: experimental
4361
+ '''
4362
+ result = self._values.get("audit_deps")
4363
+ return typing.cast(typing.Optional[builtins.bool], result)
4364
+
4365
+ @builtins.property
4366
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
4367
+ '''(experimental) Security audit options.
4368
+
4369
+ :default: - default options
4370
+
4371
+ :stability: experimental
4372
+ '''
4373
+ result = self._values.get("audit_deps_options")
4374
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
4375
+
3998
4376
  @builtins.property
3999
4377
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
4000
4378
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -4008,6 +4386,28 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4008
4386
  result = self._values.get("auto_approve_upgrades")
4009
4387
  return typing.cast(typing.Optional[builtins.bool], result)
4010
4388
 
4389
+ @builtins.property
4390
+ def biome(self) -> typing.Optional[builtins.bool]:
4391
+ '''(experimental) Setup Biome.
4392
+
4393
+ :default: false
4394
+
4395
+ :stability: experimental
4396
+ '''
4397
+ result = self._values.get("biome")
4398
+ return typing.cast(typing.Optional[builtins.bool], result)
4399
+
4400
+ @builtins.property
4401
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
4402
+ '''(experimental) Biome options.
4403
+
4404
+ :default: - default options
4405
+
4406
+ :stability: experimental
4407
+ '''
4408
+ result = self._values.get("biome_options")
4409
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
4410
+
4011
4411
  @builtins.property
4012
4412
  def build_workflow(self) -> typing.Optional[builtins.bool]:
4013
4413
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -4065,7 +4465,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4065
4465
 
4066
4466
  @builtins.property
4067
4467
  def code_cov(self) -> typing.Optional[builtins.bool]:
4068
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
4468
+ '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``.
4069
4469
 
4070
4470
  :default: false
4071
4471
 
@@ -4076,9 +4476,9 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4076
4476
 
4077
4477
  @builtins.property
4078
4478
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
4079
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
4479
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
4080
4480
 
4081
- :default: - if this option is not specified, only public repositories are supported
4481
+ :default: - OIDC auth is used
4082
4482
 
4083
4483
  :stability: experimental
4084
4484
  '''
@@ -4391,7 +4791,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4391
4791
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
4392
4792
  '''(experimental) The git identity to use in workflows.
4393
4793
 
4394
- :default: - GitHub Actions
4794
+ :default: - default GitHub Actions user
4395
4795
 
4396
4796
  :stability: experimental
4397
4797
  '''
@@ -4400,9 +4800,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4400
4800
 
4401
4801
  @builtins.property
4402
4802
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
4403
- '''(experimental) The node version to use in GitHub workflows.
4803
+ '''(experimental) The node version used in GitHub Actions workflows.
4404
4804
 
4405
- :default: - same as ``minNodeVersion``
4805
+ Always use this option if your GitHub Actions workflows require a specific to run.
4806
+
4807
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
4406
4808
 
4407
4809
  :stability: experimental
4408
4810
  '''
@@ -4479,7 +4881,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4479
4881
  def eslint(self) -> typing.Optional[builtins.bool]:
4480
4882
  '''(experimental) Setup eslint.
4481
4883
 
4482
- :default: true
4884
+ :default: - true, unless biome is enabled
4483
4885
 
4484
4886
  :stability: experimental
4485
4887
  '''
@@ -4742,10 +5144,10 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4742
5144
  and should remain on the same minor, so we recommend using a ``~`` dependency
4743
5145
  (e.g. ``~5.0.0``).
4744
5146
 
4745
- :default: "1.x"
5147
+ :default: "~5.8.0"
4746
5148
 
4747
5149
  :stability: experimental
4748
- :pjnew: "~5.4.0"
5150
+ :pjnew: "~5.9.0"
4749
5151
  '''
4750
5152
  result = self._values.get("jsii_version")
4751
5153
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4830,10 +5232,13 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4830
5232
  jsii_type="projen.cdk.JsiiPythonTarget",
4831
5233
  jsii_struct_bases=[_PyPiPublishOptions_99154bcd],
4832
5234
  name_mapping={
5235
+ "github_environment": "githubEnvironment",
4833
5236
  "post_publish_steps": "postPublishSteps",
4834
5237
  "pre_publish_steps": "prePublishSteps",
4835
5238
  "publish_tools": "publishTools",
5239
+ "attestations": "attestations",
4836
5240
  "code_artifact_options": "codeArtifactOptions",
5241
+ "trusted_publishing": "trustedPublishing",
4837
5242
  "twine_password_secret": "twinePasswordSecret",
4838
5243
  "twine_registry_url": "twineRegistryUrl",
4839
5244
  "twine_username_secret": "twineUsernameSecret",
@@ -4845,10 +5250,13 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4845
5250
  def __init__(
4846
5251
  self,
4847
5252
  *,
5253
+ github_environment: typing.Optional[builtins.str] = None,
4848
5254
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4849
5255
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4850
5256
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
5257
+ attestations: typing.Optional[builtins.bool] = None,
4851
5258
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_7236977a, typing.Dict[builtins.str, typing.Any]]] = None,
5259
+ trusted_publishing: typing.Optional[builtins.bool] = None,
4852
5260
  twine_password_secret: typing.Optional[builtins.str] = None,
4853
5261
  twine_registry_url: typing.Optional[builtins.str] = None,
4854
5262
  twine_username_secret: typing.Optional[builtins.str] = None,
@@ -4856,10 +5264,13 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4856
5264
  module: builtins.str,
4857
5265
  ) -> None:
4858
5266
  '''
5267
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
4859
5268
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
4860
- :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
5269
+ :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
4861
5270
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
5271
+ :param attestations: (experimental) Generate and publish cryptographic attestations for files uploaded to PyPI. Attestations provide package provenance and integrity an can be viewed on PyPI. They are only available when using a Trusted Publisher for publishing. Default: - enabled when using trusted publishing, otherwise not applicable
4862
5272
  :param code_artifact_options: (experimental) Options for publishing to AWS CodeArtifact. Default: - undefined
5273
+ :param trusted_publishing: (experimental) Use PyPI trusted publishing instead of tokens or username & password. Needs to be setup in PyPI.
4863
5274
  :param twine_password_secret: (experimental) The GitHub secret which contains PyPI password. Default: "TWINE_PASSWORD"
4864
5275
  :param twine_registry_url: (experimental) The registry url to use when releasing packages. Default: - twine default
4865
5276
  :param twine_username_secret: (experimental) The GitHub secret which contains PyPI user name. Default: "TWINE_USERNAME"
@@ -4874,10 +5285,13 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4874
5285
  code_artifact_options = _CodeArtifactOptions_7236977a(**code_artifact_options)
4875
5286
  if __debug__:
4876
5287
  type_hints = typing.get_type_hints(_typecheckingstub__b9ccf41e184eae5eabcd38be0ea0cb88c9d6eb3d4f60d6bb85e4a73763bfb94a)
5288
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
4877
5289
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
4878
5290
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
4879
5291
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
5292
+ check_type(argname="argument attestations", value=attestations, expected_type=type_hints["attestations"])
4880
5293
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
5294
+ check_type(argname="argument trusted_publishing", value=trusted_publishing, expected_type=type_hints["trusted_publishing"])
4881
5295
  check_type(argname="argument twine_password_secret", value=twine_password_secret, expected_type=type_hints["twine_password_secret"])
4882
5296
  check_type(argname="argument twine_registry_url", value=twine_registry_url, expected_type=type_hints["twine_registry_url"])
4883
5297
  check_type(argname="argument twine_username_secret", value=twine_username_secret, expected_type=type_hints["twine_username_secret"])
@@ -4887,14 +5301,20 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4887
5301
  "dist_name": dist_name,
4888
5302
  "module": module,
4889
5303
  }
5304
+ if github_environment is not None:
5305
+ self._values["github_environment"] = github_environment
4890
5306
  if post_publish_steps is not None:
4891
5307
  self._values["post_publish_steps"] = post_publish_steps
4892
5308
  if pre_publish_steps is not None:
4893
5309
  self._values["pre_publish_steps"] = pre_publish_steps
4894
5310
  if publish_tools is not None:
4895
5311
  self._values["publish_tools"] = publish_tools
5312
+ if attestations is not None:
5313
+ self._values["attestations"] = attestations
4896
5314
  if code_artifact_options is not None:
4897
5315
  self._values["code_artifact_options"] = code_artifact_options
5316
+ if trusted_publishing is not None:
5317
+ self._values["trusted_publishing"] = trusted_publishing
4898
5318
  if twine_password_secret is not None:
4899
5319
  self._values["twine_password_secret"] = twine_password_secret
4900
5320
  if twine_registry_url is not None:
@@ -4902,6 +5322,22 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4902
5322
  if twine_username_secret is not None:
4903
5323
  self._values["twine_username_secret"] = twine_username_secret
4904
5324
 
5325
+ @builtins.property
5326
+ def github_environment(self) -> typing.Optional[builtins.str]:
5327
+ '''(experimental) The GitHub Actions environment used for publishing.
5328
+
5329
+ This can be used to add an explicit approval step to the release
5330
+ or limit who can initiate a release through environment protection rules.
5331
+
5332
+ Set this to overwrite a package level publishing environment just for this artifact.
5333
+
5334
+ :default: - no environment used, unless set at the package level
5335
+
5336
+ :stability: experimental
5337
+ '''
5338
+ result = self._values.get("github_environment")
5339
+ return typing.cast(typing.Optional[builtins.str], result)
5340
+
4905
5341
  @builtins.property
4906
5342
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4907
5343
  '''(experimental) Steps to execute after executing the publishing command.
@@ -4918,7 +5354,7 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4918
5354
 
4919
5355
  @builtins.property
4920
5356
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4921
- '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.
5357
+ '''(experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed.
4922
5358
 
4923
5359
  These steps are executed after ``dist/`` has been populated with the build
4924
5360
  output.
@@ -4941,6 +5377,21 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4941
5377
  result = self._values.get("publish_tools")
4942
5378
  return typing.cast(typing.Optional[_Tools_75b93a2a], result)
4943
5379
 
5380
+ @builtins.property
5381
+ def attestations(self) -> typing.Optional[builtins.bool]:
5382
+ '''(experimental) Generate and publish cryptographic attestations for files uploaded to PyPI.
5383
+
5384
+ Attestations provide package provenance and integrity an can be viewed on PyPI.
5385
+ They are only available when using a Trusted Publisher for publishing.
5386
+
5387
+ :default: - enabled when using trusted publishing, otherwise not applicable
5388
+
5389
+ :see: https://docs.pypi.org/attestations/producing-attestations/
5390
+ :stability: experimental
5391
+ '''
5392
+ result = self._values.get("attestations")
5393
+ return typing.cast(typing.Optional[builtins.bool], result)
5394
+
4944
5395
  @builtins.property
4945
5396
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_7236977a]:
4946
5397
  '''(experimental) Options for publishing to AWS CodeArtifact.
@@ -4952,6 +5403,18 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4952
5403
  result = self._values.get("code_artifact_options")
4953
5404
  return typing.cast(typing.Optional[_CodeArtifactOptions_7236977a], result)
4954
5405
 
5406
+ @builtins.property
5407
+ def trusted_publishing(self) -> typing.Optional[builtins.bool]:
5408
+ '''(experimental) Use PyPI trusted publishing instead of tokens or username & password.
5409
+
5410
+ Needs to be setup in PyPI.
5411
+
5412
+ :see: https://docs.pypi.org/trusted-publishers/adding-a-publisher/
5413
+ :stability: experimental
5414
+ '''
5415
+ result = self._values.get("trusted_publishing")
5416
+ return typing.cast(typing.Optional[builtins.bool], result)
5417
+
4955
5418
  @builtins.property
4956
5419
  def twine_password_secret(self) -> typing.Optional[builtins.str]:
4957
5420
  '''(experimental) The GitHub secret which contains PyPI password.
@@ -5085,7 +5548,11 @@ class ConstructLibrary(
5085
5548
  typescript_version: typing.Optional[builtins.str] = None,
5086
5549
  default_release_branch: builtins.str,
5087
5550
  artifacts_directory: typing.Optional[builtins.str] = None,
5551
+ audit_deps: typing.Optional[builtins.bool] = None,
5552
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
5088
5553
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
5554
+ biome: typing.Optional[builtins.bool] = None,
5555
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
5089
5556
  build_workflow: typing.Optional[builtins.bool] = None,
5090
5557
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
5091
5558
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5149,6 +5616,7 @@ class ConstructLibrary(
5149
5616
  bugs_email: typing.Optional[builtins.str] = None,
5150
5617
  bugs_url: typing.Optional[builtins.str] = None,
5151
5618
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5619
+ bun_version: typing.Optional[builtins.str] = None,
5152
5620
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
5153
5621
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5154
5622
  description: typing.Optional[builtins.str] = None,
@@ -5165,6 +5633,7 @@ class ConstructLibrary(
5165
5633
  npm_registry: typing.Optional[builtins.str] = None,
5166
5634
  npm_registry_url: typing.Optional[builtins.str] = None,
5167
5635
  npm_token_secret: typing.Optional[builtins.str] = None,
5636
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5168
5637
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5169
5638
  package_name: typing.Optional[builtins.str] = None,
5170
5639
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5176,9 +5645,11 @@ class ConstructLibrary(
5176
5645
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5177
5646
  stability: typing.Optional[builtins.str] = None,
5178
5647
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
5648
+ bump_package: typing.Optional[builtins.str] = None,
5179
5649
  jsii_release_version: typing.Optional[builtins.str] = None,
5180
5650
  major_version: typing.Optional[jsii.Number] = None,
5181
5651
  min_major_version: typing.Optional[jsii.Number] = None,
5652
+ next_version_command: typing.Optional[builtins.str] = None,
5182
5653
  npm_dist_tag: typing.Optional[builtins.str] = None,
5183
5654
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5184
5655
  prerelease: typing.Optional[builtins.str] = None,
@@ -5186,12 +5657,14 @@ class ConstructLibrary(
5186
5657
  publish_tasks: typing.Optional[builtins.bool] = None,
5187
5658
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5188
5659
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
5660
+ release_environment: typing.Optional[builtins.str] = None,
5189
5661
  release_every_commit: typing.Optional[builtins.bool] = None,
5190
5662
  release_failure_issue: typing.Optional[builtins.bool] = None,
5191
5663
  release_failure_issue_label: typing.Optional[builtins.str] = None,
5192
5664
  release_schedule: typing.Optional[builtins.str] = None,
5193
5665
  release_tag_prefix: typing.Optional[builtins.str] = None,
5194
5666
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
5667
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5195
5668
  release_workflow_name: typing.Optional[builtins.str] = None,
5196
5669
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5197
5670
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -5222,7 +5695,7 @@ class ConstructLibrary(
5222
5695
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
5223
5696
  :param dotnet:
5224
5697
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
5225
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "1.x"
5698
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
5226
5699
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
5227
5700
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
5228
5701
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -5234,7 +5707,7 @@ class ConstructLibrary(
5234
5707
  :param docgen: (experimental) Docgen by Typedoc. Default: false
5235
5708
  :param docs_directory: (experimental) Docs directory. Default: "docs"
5236
5709
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
5237
- :param eslint: (experimental) Setup eslint. Default: true
5710
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
5238
5711
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
5239
5712
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
5240
5713
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -5249,14 +5722,18 @@ class ConstructLibrary(
5249
5722
  :param typescript_version: (experimental) TypeScript version to use. NOTE: Typescript is not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~1.2.3``). Default: "latest"
5250
5723
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
5251
5724
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
5725
+ :param audit_deps: (experimental) Run security audit on dependencies. When enabled, creates an "audit" task that checks for known security vulnerabilities in dependencies. By default, runs during every build and checks for "high" severity vulnerabilities or above in all dependencies (including dev dependencies). Default: false
5726
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
5252
5727
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
5728
+ :param biome: (experimental) Setup Biome. Default: false
5729
+ :param biome_options: (experimental) Biome options. Default: - default options
5253
5730
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
5254
5731
  :param build_workflow_options: (experimental) Options for PR build workflow.
5255
5732
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
5256
5733
  :param bundler_options: (experimental) Options for ``Bundler``.
5257
5734
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
5258
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
5259
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
5735
+ :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``. Default: false
5736
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
5260
5737
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
5261
5738
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
5262
5739
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -5283,8 +5760,8 @@ class ConstructLibrary(
5283
5760
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
5284
5761
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
5285
5762
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
5286
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
5287
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
5763
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
5764
+ :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
5288
5765
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
5289
5766
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
5290
5767
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -5313,6 +5790,7 @@ class ConstructLibrary(
5313
5790
  :param bugs_email: (experimental) The email address to which issues should be reported.
5314
5791
  :param bugs_url: (experimental) The url to your project's issue tracker.
5315
5792
  :param bundled_deps: (experimental) List of dependencies to bundle into this module. These modules will be added both to the ``dependencies`` section and ``bundledDependencies`` section of your ``package.json``. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include.
5793
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
5316
5794
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
5317
5795
  :param deps: (experimental) Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include. Default: []
5318
5796
  :param description: (experimental) The description is just a string that helps people understand the purpose of the package. It can be used when searching for packages in a package manager as well. See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
@@ -5322,27 +5800,30 @@ class ConstructLibrary(
5322
5800
  :param keywords: (experimental) Keywords to include in ``package.json``.
5323
5801
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
5324
5802
  :param licensed: (experimental) Indicates if a license should be added. Default: true
5325
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
5326
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
5803
+ :param max_node_version: (experimental) The maximum node version supported by this package. Most projects should not use this option. The value indicates that the package is incompatible with any newer versions of node. This requirement is enforced via the engines field. You will normally not need to set this option. Consider this option only if your package is known to not function with newer versions of node. Default: - no maximum version is enforced
5804
+ :param min_node_version: (experimental) The minimum node version required by this package to function. Most projects should not use this option. The value indicates that the package is incompatible with any older versions of node. This requirement is enforced via the engines field. You will normally not need to set this option, even if your package is incompatible with EOL versions of node. Consider this option only if your package depends on a specific feature, that is not available in other LTS versions. Setting this option has very high impact on the consumers of your package, as package managers will actively prevent usage with node versions you have marked as incompatible. To change the node version of your CI/CD workflows, use ``workflowNodeVersion``. Default: - no minimum version is enforced
5327
5805
  :param npm_access: (experimental) Access level of the npm package. Default: - for scoped packages (e.g. ``foo@bar``), the default is ``NpmAccess.RESTRICTED``, for non-scoped packages, the default is ``NpmAccess.PUBLIC``.
5328
5806
  :param npm_provenance: (experimental) Should provenance statements be generated when the package is published. A supported package manager is required to publish a package with npm provenance statements and you will need to use a supported CI/CD provider. Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages, which is using npm internally and supports provenance statements independently of the package manager used. Default: - true for public packages, false otherwise
5329
5807
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5330
5808
  :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"
5331
5809
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
5810
+ :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
5332
5811
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5333
5812
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5334
5813
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
5335
5814
  :param peer_deps: (experimental) Peer dependencies for this module. Dependencies listed here are required to be installed (and satisfied) by the *consumer* of this library. Using peer dependencies allows you to ensure that only a single module of a certain library exists in the ``node_modules`` tree of your consumers. Note that prior to npm@7, peer dependencies are *not* automatically installed, which means that adding peer dependencies to a library will be a breaking change for your customers. Unless ``peerDependencyOptions.pinnedDevDependency`` is disabled (it is enabled by default), projen will automatically add a dev dependency with a pinned version for each peer dependency. This will ensure that you build & test your module against the lowest peer version required. Default: []
5336
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
5815
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
5337
5816
  :param repository: (experimental) The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
5338
5817
  :param repository_directory: (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
5339
5818
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
5340
5819
  :param scripts: (deprecated) npm scripts to include. If a script has the same name as a standard script, the standard script will be overwritten. Also adds the script as a task. Default: {}
5341
5820
  :param stability: (experimental) Package's Stability.
5342
5821
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
5822
+ :param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: - A recent version of "commit-and-tag-version"
5343
5823
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
5344
5824
  :param major_version: (experimental) Major version to release from the default branch. If this is specified, we bump the latest version of this major version line. If not specified, we bump the global latest version. Default: - Major version is not enforced.
5345
5825
  :param min_major_version: (experimental) Minimal Major version to release. This can be useful to set to 1, as breaking changes before the 1.x major release are not incrementing the major version number. Can not be set together with ``majorVersion``. Default: - No minimum version is being enforced
5826
+ :param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. This setting cannot be specified together with ``minMajorVersion``; the invoked script can be used to achieve the effects of ``minMajorVersion``. Default: - The next version will be determined based on the commit history and project settings.
5346
5827
  :param npm_dist_tag: (experimental) The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set the ``npmDistTag`` property for each branch. Default: "latest"
5347
5828
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
5348
5829
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -5350,15 +5831,17 @@ class ConstructLibrary(
5350
5831
  :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
5351
5832
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5352
5833
  :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.
5834
+ :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
5353
5835
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5354
5836
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5355
5837
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
5356
5838
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
5357
5839
  :param release_tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: "v"
5358
5840
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
5841
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
5359
5842
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
5360
5843
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
5361
- :param versionrc_options: (experimental) Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
5844
+ :param versionrc_options: (experimental) Custom configuration used when creating changelog with commit-and-tag-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
5362
5845
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
5363
5846
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
5364
5847
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -5415,7 +5898,11 @@ class ConstructLibrary(
5415
5898
  typescript_version=typescript_version,
5416
5899
  default_release_branch=default_release_branch,
5417
5900
  artifacts_directory=artifacts_directory,
5901
+ audit_deps=audit_deps,
5902
+ audit_deps_options=audit_deps_options,
5418
5903
  auto_approve_upgrades=auto_approve_upgrades,
5904
+ biome=biome,
5905
+ biome_options=biome_options,
5419
5906
  build_workflow=build_workflow,
5420
5907
  build_workflow_options=build_workflow_options,
5421
5908
  build_workflow_triggers=build_workflow_triggers,
@@ -5479,6 +5966,7 @@ class ConstructLibrary(
5479
5966
  bugs_email=bugs_email,
5480
5967
  bugs_url=bugs_url,
5481
5968
  bundled_deps=bundled_deps,
5969
+ bun_version=bun_version,
5482
5970
  code_artifact_options=code_artifact_options,
5483
5971
  deps=deps,
5484
5972
  description=description,
@@ -5495,6 +5983,7 @@ class ConstructLibrary(
5495
5983
  npm_registry=npm_registry,
5496
5984
  npm_registry_url=npm_registry_url,
5497
5985
  npm_token_secret=npm_token_secret,
5986
+ npm_trusted_publishing=npm_trusted_publishing,
5498
5987
  package_manager=package_manager,
5499
5988
  package_name=package_name,
5500
5989
  peer_dependency_options=peer_dependency_options,
@@ -5506,9 +5995,11 @@ class ConstructLibrary(
5506
5995
  scripts=scripts,
5507
5996
  stability=stability,
5508
5997
  yarn_berry_options=yarn_berry_options,
5998
+ bump_package=bump_package,
5509
5999
  jsii_release_version=jsii_release_version,
5510
6000
  major_version=major_version,
5511
6001
  min_major_version=min_major_version,
6002
+ next_version_command=next_version_command,
5512
6003
  npm_dist_tag=npm_dist_tag,
5513
6004
  post_build_steps=post_build_steps,
5514
6005
  prerelease=prerelease,
@@ -5516,12 +6007,14 @@ class ConstructLibrary(
5516
6007
  publish_tasks=publish_tasks,
5517
6008
  releasable_commits=releasable_commits,
5518
6009
  release_branches=release_branches,
6010
+ release_environment=release_environment,
5519
6011
  release_every_commit=release_every_commit,
5520
6012
  release_failure_issue=release_failure_issue,
5521
6013
  release_failure_issue_label=release_failure_issue_label,
5522
6014
  release_schedule=release_schedule,
5523
6015
  release_tag_prefix=release_tag_prefix,
5524
6016
  release_trigger=release_trigger,
6017
+ release_workflow_env=release_workflow_env,
5525
6018
  release_workflow_name=release_workflow_name,
5526
6019
  release_workflow_setup_steps=release_workflow_setup_steps,
5527
6020
  versionrc_options=versionrc_options,
@@ -5595,6 +6088,7 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5595
6088
  "bugs_email": "bugsEmail",
5596
6089
  "bugs_url": "bugsUrl",
5597
6090
  "bundled_deps": "bundledDeps",
6091
+ "bun_version": "bunVersion",
5598
6092
  "code_artifact_options": "codeArtifactOptions",
5599
6093
  "deps": "deps",
5600
6094
  "description": "description",
@@ -5611,6 +6105,7 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5611
6105
  "npm_registry": "npmRegistry",
5612
6106
  "npm_registry_url": "npmRegistryUrl",
5613
6107
  "npm_token_secret": "npmTokenSecret",
6108
+ "npm_trusted_publishing": "npmTrustedPublishing",
5614
6109
  "package_manager": "packageManager",
5615
6110
  "package_name": "packageName",
5616
6111
  "peer_dependency_options": "peerDependencyOptions",
@@ -5622,9 +6117,11 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5622
6117
  "scripts": "scripts",
5623
6118
  "stability": "stability",
5624
6119
  "yarn_berry_options": "yarnBerryOptions",
6120
+ "bump_package": "bumpPackage",
5625
6121
  "jsii_release_version": "jsiiReleaseVersion",
5626
6122
  "major_version": "majorVersion",
5627
6123
  "min_major_version": "minMajorVersion",
6124
+ "next_version_command": "nextVersionCommand",
5628
6125
  "npm_dist_tag": "npmDistTag",
5629
6126
  "post_build_steps": "postBuildSteps",
5630
6127
  "prerelease": "prerelease",
@@ -5632,12 +6129,14 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5632
6129
  "publish_tasks": "publishTasks",
5633
6130
  "releasable_commits": "releasableCommits",
5634
6131
  "release_branches": "releaseBranches",
6132
+ "release_environment": "releaseEnvironment",
5635
6133
  "release_every_commit": "releaseEveryCommit",
5636
6134
  "release_failure_issue": "releaseFailureIssue",
5637
6135
  "release_failure_issue_label": "releaseFailureIssueLabel",
5638
6136
  "release_schedule": "releaseSchedule",
5639
6137
  "release_tag_prefix": "releaseTagPrefix",
5640
6138
  "release_trigger": "releaseTrigger",
6139
+ "release_workflow_env": "releaseWorkflowEnv",
5641
6140
  "release_workflow_name": "releaseWorkflowName",
5642
6141
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
5643
6142
  "versionrc_options": "versionrcOptions",
@@ -5646,7 +6145,11 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5646
6145
  "workflow_runs_on_group": "workflowRunsOnGroup",
5647
6146
  "default_release_branch": "defaultReleaseBranch",
5648
6147
  "artifacts_directory": "artifactsDirectory",
6148
+ "audit_deps": "auditDeps",
6149
+ "audit_deps_options": "auditDepsOptions",
5649
6150
  "auto_approve_upgrades": "autoApproveUpgrades",
6151
+ "biome": "biome",
6152
+ "biome_options": "biomeOptions",
5650
6153
  "build_workflow": "buildWorkflow",
5651
6154
  "build_workflow_options": "buildWorkflowOptions",
5652
6155
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -5763,6 +6266,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5763
6266
  bugs_email: typing.Optional[builtins.str] = None,
5764
6267
  bugs_url: typing.Optional[builtins.str] = None,
5765
6268
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
6269
+ bun_version: typing.Optional[builtins.str] = None,
5766
6270
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
5767
6271
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5768
6272
  description: typing.Optional[builtins.str] = None,
@@ -5779,6 +6283,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5779
6283
  npm_registry: typing.Optional[builtins.str] = None,
5780
6284
  npm_registry_url: typing.Optional[builtins.str] = None,
5781
6285
  npm_token_secret: typing.Optional[builtins.str] = None,
6286
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5782
6287
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5783
6288
  package_name: typing.Optional[builtins.str] = None,
5784
6289
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5790,9 +6295,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5790
6295
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5791
6296
  stability: typing.Optional[builtins.str] = None,
5792
6297
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
6298
+ bump_package: typing.Optional[builtins.str] = None,
5793
6299
  jsii_release_version: typing.Optional[builtins.str] = None,
5794
6300
  major_version: typing.Optional[jsii.Number] = None,
5795
6301
  min_major_version: typing.Optional[jsii.Number] = None,
6302
+ next_version_command: typing.Optional[builtins.str] = None,
5796
6303
  npm_dist_tag: typing.Optional[builtins.str] = None,
5797
6304
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5798
6305
  prerelease: typing.Optional[builtins.str] = None,
@@ -5800,12 +6307,14 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5800
6307
  publish_tasks: typing.Optional[builtins.bool] = None,
5801
6308
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5802
6309
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
6310
+ release_environment: typing.Optional[builtins.str] = None,
5803
6311
  release_every_commit: typing.Optional[builtins.bool] = None,
5804
6312
  release_failure_issue: typing.Optional[builtins.bool] = None,
5805
6313
  release_failure_issue_label: typing.Optional[builtins.str] = None,
5806
6314
  release_schedule: typing.Optional[builtins.str] = None,
5807
6315
  release_tag_prefix: typing.Optional[builtins.str] = None,
5808
6316
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
6317
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5809
6318
  release_workflow_name: typing.Optional[builtins.str] = None,
5810
6319
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5811
6320
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -5814,7 +6323,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5814
6323
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
5815
6324
  default_release_branch: builtins.str,
5816
6325
  artifacts_directory: typing.Optional[builtins.str] = None,
6326
+ audit_deps: typing.Optional[builtins.bool] = None,
6327
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
5817
6328
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
6329
+ biome: typing.Optional[builtins.bool] = None,
6330
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
5818
6331
  build_workflow: typing.Optional[builtins.bool] = None,
5819
6332
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
5820
6333
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5927,6 +6440,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5927
6440
  :param bugs_email: (experimental) The email address to which issues should be reported.
5928
6441
  :param bugs_url: (experimental) The url to your project's issue tracker.
5929
6442
  :param bundled_deps: (experimental) List of dependencies to bundle into this module. These modules will be added both to the ``dependencies`` section and ``bundledDependencies`` section of your ``package.json``. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include.
6443
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
5930
6444
  :param code_artifact_options: (experimental) Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact Default: - undefined
5931
6445
  :param deps: (experimental) Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g. ``express``). This will behave similar to ``yarn add`` or ``npm install`` in the sense that it will add the module as a dependency to your ``package.json`` file with the latest version (``^``). You can specify semver requirements in the same syntax passed to ``npm i`` or ``yarn add`` (e.g. ``express@^2``) and this will be what you ``package.json`` will eventually include. Default: []
5932
6446
  :param description: (experimental) The description is just a string that helps people understand the purpose of the package. It can be used when searching for packages in a package manager as well. See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
@@ -5936,27 +6450,30 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5936
6450
  :param keywords: (experimental) Keywords to include in ``package.json``.
5937
6451
  :param license: (experimental) License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use the ``licensed`` option if you want to no license to be specified. Default: "Apache-2.0"
5938
6452
  :param licensed: (experimental) Indicates if a license should be added. Default: true
5939
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
5940
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
6453
+ :param max_node_version: (experimental) The maximum node version supported by this package. Most projects should not use this option. The value indicates that the package is incompatible with any newer versions of node. This requirement is enforced via the engines field. You will normally not need to set this option. Consider this option only if your package is known to not function with newer versions of node. Default: - no maximum version is enforced
6454
+ :param min_node_version: (experimental) The minimum node version required by this package to function. Most projects should not use this option. The value indicates that the package is incompatible with any older versions of node. This requirement is enforced via the engines field. You will normally not need to set this option, even if your package is incompatible with EOL versions of node. Consider this option only if your package depends on a specific feature, that is not available in other LTS versions. Setting this option has very high impact on the consumers of your package, as package managers will actively prevent usage with node versions you have marked as incompatible. To change the node version of your CI/CD workflows, use ``workflowNodeVersion``. Default: - no minimum version is enforced
5941
6455
  :param npm_access: (experimental) Access level of the npm package. Default: - for scoped packages (e.g. ``foo@bar``), the default is ``NpmAccess.RESTRICTED``, for non-scoped packages, the default is ``NpmAccess.PUBLIC``.
5942
6456
  :param npm_provenance: (experimental) Should provenance statements be generated when the package is published. A supported package manager is required to publish a package with npm provenance statements and you will need to use a supported CI/CD provider. Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages, which is using npm internally and supports provenance statements independently of the package manager used. Default: - true for public packages, false otherwise
5943
6457
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5944
6458
  :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"
5945
6459
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
6460
+ :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
5946
6461
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5947
6462
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5948
6463
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
5949
6464
  :param peer_deps: (experimental) Peer dependencies for this module. Dependencies listed here are required to be installed (and satisfied) by the *consumer* of this library. Using peer dependencies allows you to ensure that only a single module of a certain library exists in the ``node_modules`` tree of your consumers. Note that prior to npm@7, peer dependencies are *not* automatically installed, which means that adding peer dependencies to a library will be a breaking change for your customers. Unless ``peerDependencyOptions.pinnedDevDependency`` is disabled (it is enabled by default), projen will automatically add a dev dependency with a pinned version for each peer dependency. This will ensure that you build & test your module against the lowest peer version required. Default: []
5950
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
6465
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
5951
6466
  :param repository: (experimental) The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
5952
6467
  :param repository_directory: (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
5953
6468
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
5954
6469
  :param scripts: (deprecated) npm scripts to include. If a script has the same name as a standard script, the standard script will be overwritten. Also adds the script as a task. Default: {}
5955
6470
  :param stability: (experimental) Package's Stability.
5956
6471
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
6472
+ :param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: - A recent version of "commit-and-tag-version"
5957
6473
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
5958
6474
  :param major_version: (experimental) Major version to release from the default branch. If this is specified, we bump the latest version of this major version line. If not specified, we bump the global latest version. Default: - Major version is not enforced.
5959
6475
  :param min_major_version: (experimental) Minimal Major version to release. This can be useful to set to 1, as breaking changes before the 1.x major release are not incrementing the major version number. Can not be set together with ``majorVersion``. Default: - No minimum version is being enforced
6476
+ :param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. This setting cannot be specified together with ``minMajorVersion``; the invoked script can be used to achieve the effects of ``minMajorVersion``. Default: - The next version will be determined based on the commit history and project settings.
5960
6477
  :param npm_dist_tag: (experimental) The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set the ``npmDistTag`` property for each branch. Default: "latest"
5961
6478
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
5962
6479
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -5964,28 +6481,34 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5964
6481
  :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
5965
6482
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5966
6483
  :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.
6484
+ :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
5967
6485
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5968
6486
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5969
6487
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
5970
6488
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
5971
6489
  :param release_tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: "v"
5972
6490
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
6491
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
5973
6492
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
5974
6493
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
5975
- :param versionrc_options: (experimental) Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
6494
+ :param versionrc_options: (experimental) Custom configuration used when creating changelog with commit-and-tag-version package. Given values either append to default configuration or overwrite values in it. Default: - standard configuration applicable for GitHub repositories
5976
6495
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
5977
6496
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
5978
6497
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
5979
6498
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
5980
6499
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
6500
+ :param audit_deps: (experimental) Run security audit on dependencies. When enabled, creates an "audit" task that checks for known security vulnerabilities in dependencies. By default, runs during every build and checks for "high" severity vulnerabilities or above in all dependencies (including dev dependencies). Default: false
6501
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
5981
6502
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
6503
+ :param biome: (experimental) Setup Biome. Default: false
6504
+ :param biome_options: (experimental) Biome options. Default: - default options
5982
6505
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
5983
6506
  :param build_workflow_options: (experimental) Options for PR build workflow.
5984
6507
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
5985
6508
  :param bundler_options: (experimental) Options for ``Bundler``.
5986
6509
  :param check_licenses: (experimental) Configure which licenses should be deemed acceptable for use by dependencies. This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. Default: - no license checks are run during the build and all licenses will be accepted
5987
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
5988
- :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. Default: - if this option is not specified, only public repositories are supported
6510
+ :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``. Default: false
6511
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
5989
6512
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
5990
6513
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
5991
6514
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -6012,15 +6535,15 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6012
6535
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
6013
6536
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
6014
6537
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
6015
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
6016
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
6538
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
6539
+ :param workflow_node_version: (experimental) The node version used in GitHub Actions workflows. Always use this option if your GitHub Actions workflows require a specific to run. Default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
6017
6540
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
6018
6541
  :param disable_tsconfig: (experimental) Do not generate a ``tsconfig.json`` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). Default: false
6019
6542
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
6020
6543
  :param docgen: (experimental) Docgen by Typedoc. Default: false
6021
6544
  :param docs_directory: (experimental) Docs directory. Default: "docs"
6022
6545
  :param entrypoint_types: (experimental) The .d.ts file that includes the type declarations for this module. Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
6023
- :param eslint: (experimental) Setup eslint. Default: true
6546
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
6024
6547
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
6025
6548
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
6026
6549
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -6042,7 +6565,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6042
6565
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
6043
6566
  :param dotnet:
6044
6567
  :param exclude_typescript: (experimental) Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. This can be problematic for example when the package's build or test procedure generates .ts files that cannot be compiled with jsii's compiler settings.
6045
- :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "1.x"
6568
+ :param jsii_version: (experimental) Version of the jsii compiler to use. Set to "*" if you want to manually manage the version of jsii in your project by managing updates to ``package.json`` on your own. NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned and should remain on the same minor, so we recommend using a ``~`` dependency (e.g. ``~5.0.0``). Default: "~5.8.0"
6046
6569
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
6047
6570
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
6048
6571
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -6083,6 +6606,10 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6083
6606
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
6084
6607
  if isinstance(workflow_runs_on_group, dict):
6085
6608
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
6609
+ if isinstance(audit_deps_options, dict):
6610
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
6611
+ if isinstance(biome_options, dict):
6612
+ biome_options = _BiomeOptions_452ab984(**biome_options)
6086
6613
  if isinstance(build_workflow_options, dict):
6087
6614
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
6088
6615
  if isinstance(build_workflow_triggers, dict):
@@ -6170,6 +6697,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6170
6697
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
6171
6698
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
6172
6699
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
6700
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
6173
6701
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
6174
6702
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
6175
6703
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -6186,6 +6714,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6186
6714
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
6187
6715
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
6188
6716
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
6717
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
6189
6718
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
6190
6719
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
6191
6720
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -6197,9 +6726,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6197
6726
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
6198
6727
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
6199
6728
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
6729
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
6200
6730
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
6201
6731
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
6202
6732
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
6733
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
6203
6734
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
6204
6735
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
6205
6736
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -6207,12 +6738,14 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6207
6738
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
6208
6739
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
6209
6740
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
6741
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
6210
6742
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
6211
6743
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
6212
6744
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
6213
6745
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
6214
6746
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
6215
6747
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
6748
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
6216
6749
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
6217
6750
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
6218
6751
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -6221,7 +6754,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6221
6754
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
6222
6755
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
6223
6756
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
6757
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
6758
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
6224
6759
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
6760
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
6761
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
6225
6762
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
6226
6763
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
6227
6764
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -6376,6 +6913,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6376
6913
  self._values["bugs_url"] = bugs_url
6377
6914
  if bundled_deps is not None:
6378
6915
  self._values["bundled_deps"] = bundled_deps
6916
+ if bun_version is not None:
6917
+ self._values["bun_version"] = bun_version
6379
6918
  if code_artifact_options is not None:
6380
6919
  self._values["code_artifact_options"] = code_artifact_options
6381
6920
  if deps is not None:
@@ -6408,6 +6947,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6408
6947
  self._values["npm_registry_url"] = npm_registry_url
6409
6948
  if npm_token_secret is not None:
6410
6949
  self._values["npm_token_secret"] = npm_token_secret
6950
+ if npm_trusted_publishing is not None:
6951
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
6411
6952
  if package_manager is not None:
6412
6953
  self._values["package_manager"] = package_manager
6413
6954
  if package_name is not None:
@@ -6430,12 +6971,16 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6430
6971
  self._values["stability"] = stability
6431
6972
  if yarn_berry_options is not None:
6432
6973
  self._values["yarn_berry_options"] = yarn_berry_options
6974
+ if bump_package is not None:
6975
+ self._values["bump_package"] = bump_package
6433
6976
  if jsii_release_version is not None:
6434
6977
  self._values["jsii_release_version"] = jsii_release_version
6435
6978
  if major_version is not None:
6436
6979
  self._values["major_version"] = major_version
6437
6980
  if min_major_version is not None:
6438
6981
  self._values["min_major_version"] = min_major_version
6982
+ if next_version_command is not None:
6983
+ self._values["next_version_command"] = next_version_command
6439
6984
  if npm_dist_tag is not None:
6440
6985
  self._values["npm_dist_tag"] = npm_dist_tag
6441
6986
  if post_build_steps is not None:
@@ -6450,6 +6995,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6450
6995
  self._values["releasable_commits"] = releasable_commits
6451
6996
  if release_branches is not None:
6452
6997
  self._values["release_branches"] = release_branches
6998
+ if release_environment is not None:
6999
+ self._values["release_environment"] = release_environment
6453
7000
  if release_every_commit is not None:
6454
7001
  self._values["release_every_commit"] = release_every_commit
6455
7002
  if release_failure_issue is not None:
@@ -6462,6 +7009,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6462
7009
  self._values["release_tag_prefix"] = release_tag_prefix
6463
7010
  if release_trigger is not None:
6464
7011
  self._values["release_trigger"] = release_trigger
7012
+ if release_workflow_env is not None:
7013
+ self._values["release_workflow_env"] = release_workflow_env
6465
7014
  if release_workflow_name is not None:
6466
7015
  self._values["release_workflow_name"] = release_workflow_name
6467
7016
  if release_workflow_setup_steps is not None:
@@ -6476,8 +7025,16 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6476
7025
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
6477
7026
  if artifacts_directory is not None:
6478
7027
  self._values["artifacts_directory"] = artifacts_directory
7028
+ if audit_deps is not None:
7029
+ self._values["audit_deps"] = audit_deps
7030
+ if audit_deps_options is not None:
7031
+ self._values["audit_deps_options"] = audit_deps_options
6479
7032
  if auto_approve_upgrades is not None:
6480
7033
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
7034
+ if biome is not None:
7035
+ self._values["biome"] = biome
7036
+ if biome_options is not None:
7037
+ self._values["biome_options"] = biome_options
6481
7038
  if build_workflow is not None:
6482
7039
  self._values["build_workflow"] = build_workflow
6483
7040
  if build_workflow_options is not None:
@@ -7079,6 +7636,17 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7079
7636
  result = self._values.get("bundled_deps")
7080
7637
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7081
7638
 
7639
+ @builtins.property
7640
+ def bun_version(self) -> typing.Optional[builtins.str]:
7641
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
7642
+
7643
+ :default: "latest"
7644
+
7645
+ :stability: experimental
7646
+ '''
7647
+ result = self._values.get("bun_version")
7648
+ return typing.cast(typing.Optional[builtins.str], result)
7649
+
7082
7650
  @builtins.property
7083
7651
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
7084
7652
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -7213,9 +7781,15 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7213
7781
 
7214
7782
  @builtins.property
7215
7783
  def max_node_version(self) -> typing.Optional[builtins.str]:
7216
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
7784
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
7785
+
7786
+ The value indicates that the package is incompatible with any newer versions of node.
7787
+ This requirement is enforced via the engines field.
7788
+
7789
+ You will normally not need to set this option.
7790
+ Consider this option only if your package is known to not function with newer versions of node.
7217
7791
 
7218
- :default: - no max
7792
+ :default: - no maximum version is enforced
7219
7793
 
7220
7794
  :stability: experimental
7221
7795
  '''
@@ -7224,9 +7798,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7224
7798
 
7225
7799
  @builtins.property
7226
7800
  def min_node_version(self) -> typing.Optional[builtins.str]:
7227
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
7801
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
7228
7802
 
7229
- :default: - no "engines" specified
7803
+ The value indicates that the package is incompatible with any older versions of node.
7804
+ This requirement is enforced via the engines field.
7805
+
7806
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
7807
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
7808
+ Setting this option has very high impact on the consumers of your package,
7809
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
7810
+
7811
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
7812
+
7813
+ :default: - no minimum version is enforced
7230
7814
 
7231
7815
  :stability: experimental
7232
7816
  '''
@@ -7303,6 +7887,17 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7303
7887
  result = self._values.get("npm_token_secret")
7304
7888
  return typing.cast(typing.Optional[builtins.str], result)
7305
7889
 
7890
+ @builtins.property
7891
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
7892
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
7893
+
7894
+ :default: - false
7895
+
7896
+ :stability: experimental
7897
+ '''
7898
+ result = self._values.get("npm_trusted_publishing")
7899
+ return typing.cast(typing.Optional[builtins.bool], result)
7900
+
7306
7901
  @builtins.property
7307
7902
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
7308
7903
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -7366,7 +7961,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7366
7961
  def pnpm_version(self) -> typing.Optional[builtins.str]:
7367
7962
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
7368
7963
 
7369
- :default: "7"
7964
+ :default: "9"
7370
7965
 
7371
7966
  :stability: experimental
7372
7967
  '''
@@ -7443,6 +8038,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7443
8038
  result = self._values.get("yarn_berry_options")
7444
8039
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
7445
8040
 
8041
+ @builtins.property
8042
+ def bump_package(self) -> typing.Optional[builtins.str]:
8043
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
8044
+
8045
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
8046
+
8047
+ :default: - A recent version of "commit-and-tag-version"
8048
+
8049
+ :stability: experimental
8050
+ '''
8051
+ result = self._values.get("bump_package")
8052
+ return typing.cast(typing.Optional[builtins.str], result)
8053
+
7446
8054
  @builtins.property
7447
8055
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
7448
8056
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -7484,6 +8092,36 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7484
8092
  result = self._values.get("min_major_version")
7485
8093
  return typing.cast(typing.Optional[jsii.Number], result)
7486
8094
 
8095
+ @builtins.property
8096
+ def next_version_command(self) -> typing.Optional[builtins.str]:
8097
+ '''(experimental) A shell command to control the next version to release.
8098
+
8099
+ If present, this shell command will be run before the bump is executed, and
8100
+ it determines what version to release. It will be executed in the following
8101
+ environment:
8102
+
8103
+ - Working directory: the project directory.
8104
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
8105
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
8106
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
8107
+
8108
+ The command should print one of the following to ``stdout``:
8109
+
8110
+ - Nothing: the next version number will be determined based on commit history.
8111
+ - ``x.y.z``: the next version number will be ``x.y.z``.
8112
+ - ``major|minor|patch``: the next version number will be the current version number
8113
+ with the indicated component bumped.
8114
+
8115
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
8116
+ script can be used to achieve the effects of ``minMajorVersion``.
8117
+
8118
+ :default: - The next version will be determined based on the commit history and project settings.
8119
+
8120
+ :stability: experimental
8121
+ '''
8122
+ result = self._values.get("next_version_command")
8123
+ return typing.cast(typing.Optional[builtins.str], result)
8124
+
7487
8125
  @builtins.property
7488
8126
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
7489
8127
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -7579,6 +8217,23 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7579
8217
  result = self._values.get("release_branches")
7580
8218
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
7581
8219
 
8220
+ @builtins.property
8221
+ def release_environment(self) -> typing.Optional[builtins.str]:
8222
+ '''(experimental) The GitHub Actions environment used for the release.
8223
+
8224
+ This can be used to add an explicit approval step to the release
8225
+ or limit who can initiate a release through environment protection rules.
8226
+
8227
+ When multiple artifacts are released, the environment can be overwritten
8228
+ on a per artifact basis.
8229
+
8230
+ :default: - no environment used, unless set at the artifact level
8231
+
8232
+ :stability: experimental
8233
+ '''
8234
+ result = self._values.get("release_environment")
8235
+ return typing.cast(typing.Optional[builtins.str], result)
8236
+
7582
8237
  @builtins.property
7583
8238
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
7584
8239
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -7656,6 +8311,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7656
8311
  result = self._values.get("release_trigger")
7657
8312
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
7658
8313
 
8314
+ @builtins.property
8315
+ def release_workflow_env(
8316
+ self,
8317
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
8318
+ '''(experimental) Build environment variables for release workflows.
8319
+
8320
+ :default: {}
8321
+
8322
+ :stability: experimental
8323
+ '''
8324
+ result = self._values.get("release_workflow_env")
8325
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
8326
+
7659
8327
  @builtins.property
7660
8328
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
7661
8329
  '''(experimental) The name of the default release workflow.
@@ -7682,7 +8350,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7682
8350
  def versionrc_options(
7683
8351
  self,
7684
8352
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
7685
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
8353
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
7686
8354
 
7687
8355
  Given values either append to default configuration or overwrite values in it.
7688
8356
 
@@ -7751,6 +8419,32 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7751
8419
  result = self._values.get("artifacts_directory")
7752
8420
  return typing.cast(typing.Optional[builtins.str], result)
7753
8421
 
8422
+ @builtins.property
8423
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
8424
+ '''(experimental) Run security audit on dependencies.
8425
+
8426
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
8427
+ in dependencies. By default, runs during every build and checks for "high" severity
8428
+ vulnerabilities or above in all dependencies (including dev dependencies).
8429
+
8430
+ :default: false
8431
+
8432
+ :stability: experimental
8433
+ '''
8434
+ result = self._values.get("audit_deps")
8435
+ return typing.cast(typing.Optional[builtins.bool], result)
8436
+
8437
+ @builtins.property
8438
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
8439
+ '''(experimental) Security audit options.
8440
+
8441
+ :default: - default options
8442
+
8443
+ :stability: experimental
8444
+ '''
8445
+ result = self._values.get("audit_deps_options")
8446
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
8447
+
7754
8448
  @builtins.property
7755
8449
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
7756
8450
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -7764,6 +8458,28 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7764
8458
  result = self._values.get("auto_approve_upgrades")
7765
8459
  return typing.cast(typing.Optional[builtins.bool], result)
7766
8460
 
8461
+ @builtins.property
8462
+ def biome(self) -> typing.Optional[builtins.bool]:
8463
+ '''(experimental) Setup Biome.
8464
+
8465
+ :default: false
8466
+
8467
+ :stability: experimental
8468
+ '''
8469
+ result = self._values.get("biome")
8470
+ return typing.cast(typing.Optional[builtins.bool], result)
8471
+
8472
+ @builtins.property
8473
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
8474
+ '''(experimental) Biome options.
8475
+
8476
+ :default: - default options
8477
+
8478
+ :stability: experimental
8479
+ '''
8480
+ result = self._values.get("biome_options")
8481
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
8482
+
7767
8483
  @builtins.property
7768
8484
  def build_workflow(self) -> typing.Optional[builtins.bool]:
7769
8485
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -7821,7 +8537,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7821
8537
 
7822
8538
  @builtins.property
7823
8539
  def code_cov(self) -> typing.Optional[builtins.bool]:
7824
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
8540
+ '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v5 By default, OIDC auth is used. Alternatively a token can be provided via ``codeCovTokenSecret``.
7825
8541
 
7826
8542
  :default: false
7827
8543
 
@@ -7832,9 +8548,9 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7832
8548
 
7833
8549
  @builtins.property
7834
8550
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
7835
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
8551
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
7836
8552
 
7837
- :default: - if this option is not specified, only public repositories are supported
8553
+ :default: - OIDC auth is used
7838
8554
 
7839
8555
  :stability: experimental
7840
8556
  '''
@@ -8147,7 +8863,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8147
8863
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
8148
8864
  '''(experimental) The git identity to use in workflows.
8149
8865
 
8150
- :default: - GitHub Actions
8866
+ :default: - default GitHub Actions user
8151
8867
 
8152
8868
  :stability: experimental
8153
8869
  '''
@@ -8156,9 +8872,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8156
8872
 
8157
8873
  @builtins.property
8158
8874
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
8159
- '''(experimental) The node version to use in GitHub workflows.
8875
+ '''(experimental) The node version used in GitHub Actions workflows.
8160
8876
 
8161
- :default: - same as ``minNodeVersion``
8877
+ Always use this option if your GitHub Actions workflows require a specific to run.
8878
+
8879
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
8162
8880
 
8163
8881
  :stability: experimental
8164
8882
  '''
@@ -8235,7 +8953,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8235
8953
  def eslint(self) -> typing.Optional[builtins.bool]:
8236
8954
  '''(experimental) Setup eslint.
8237
8955
 
8238
- :default: true
8956
+ :default: - true, unless biome is enabled
8239
8957
 
8240
8958
  :stability: experimental
8241
8959
  '''
@@ -8498,10 +9216,10 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8498
9216
  and should remain on the same minor, so we recommend using a ``~`` dependency
8499
9217
  (e.g. ``~5.0.0``).
8500
9218
 
8501
- :default: "1.x"
9219
+ :default: "~5.8.0"
8502
9220
 
8503
9221
  :stability: experimental
8504
- :pjnew: "~5.4.0"
9222
+ :pjnew: "~5.9.0"
8505
9223
  '''
8506
9224
  result = self._values.get("jsii_version")
8507
9225
  return typing.cast(typing.Optional[builtins.str], result)
@@ -8686,9 +9404,10 @@ def _typecheckingstub__7dcdca80859bf80cb9fb647de7e6170902c312a88763e116e53ea6ea8
8686
9404
  pass
8687
9405
 
8688
9406
  def _typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8d3a035a(
8689
- project: JsiiProject,
9407
+ scope: _constructs_77d1e7e8.IConstruct,
8690
9408
  *,
8691
9409
  file_path: typing.Optional[builtins.str] = None,
9410
+ version: typing.Optional[builtins.str] = None,
8692
9411
  ) -> None:
8693
9412
  """Type checking stubs"""
8694
9413
  pass
@@ -8696,17 +9415,21 @@ def _typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8
8696
9415
  def _typecheckingstub__2f3fb088da3cc3de21fe4de98d7c818b3cbd2a2139fba0682367f39bd3af95be(
8697
9416
  *,
8698
9417
  file_path: typing.Optional[builtins.str] = None,
9418
+ version: typing.Optional[builtins.str] = None,
8699
9419
  ) -> None:
8700
9420
  """Type checking stubs"""
8701
9421
  pass
8702
9422
 
8703
9423
  def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005bb5ec7b5(
8704
9424
  *,
9425
+ github_environment: typing.Optional[builtins.str] = None,
8705
9426
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8706
9427
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8707
9428
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
8708
9429
  nuget_api_key_secret: typing.Optional[builtins.str] = None,
8709
9430
  nuget_server: typing.Optional[builtins.str] = None,
9431
+ nuget_username_secret: typing.Optional[builtins.str] = None,
9432
+ trusted_publishing: typing.Optional[builtins.bool] = None,
8710
9433
  dot_net_namespace: builtins.str,
8711
9434
  package_id: builtins.str,
8712
9435
  icon_url: typing.Optional[builtins.str] = None,
@@ -8716,25 +9439,27 @@ def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005b
8716
9439
 
8717
9440
  def _typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119354df9a(
8718
9441
  *,
9442
+ github_environment: typing.Optional[builtins.str] = None,
8719
9443
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8720
9444
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8721
9445
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
8722
9446
  git_branch: typing.Optional[builtins.str] = None,
8723
9447
  git_commit_message: typing.Optional[builtins.str] = None,
8724
9448
  github_deploy_key_secret: typing.Optional[builtins.str] = None,
8725
- github_repo: typing.Optional[builtins.str] = None,
8726
9449
  github_token_secret: typing.Optional[builtins.str] = None,
8727
9450
  github_use_ssh: typing.Optional[builtins.bool] = None,
8728
9451
  git_user_email: typing.Optional[builtins.str] = None,
8729
9452
  git_user_name: typing.Optional[builtins.str] = None,
8730
9453
  module_name: builtins.str,
8731
9454
  package_name: typing.Optional[builtins.str] = None,
9455
+ version_suffix: typing.Optional[builtins.str] = None,
8732
9456
  ) -> None:
8733
9457
  """Type checking stubs"""
8734
9458
  pass
8735
9459
 
8736
9460
  def _typecheckingstub__365483a000ed61cc1587d7ada435961b86f33fb0718cd001430497c2290e0820(
8737
9461
  *,
9462
+ github_environment: typing.Optional[builtins.str] = None,
8738
9463
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8739
9464
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8740
9465
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8794,6 +9519,7 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8794
9519
  bugs_email: typing.Optional[builtins.str] = None,
8795
9520
  bugs_url: typing.Optional[builtins.str] = None,
8796
9521
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
9522
+ bun_version: typing.Optional[builtins.str] = None,
8797
9523
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
8798
9524
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8799
9525
  description: typing.Optional[builtins.str] = None,
@@ -8810,6 +9536,7 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8810
9536
  npm_registry: typing.Optional[builtins.str] = None,
8811
9537
  npm_registry_url: typing.Optional[builtins.str] = None,
8812
9538
  npm_token_secret: typing.Optional[builtins.str] = None,
9539
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8813
9540
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8814
9541
  package_name: typing.Optional[builtins.str] = None,
8815
9542
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8821,9 +9548,11 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8821
9548
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8822
9549
  stability: typing.Optional[builtins.str] = None,
8823
9550
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
9551
+ bump_package: typing.Optional[builtins.str] = None,
8824
9552
  jsii_release_version: typing.Optional[builtins.str] = None,
8825
9553
  major_version: typing.Optional[jsii.Number] = None,
8826
9554
  min_major_version: typing.Optional[jsii.Number] = None,
9555
+ next_version_command: typing.Optional[builtins.str] = None,
8827
9556
  npm_dist_tag: typing.Optional[builtins.str] = None,
8828
9557
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8829
9558
  prerelease: typing.Optional[builtins.str] = None,
@@ -8831,12 +9560,14 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8831
9560
  publish_tasks: typing.Optional[builtins.bool] = None,
8832
9561
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8833
9562
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
9563
+ release_environment: typing.Optional[builtins.str] = None,
8834
9564
  release_every_commit: typing.Optional[builtins.bool] = None,
8835
9565
  release_failure_issue: typing.Optional[builtins.bool] = None,
8836
9566
  release_failure_issue_label: typing.Optional[builtins.str] = None,
8837
9567
  release_schedule: typing.Optional[builtins.str] = None,
8838
9568
  release_tag_prefix: typing.Optional[builtins.str] = None,
8839
9569
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
9570
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8840
9571
  release_workflow_name: typing.Optional[builtins.str] = None,
8841
9572
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8842
9573
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -8845,7 +9576,11 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8845
9576
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
8846
9577
  default_release_branch: builtins.str,
8847
9578
  artifacts_directory: typing.Optional[builtins.str] = None,
9579
+ audit_deps: typing.Optional[builtins.bool] = None,
9580
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
8848
9581
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
9582
+ biome: typing.Optional[builtins.bool] = None,
9583
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
8849
9584
  build_workflow: typing.Optional[builtins.bool] = None,
8850
9585
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
8851
9586
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8922,10 +9657,13 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8922
9657
 
8923
9658
  def _typecheckingstub__b9ccf41e184eae5eabcd38be0ea0cb88c9d6eb3d4f60d6bb85e4a73763bfb94a(
8924
9659
  *,
9660
+ github_environment: typing.Optional[builtins.str] = None,
8925
9661
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8926
9662
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8927
9663
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
9664
+ attestations: typing.Optional[builtins.bool] = None,
8928
9665
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_7236977a, typing.Dict[builtins.str, typing.Any]]] = None,
9666
+ trusted_publishing: typing.Optional[builtins.bool] = None,
8929
9667
  twine_password_secret: typing.Optional[builtins.str] = None,
8930
9668
  twine_registry_url: typing.Optional[builtins.str] = None,
8931
9669
  twine_username_secret: typing.Optional[builtins.str] = None,
@@ -8976,6 +9714,7 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8976
9714
  bugs_email: typing.Optional[builtins.str] = None,
8977
9715
  bugs_url: typing.Optional[builtins.str] = None,
8978
9716
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
9717
+ bun_version: typing.Optional[builtins.str] = None,
8979
9718
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
8980
9719
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8981
9720
  description: typing.Optional[builtins.str] = None,
@@ -8992,6 +9731,7 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8992
9731
  npm_registry: typing.Optional[builtins.str] = None,
8993
9732
  npm_registry_url: typing.Optional[builtins.str] = None,
8994
9733
  npm_token_secret: typing.Optional[builtins.str] = None,
9734
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8995
9735
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8996
9736
  package_name: typing.Optional[builtins.str] = None,
8997
9737
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -9003,9 +9743,11 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
9003
9743
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
9004
9744
  stability: typing.Optional[builtins.str] = None,
9005
9745
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
9746
+ bump_package: typing.Optional[builtins.str] = None,
9006
9747
  jsii_release_version: typing.Optional[builtins.str] = None,
9007
9748
  major_version: typing.Optional[jsii.Number] = None,
9008
9749
  min_major_version: typing.Optional[jsii.Number] = None,
9750
+ next_version_command: typing.Optional[builtins.str] = None,
9009
9751
  npm_dist_tag: typing.Optional[builtins.str] = None,
9010
9752
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9011
9753
  prerelease: typing.Optional[builtins.str] = None,
@@ -9013,12 +9755,14 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
9013
9755
  publish_tasks: typing.Optional[builtins.bool] = None,
9014
9756
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
9015
9757
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
9758
+ release_environment: typing.Optional[builtins.str] = None,
9016
9759
  release_every_commit: typing.Optional[builtins.bool] = None,
9017
9760
  release_failure_issue: typing.Optional[builtins.bool] = None,
9018
9761
  release_failure_issue_label: typing.Optional[builtins.str] = None,
9019
9762
  release_schedule: typing.Optional[builtins.str] = None,
9020
9763
  release_tag_prefix: typing.Optional[builtins.str] = None,
9021
9764
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
9765
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
9022
9766
  release_workflow_name: typing.Optional[builtins.str] = None,
9023
9767
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9024
9768
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -9027,7 +9771,11 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
9027
9771
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
9028
9772
  default_release_branch: builtins.str,
9029
9773
  artifacts_directory: typing.Optional[builtins.str] = None,
9774
+ audit_deps: typing.Optional[builtins.bool] = None,
9775
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
9030
9776
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
9777
+ biome: typing.Optional[builtins.bool] = None,
9778
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
9031
9779
  build_workflow: typing.Optional[builtins.bool] = None,
9032
9780
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
9033
9781
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,