projen 0.79.4__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
@@ -1,3 +1,6 @@
1
+ from pkgutil import extend_path
2
+ __path__ = extend_path(__path__, __name__)
3
+
1
4
  import abc
2
5
  import builtins
3
6
  import datetime
@@ -8,10 +11,26 @@ import jsii
8
11
  import publication
9
12
  import typing_extensions
10
13
 
11
- 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
12
30
 
13
31
  from .._jsii import *
14
32
 
33
+ import constructs as _constructs_77d1e7e8
15
34
  from .. import (
16
35
  Component as _Component_2b0ad27f,
17
36
  GitOptions as _GitOptions_a65916a3,
@@ -42,9 +61,11 @@ from ..github.workflows import (
42
61
  Triggers as _Triggers_e9ae7617,
43
62
  )
44
63
  from ..javascript import (
64
+ AuditOptions as _AuditOptions_429c62df,
65
+ BiomeOptions as _BiomeOptions_452ab984,
66
+ BuildWorkflowOptions as _BuildWorkflowOptions_b756f97f,
45
67
  BundlerOptions as _BundlerOptions_d60b85ed,
46
68
  CodeArtifactOptions as _CodeArtifactOptions_e4782b3e,
47
- Eslint as _Eslint_b3991f7f,
48
69
  EslintOptions as _EslintOptions_824f60bb,
49
70
  JestOptions as _JestOptions_a085f64e,
50
71
  LicenseCheckerOptions as _LicenseCheckerOptions_80bcd362,
@@ -60,6 +81,7 @@ from ..javascript import (
60
81
  )
61
82
  from ..release import (
62
83
  BranchOptions as _BranchOptions_13663d08,
84
+ CodeArtifactOptions as _CodeArtifactOptions_7236977a,
63
85
  GoPublishOptions as _GoPublishOptions_d6430d61,
64
86
  MavenPublishOptions as _MavenPublishOptions_43a9e42a,
65
87
  NugetPublishOptions as _NugetPublishOptions_32e8bf09,
@@ -495,7 +517,11 @@ class IntegrationTestBaseOptions:
495
517
  )
496
518
 
497
519
 
498
- 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
+ ):
499
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.
500
526
 
501
527
  :stability: experimental
@@ -503,43 +529,54 @@ class JsiiDocgen(metaclass=jsii.JSIIMeta, jsii_type="projen.cdk.JsiiDocgen"):
503
529
 
504
530
  def __init__(
505
531
  self,
506
- project: "JsiiProject",
532
+ scope: _constructs_77d1e7e8.IConstruct,
507
533
  *,
508
534
  file_path: typing.Optional[builtins.str] = None,
535
+ version: typing.Optional[builtins.str] = None,
509
536
  ) -> None:
510
537
  '''
511
- :param project: -
538
+ :param scope: -
512
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: '*'
513
541
 
514
542
  :stability: experimental
515
543
  '''
516
544
  if __debug__:
517
545
  type_hints = typing.get_type_hints(_typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8d3a035a)
518
- check_type(argname="argument project", value=project, expected_type=type_hints["project"])
519
- 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)
520
548
 
521
- jsii.create(self.__class__, self, [project, options])
549
+ jsii.create(self.__class__, self, [scope, options])
522
550
 
523
551
 
524
552
  @jsii.data_type(
525
553
  jsii_type="projen.cdk.JsiiDocgenOptions",
526
554
  jsii_struct_bases=[],
527
- name_mapping={"file_path": "filePath"},
555
+ name_mapping={"file_path": "filePath", "version": "version"},
528
556
  )
529
557
  class JsiiDocgenOptions:
530
- 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:
531
564
  '''(experimental) Options for ``JsiiDocgen``.
532
565
 
533
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: '*'
534
568
 
535
569
  :stability: experimental
536
570
  '''
537
571
  if __debug__:
538
572
  type_hints = typing.get_type_hints(_typecheckingstub__2f3fb088da3cc3de21fe4de98d7c818b3cbd2a2139fba0682367f39bd3af95be)
539
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"])
540
575
  self._values: typing.Dict[builtins.str, typing.Any] = {}
541
576
  if file_path is not None:
542
577
  self._values["file_path"] = file_path
578
+ if version is not None:
579
+ self._values["version"] = version
543
580
 
544
581
  @builtins.property
545
582
  def file_path(self) -> typing.Optional[builtins.str]:
@@ -552,6 +589,17 @@ class JsiiDocgenOptions:
552
589
  result = self._values.get("file_path")
553
590
  return typing.cast(typing.Optional[builtins.str], result)
554
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
+
555
603
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
556
604
  return isinstance(rhs, self.__class__) and rhs._values == self._values
557
605
 
@@ -568,11 +616,14 @@ class JsiiDocgenOptions:
568
616
  jsii_type="projen.cdk.JsiiDotNetTarget",
569
617
  jsii_struct_bases=[_NugetPublishOptions_32e8bf09],
570
618
  name_mapping={
619
+ "github_environment": "githubEnvironment",
571
620
  "post_publish_steps": "postPublishSteps",
572
621
  "pre_publish_steps": "prePublishSteps",
573
622
  "publish_tools": "publishTools",
574
623
  "nuget_api_key_secret": "nugetApiKeySecret",
575
624
  "nuget_server": "nugetServer",
625
+ "nuget_username_secret": "nugetUsernameSecret",
626
+ "trusted_publishing": "trustedPublishing",
576
627
  "dot_net_namespace": "dotNetNamespace",
577
628
  "package_id": "packageId",
578
629
  "icon_url": "iconUrl",
@@ -582,21 +633,27 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
582
633
  def __init__(
583
634
  self,
584
635
  *,
636
+ github_environment: typing.Optional[builtins.str] = None,
585
637
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
586
638
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
587
639
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
588
640
  nuget_api_key_secret: typing.Optional[builtins.str] = None,
589
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,
590
644
  dot_net_namespace: builtins.str,
591
645
  package_id: builtins.str,
592
646
  icon_url: typing.Optional[builtins.str] = None,
593
647
  ) -> None:
594
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
595
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``.
596
- :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``.
597
652
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
598
653
  :param nuget_api_key_secret: (experimental) GitHub secret which contains the API key for NuGet. Default: "NUGET_API_KEY"
599
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.
600
657
  :param dot_net_namespace:
601
658
  :param package_id:
602
659
  :param icon_url:
@@ -607,11 +664,14 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
607
664
  publish_tools = _Tools_75b93a2a(**publish_tools)
608
665
  if __debug__:
609
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"])
610
668
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
611
669
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
612
670
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
613
671
  check_type(argname="argument nuget_api_key_secret", value=nuget_api_key_secret, expected_type=type_hints["nuget_api_key_secret"])
614
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"])
615
675
  check_type(argname="argument dot_net_namespace", value=dot_net_namespace, expected_type=type_hints["dot_net_namespace"])
616
676
  check_type(argname="argument package_id", value=package_id, expected_type=type_hints["package_id"])
617
677
  check_type(argname="argument icon_url", value=icon_url, expected_type=type_hints["icon_url"])
@@ -619,6 +679,8 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
619
679
  "dot_net_namespace": dot_net_namespace,
620
680
  "package_id": package_id,
621
681
  }
682
+ if github_environment is not None:
683
+ self._values["github_environment"] = github_environment
622
684
  if post_publish_steps is not None:
623
685
  self._values["post_publish_steps"] = post_publish_steps
624
686
  if pre_publish_steps is not None:
@@ -629,9 +691,29 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
629
691
  self._values["nuget_api_key_secret"] = nuget_api_key_secret
630
692
  if nuget_server is not None:
631
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
632
698
  if icon_url is not None:
633
699
  self._values["icon_url"] = icon_url
634
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
+
635
717
  @builtins.property
636
718
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
637
719
  '''(experimental) Steps to execute after executing the publishing command.
@@ -648,7 +730,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
648
730
 
649
731
  @builtins.property
650
732
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
651
- '''(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.
652
734
 
653
735
  These steps are executed after ``dist/`` has been populated with the build
654
736
  output.
@@ -691,6 +773,31 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
691
773
  result = self._values.get("nuget_server")
692
774
  return typing.cast(typing.Optional[builtins.str], result)
693
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
+
694
801
  @builtins.property
695
802
  def dot_net_namespace(self) -> builtins.str:
696
803
  '''
@@ -733,54 +840,57 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
733
840
  jsii_type="projen.cdk.JsiiGoTarget",
734
841
  jsii_struct_bases=[_GoPublishOptions_d6430d61],
735
842
  name_mapping={
843
+ "github_environment": "githubEnvironment",
736
844
  "post_publish_steps": "postPublishSteps",
737
845
  "pre_publish_steps": "prePublishSteps",
738
846
  "publish_tools": "publishTools",
739
847
  "git_branch": "gitBranch",
740
848
  "git_commit_message": "gitCommitMessage",
741
849
  "github_deploy_key_secret": "githubDeployKeySecret",
742
- "github_repo": "githubRepo",
743
850
  "github_token_secret": "githubTokenSecret",
744
851
  "github_use_ssh": "githubUseSsh",
745
852
  "git_user_email": "gitUserEmail",
746
853
  "git_user_name": "gitUserName",
747
854
  "module_name": "moduleName",
748
855
  "package_name": "packageName",
856
+ "version_suffix": "versionSuffix",
749
857
  },
750
858
  )
751
859
  class JsiiGoTarget(_GoPublishOptions_d6430d61):
752
860
  def __init__(
753
861
  self,
754
862
  *,
863
+ github_environment: typing.Optional[builtins.str] = None,
755
864
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
756
865
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
757
866
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
758
867
  git_branch: typing.Optional[builtins.str] = None,
759
868
  git_commit_message: typing.Optional[builtins.str] = None,
760
869
  github_deploy_key_secret: typing.Optional[builtins.str] = None,
761
- github_repo: typing.Optional[builtins.str] = None,
762
870
  github_token_secret: typing.Optional[builtins.str] = None,
763
871
  github_use_ssh: typing.Optional[builtins.bool] = None,
764
872
  git_user_email: typing.Optional[builtins.str] = None,
765
873
  git_user_name: typing.Optional[builtins.str] = None,
766
874
  module_name: builtins.str,
767
875
  package_name: typing.Optional[builtins.str] = None,
876
+ version_suffix: typing.Optional[builtins.str] = None,
768
877
  ) -> None:
769
878
  '''(experimental) Go target configuration.
770
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
771
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``.
772
- :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``.
773
883
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
774
884
  :param git_branch: (experimental) Branch to push to. Default: "main"
775
885
  :param git_commit_message: (experimental) The commit message. Default: "chore(release): $VERSION"
776
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"
777
- :param github_repo: (experimental) GitHub repository to push to. Default: - derived from ``moduleName``
778
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"
779
888
  :param github_use_ssh: (experimental) Use SSH to push to GitHub instead of a personal accses token. Default: false
780
- :param git_user_email: (experimental) The email to use in the release git commit. Default: "github-actions@github.com"
781
- :param git_user_name: (experimental) The user name to use for the release git commit. Default: "github-actions"
782
- :param module_name: (experimental) The name of the target go module.
783
- :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
784
894
 
785
895
  :stability: experimental
786
896
  '''
@@ -788,22 +898,25 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
788
898
  publish_tools = _Tools_75b93a2a(**publish_tools)
789
899
  if __debug__:
790
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"])
791
902
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
792
903
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
793
904
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
794
905
  check_type(argname="argument git_branch", value=git_branch, expected_type=type_hints["git_branch"])
795
906
  check_type(argname="argument git_commit_message", value=git_commit_message, expected_type=type_hints["git_commit_message"])
796
907
  check_type(argname="argument github_deploy_key_secret", value=github_deploy_key_secret, expected_type=type_hints["github_deploy_key_secret"])
797
- check_type(argname="argument github_repo", value=github_repo, expected_type=type_hints["github_repo"])
798
908
  check_type(argname="argument github_token_secret", value=github_token_secret, expected_type=type_hints["github_token_secret"])
799
909
  check_type(argname="argument github_use_ssh", value=github_use_ssh, expected_type=type_hints["github_use_ssh"])
800
910
  check_type(argname="argument git_user_email", value=git_user_email, expected_type=type_hints["git_user_email"])
801
911
  check_type(argname="argument git_user_name", value=git_user_name, expected_type=type_hints["git_user_name"])
802
912
  check_type(argname="argument module_name", value=module_name, expected_type=type_hints["module_name"])
803
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"])
804
915
  self._values: typing.Dict[builtins.str, typing.Any] = {
805
916
  "module_name": module_name,
806
917
  }
918
+ if github_environment is not None:
919
+ self._values["github_environment"] = github_environment
807
920
  if post_publish_steps is not None:
808
921
  self._values["post_publish_steps"] = post_publish_steps
809
922
  if pre_publish_steps is not None:
@@ -816,8 +929,6 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
816
929
  self._values["git_commit_message"] = git_commit_message
817
930
  if github_deploy_key_secret is not None:
818
931
  self._values["github_deploy_key_secret"] = github_deploy_key_secret
819
- if github_repo is not None:
820
- self._values["github_repo"] = github_repo
821
932
  if github_token_secret is not None:
822
933
  self._values["github_token_secret"] = github_token_secret
823
934
  if github_use_ssh is not None:
@@ -828,6 +939,24 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
828
939
  self._values["git_user_name"] = git_user_name
829
940
  if package_name is not None:
830
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)
831
960
 
832
961
  @builtins.property
833
962
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
@@ -845,7 +974,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
845
974
 
846
975
  @builtins.property
847
976
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
848
- '''(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.
849
978
 
850
979
  These steps are executed after ``dist/`` has been populated with the build
851
980
  output.
@@ -903,17 +1032,6 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
903
1032
  result = self._values.get("github_deploy_key_secret")
904
1033
  return typing.cast(typing.Optional[builtins.str], result)
905
1034
 
906
- @builtins.property
907
- def github_repo(self) -> typing.Optional[builtins.str]:
908
- '''(experimental) GitHub repository to push to.
909
-
910
- :default: - derived from ``moduleName``
911
-
912
- :stability: experimental
913
- '''
914
- result = self._values.get("github_repo")
915
- return typing.cast(typing.Optional[builtins.str], result)
916
-
917
1035
  @builtins.property
918
1036
  def github_token_secret(self) -> typing.Optional[builtins.str]:
919
1037
  '''(experimental) The name of the secret that includes a personal GitHub access token used to push to the GitHub repository.
@@ -942,7 +1060,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
942
1060
  def git_user_email(self) -> typing.Optional[builtins.str]:
943
1061
  '''(experimental) The email to use in the release git commit.
944
1062
 
945
- :default: "github-actions@github.com"
1063
+ :default: - default GitHub Actions user email
946
1064
 
947
1065
  :stability: experimental
948
1066
  '''
@@ -953,7 +1071,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
953
1071
  def git_user_name(self) -> typing.Optional[builtins.str]:
954
1072
  '''(experimental) The user name to use for the release git commit.
955
1073
 
956
- :default: "github-actions"
1074
+ :default: - default GitHub Actions user name
957
1075
 
958
1076
  :stability: experimental
959
1077
  '''
@@ -962,13 +1080,16 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
962
1080
 
963
1081
  @builtins.property
964
1082
  def module_name(self) -> builtins.str:
965
- '''(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).
966
1087
 
967
1088
  :stability: experimental
968
1089
 
969
1090
  Example::
970
1091
 
971
- github.com/owner/repo/subdir
1092
+ github.com/owner/repo
972
1093
  '''
973
1094
  result = self._values.get("module_name")
974
1095
  assert result is not None, "Required property 'module_name' is missing"
@@ -976,15 +1097,30 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
976
1097
 
977
1098
  @builtins.property
978
1099
  def package_name(self) -> typing.Optional[builtins.str]:
979
- '''(experimental) The name of the go package.
1100
+ '''(experimental) The name of the Go package name.
1101
+
1102
+ If not specified, package name will be derived from the JavaScript module name
1103
+ by removing non-alphanumeric characters (e.g.
980
1104
 
981
- :default: - derived from the module name
1105
+ :default: - derived from the JavaScript module name
982
1106
 
983
1107
  :stability: experimental
1108
+ :projen: /foo-bar will be projenfoobar).
984
1109
  '''
985
1110
  result = self._values.get("package_name")
986
1111
  return typing.cast(typing.Optional[builtins.str], result)
987
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
+
988
1124
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
989
1125
  return isinstance(rhs, self.__class__) and rhs._values == self._values
990
1126
 
@@ -1001,6 +1137,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
1001
1137
  jsii_type="projen.cdk.JsiiJavaTarget",
1002
1138
  jsii_struct_bases=[_MavenPublishOptions_43a9e42a],
1003
1139
  name_mapping={
1140
+ "github_environment": "githubEnvironment",
1004
1141
  "post_publish_steps": "postPublishSteps",
1005
1142
  "pre_publish_steps": "prePublishSteps",
1006
1143
  "publish_tools": "publishTools",
@@ -1021,6 +1158,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1021
1158
  def __init__(
1022
1159
  self,
1023
1160
  *,
1161
+ github_environment: typing.Optional[builtins.str] = None,
1024
1162
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1025
1163
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1026
1164
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1037,15 +1175,16 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1037
1175
  maven_group_id: builtins.str,
1038
1176
  ) -> None:
1039
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
1040
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``.
1041
- :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``.
1042
1181
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
1043
- :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
1044
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
1045
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
1046
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
1047
1186
  :param maven_repository_url: (experimental) Deployment repository when not deploying to Maven Central. Default: - not set
1048
- :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
1049
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
1050
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
1051
1190
  :param java_package:
@@ -1058,6 +1197,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1058
1197
  publish_tools = _Tools_75b93a2a(**publish_tools)
1059
1198
  if __debug__:
1060
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"])
1061
1201
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1062
1202
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1063
1203
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1077,6 +1217,8 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1077
1217
  "maven_artifact_id": maven_artifact_id,
1078
1218
  "maven_group_id": maven_group_id,
1079
1219
  }
1220
+ if github_environment is not None:
1221
+ self._values["github_environment"] = github_environment
1080
1222
  if post_publish_steps is not None:
1081
1223
  self._values["post_publish_steps"] = post_publish_steps
1082
1224
  if pre_publish_steps is not None:
@@ -1100,6 +1242,22 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1100
1242
  if maven_username is not None:
1101
1243
  self._values["maven_username"] = maven_username
1102
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
+
1103
1261
  @builtins.property
1104
1262
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1105
1263
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1116,7 +1274,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1116
1274
 
1117
1275
  @builtins.property
1118
1276
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1119
- '''(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.
1120
1278
 
1121
1279
  These steps are executed after ``dist/`` has been populated with the build
1122
1280
  output.
@@ -1145,7 +1303,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1145
1303
 
1146
1304
  if not set, defaults to https://oss.sonatype.org
1147
1305
 
1148
- :default: "https://oss.sonatype.org"
1306
+ :default: - "https://oss.sonatype.org" or none when publishing to Maven Central
1149
1307
 
1150
1308
  :stability: experimental
1151
1309
  '''
@@ -1211,7 +1369,9 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1211
1369
  def maven_server_id(self) -> typing.Optional[builtins.str]:
1212
1370
  '''(experimental) Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).
1213
1371
 
1214
- :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
1215
1375
 
1216
1376
  :stability: experimental
1217
1377
  '''
@@ -1333,8 +1493,13 @@ class JsiiProject(
1333
1493
  typescript_version: typing.Optional[builtins.str] = None,
1334
1494
  default_release_branch: builtins.str,
1335
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,
1336
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,
1337
1501
  build_workflow: typing.Optional[builtins.bool] = None,
1502
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
1338
1503
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
1339
1504
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
1340
1505
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1396,6 +1561,7 @@ class JsiiProject(
1396
1561
  bugs_email: typing.Optional[builtins.str] = None,
1397
1562
  bugs_url: typing.Optional[builtins.str] = None,
1398
1563
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
1564
+ bun_version: typing.Optional[builtins.str] = None,
1399
1565
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
1400
1566
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
1401
1567
  description: typing.Optional[builtins.str] = None,
@@ -1408,9 +1574,11 @@ class JsiiProject(
1408
1574
  max_node_version: typing.Optional[builtins.str] = None,
1409
1575
  min_node_version: typing.Optional[builtins.str] = None,
1410
1576
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
1577
+ npm_provenance: typing.Optional[builtins.bool] = None,
1411
1578
  npm_registry: typing.Optional[builtins.str] = None,
1412
1579
  npm_registry_url: typing.Optional[builtins.str] = None,
1413
1580
  npm_token_secret: typing.Optional[builtins.str] = None,
1581
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
1414
1582
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
1415
1583
  package_name: typing.Optional[builtins.str] = None,
1416
1584
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1422,9 +1590,11 @@ class JsiiProject(
1422
1590
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1423
1591
  stability: typing.Optional[builtins.str] = None,
1424
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,
1425
1594
  jsii_release_version: typing.Optional[builtins.str] = None,
1426
1595
  major_version: typing.Optional[jsii.Number] = None,
1427
1596
  min_major_version: typing.Optional[jsii.Number] = None,
1597
+ next_version_command: typing.Optional[builtins.str] = None,
1428
1598
  npm_dist_tag: typing.Optional[builtins.str] = None,
1429
1599
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1430
1600
  prerelease: typing.Optional[builtins.str] = None,
@@ -1432,12 +1602,14 @@ class JsiiProject(
1432
1602
  publish_tasks: typing.Optional[builtins.bool] = None,
1433
1603
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
1434
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,
1435
1606
  release_every_commit: typing.Optional[builtins.bool] = None,
1436
1607
  release_failure_issue: typing.Optional[builtins.bool] = None,
1437
1608
  release_failure_issue_label: typing.Optional[builtins.str] = None,
1438
1609
  release_schedule: typing.Optional[builtins.str] = None,
1439
1610
  release_tag_prefix: typing.Optional[builtins.str] = None,
1440
1611
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
1612
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1441
1613
  release_workflow_name: typing.Optional[builtins.str] = None,
1442
1614
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1443
1615
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -1467,7 +1639,7 @@ class JsiiProject(
1467
1639
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
1468
1640
  :param dotnet:
1469
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.
1470
- :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"
1471
1643
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
1472
1644
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
1473
1645
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -1479,7 +1651,7 @@ class JsiiProject(
1479
1651
  :param docgen: (experimental) Docgen by Typedoc. Default: false
1480
1652
  :param docs_directory: (experimental) Docs directory. Default: "docs"
1481
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)
1482
- :param eslint: (experimental) Setup eslint. Default: true
1654
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
1483
1655
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
1484
1656
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
1485
1657
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -1494,13 +1666,18 @@ class JsiiProject(
1494
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"
1495
1667
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
1496
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
1497
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
1498
1674
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
1499
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1675
+ :param build_workflow_options: (experimental) Options for PR build workflow.
1676
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1500
1677
  :param bundler_options: (experimental) Options for ``Bundler``.
1501
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
1502
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
1503
- :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
1504
1681
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
1505
1682
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
1506
1683
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -1510,14 +1687,14 @@ class JsiiProject(
1510
1687
  :param gitignore: (experimental) Additional entries to .gitignore.
1511
1688
  :param jest: (experimental) Setup jest unit tests. Default: true
1512
1689
  :param jest_options: (experimental) Jest options. Default: - default options
1513
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
1690
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
1514
1691
  :param npmignore: (deprecated) Additional entries to .npmignore.
1515
1692
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
1516
1693
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
1517
1694
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
1518
1695
  :param prettier: (experimental) Setup prettier. Default: false
1519
1696
  :param prettier_options: (experimental) Prettier options. Default: - default options
1520
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
1697
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
1521
1698
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
1522
1699
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
1523
1700
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -1527,8 +1704,8 @@ class JsiiProject(
1527
1704
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
1528
1705
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
1529
1706
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
1530
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
1531
- :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/*``.
1532
1709
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
1533
1710
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
1534
1711
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -1557,6 +1734,7 @@ class JsiiProject(
1557
1734
  :param bugs_email: (experimental) The email address to which issues should be reported.
1558
1735
  :param bugs_url: (experimental) The url to your project's issue tracker.
1559
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"
1560
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
1561
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: []
1562
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
@@ -1566,26 +1744,30 @@ class JsiiProject(
1566
1744
  :param keywords: (experimental) Keywords to include in ``package.json``.
1567
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"
1568
1746
  :param licensed: (experimental) Indicates if a license should be added. Default: true
1569
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
1570
- :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
1571
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``.
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
1572
1751
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1573
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"
1574
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
1575
1755
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1576
1756
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1577
1757
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
1578
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: []
1579
- :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"
1580
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
1581
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.
1582
1762
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
1583
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: {}
1584
1764
  :param stability: (experimental) Package's Stability.
1585
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"
1586
1767
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
1587
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.
1588
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.
1589
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"
1590
1772
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
1591
1773
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -1593,15 +1775,17 @@ class JsiiProject(
1593
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
1594
1776
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1595
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
1596
1779
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1597
1780
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1598
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"
1599
1782
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
1600
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"
1601
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: {}
1602
1786
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
1603
1787
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
1604
- :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
1605
1789
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
1606
1790
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
1607
1791
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -1657,8 +1841,13 @@ class JsiiProject(
1657
1841
  typescript_version=typescript_version,
1658
1842
  default_release_branch=default_release_branch,
1659
1843
  artifacts_directory=artifacts_directory,
1844
+ audit_deps=audit_deps,
1845
+ audit_deps_options=audit_deps_options,
1660
1846
  auto_approve_upgrades=auto_approve_upgrades,
1847
+ biome=biome,
1848
+ biome_options=biome_options,
1661
1849
  build_workflow=build_workflow,
1850
+ build_workflow_options=build_workflow_options,
1662
1851
  build_workflow_triggers=build_workflow_triggers,
1663
1852
  bundler_options=bundler_options,
1664
1853
  check_licenses=check_licenses,
@@ -1720,6 +1909,7 @@ class JsiiProject(
1720
1909
  bugs_email=bugs_email,
1721
1910
  bugs_url=bugs_url,
1722
1911
  bundled_deps=bundled_deps,
1912
+ bun_version=bun_version,
1723
1913
  code_artifact_options=code_artifact_options,
1724
1914
  deps=deps,
1725
1915
  description=description,
@@ -1732,9 +1922,11 @@ class JsiiProject(
1732
1922
  max_node_version=max_node_version,
1733
1923
  min_node_version=min_node_version,
1734
1924
  npm_access=npm_access,
1925
+ npm_provenance=npm_provenance,
1735
1926
  npm_registry=npm_registry,
1736
1927
  npm_registry_url=npm_registry_url,
1737
1928
  npm_token_secret=npm_token_secret,
1929
+ npm_trusted_publishing=npm_trusted_publishing,
1738
1930
  package_manager=package_manager,
1739
1931
  package_name=package_name,
1740
1932
  peer_dependency_options=peer_dependency_options,
@@ -1746,9 +1938,11 @@ class JsiiProject(
1746
1938
  scripts=scripts,
1747
1939
  stability=stability,
1748
1940
  yarn_berry_options=yarn_berry_options,
1941
+ bump_package=bump_package,
1749
1942
  jsii_release_version=jsii_release_version,
1750
1943
  major_version=major_version,
1751
1944
  min_major_version=min_major_version,
1945
+ next_version_command=next_version_command,
1752
1946
  npm_dist_tag=npm_dist_tag,
1753
1947
  post_build_steps=post_build_steps,
1754
1948
  prerelease=prerelease,
@@ -1756,12 +1950,14 @@ class JsiiProject(
1756
1950
  publish_tasks=publish_tasks,
1757
1951
  releasable_commits=releasable_commits,
1758
1952
  release_branches=release_branches,
1953
+ release_environment=release_environment,
1759
1954
  release_every_commit=release_every_commit,
1760
1955
  release_failure_issue=release_failure_issue,
1761
1956
  release_failure_issue_label=release_failure_issue_label,
1762
1957
  release_schedule=release_schedule,
1763
1958
  release_tag_prefix=release_tag_prefix,
1764
1959
  release_trigger=release_trigger,
1960
+ release_workflow_env=release_workflow_env,
1765
1961
  release_workflow_name=release_workflow_name,
1766
1962
  release_workflow_setup_steps=release_workflow_setup_steps,
1767
1963
  versionrc_options=versionrc_options,
@@ -1784,14 +1980,6 @@ class JsiiProject(
1784
1980
 
1785
1981
  jsii.create(self.__class__, self, [options])
1786
1982
 
1787
- @builtins.property
1788
- @jsii.member(jsii_name="eslint")
1789
- def eslint(self) -> typing.Optional[_Eslint_b3991f7f]:
1790
- '''
1791
- :stability: experimental
1792
- '''
1793
- return typing.cast(typing.Optional[_Eslint_b3991f7f], jsii.get(self, "eslint"))
1794
-
1795
1983
 
1796
1984
  @jsii.data_type(
1797
1985
  jsii_type="projen.cdk.JsiiProjectOptions",
@@ -1836,6 +2024,7 @@ class JsiiProject(
1836
2024
  "bugs_email": "bugsEmail",
1837
2025
  "bugs_url": "bugsUrl",
1838
2026
  "bundled_deps": "bundledDeps",
2027
+ "bun_version": "bunVersion",
1839
2028
  "code_artifact_options": "codeArtifactOptions",
1840
2029
  "deps": "deps",
1841
2030
  "description": "description",
@@ -1848,9 +2037,11 @@ class JsiiProject(
1848
2037
  "max_node_version": "maxNodeVersion",
1849
2038
  "min_node_version": "minNodeVersion",
1850
2039
  "npm_access": "npmAccess",
2040
+ "npm_provenance": "npmProvenance",
1851
2041
  "npm_registry": "npmRegistry",
1852
2042
  "npm_registry_url": "npmRegistryUrl",
1853
2043
  "npm_token_secret": "npmTokenSecret",
2044
+ "npm_trusted_publishing": "npmTrustedPublishing",
1854
2045
  "package_manager": "packageManager",
1855
2046
  "package_name": "packageName",
1856
2047
  "peer_dependency_options": "peerDependencyOptions",
@@ -1862,9 +2053,11 @@ class JsiiProject(
1862
2053
  "scripts": "scripts",
1863
2054
  "stability": "stability",
1864
2055
  "yarn_berry_options": "yarnBerryOptions",
2056
+ "bump_package": "bumpPackage",
1865
2057
  "jsii_release_version": "jsiiReleaseVersion",
1866
2058
  "major_version": "majorVersion",
1867
2059
  "min_major_version": "minMajorVersion",
2060
+ "next_version_command": "nextVersionCommand",
1868
2061
  "npm_dist_tag": "npmDistTag",
1869
2062
  "post_build_steps": "postBuildSteps",
1870
2063
  "prerelease": "prerelease",
@@ -1872,12 +2065,14 @@ class JsiiProject(
1872
2065
  "publish_tasks": "publishTasks",
1873
2066
  "releasable_commits": "releasableCommits",
1874
2067
  "release_branches": "releaseBranches",
2068
+ "release_environment": "releaseEnvironment",
1875
2069
  "release_every_commit": "releaseEveryCommit",
1876
2070
  "release_failure_issue": "releaseFailureIssue",
1877
2071
  "release_failure_issue_label": "releaseFailureIssueLabel",
1878
2072
  "release_schedule": "releaseSchedule",
1879
2073
  "release_tag_prefix": "releaseTagPrefix",
1880
2074
  "release_trigger": "releaseTrigger",
2075
+ "release_workflow_env": "releaseWorkflowEnv",
1881
2076
  "release_workflow_name": "releaseWorkflowName",
1882
2077
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
1883
2078
  "versionrc_options": "versionrcOptions",
@@ -1886,8 +2081,13 @@ class JsiiProject(
1886
2081
  "workflow_runs_on_group": "workflowRunsOnGroup",
1887
2082
  "default_release_branch": "defaultReleaseBranch",
1888
2083
  "artifacts_directory": "artifactsDirectory",
2084
+ "audit_deps": "auditDeps",
2085
+ "audit_deps_options": "auditDepsOptions",
1889
2086
  "auto_approve_upgrades": "autoApproveUpgrades",
2087
+ "biome": "biome",
2088
+ "biome_options": "biomeOptions",
1890
2089
  "build_workflow": "buildWorkflow",
2090
+ "build_workflow_options": "buildWorkflowOptions",
1891
2091
  "build_workflow_triggers": "buildWorkflowTriggers",
1892
2092
  "bundler_options": "bundlerOptions",
1893
2093
  "check_licenses": "checkLicenses",
@@ -2001,6 +2201,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2001
2201
  bugs_email: typing.Optional[builtins.str] = None,
2002
2202
  bugs_url: typing.Optional[builtins.str] = None,
2003
2203
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
2204
+ bun_version: typing.Optional[builtins.str] = None,
2004
2205
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
2005
2206
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
2006
2207
  description: typing.Optional[builtins.str] = None,
@@ -2013,9 +2214,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2013
2214
  max_node_version: typing.Optional[builtins.str] = None,
2014
2215
  min_node_version: typing.Optional[builtins.str] = None,
2015
2216
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
2217
+ npm_provenance: typing.Optional[builtins.bool] = None,
2016
2218
  npm_registry: typing.Optional[builtins.str] = None,
2017
2219
  npm_registry_url: typing.Optional[builtins.str] = None,
2018
2220
  npm_token_secret: typing.Optional[builtins.str] = None,
2221
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
2019
2222
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
2020
2223
  package_name: typing.Optional[builtins.str] = None,
2021
2224
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2027,9 +2230,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2027
2230
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2028
2231
  stability: typing.Optional[builtins.str] = None,
2029
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,
2030
2234
  jsii_release_version: typing.Optional[builtins.str] = None,
2031
2235
  major_version: typing.Optional[jsii.Number] = None,
2032
2236
  min_major_version: typing.Optional[jsii.Number] = None,
2237
+ next_version_command: typing.Optional[builtins.str] = None,
2033
2238
  npm_dist_tag: typing.Optional[builtins.str] = None,
2034
2239
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2035
2240
  prerelease: typing.Optional[builtins.str] = None,
@@ -2037,12 +2242,14 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2037
2242
  publish_tasks: typing.Optional[builtins.bool] = None,
2038
2243
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
2039
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,
2040
2246
  release_every_commit: typing.Optional[builtins.bool] = None,
2041
2247
  release_failure_issue: typing.Optional[builtins.bool] = None,
2042
2248
  release_failure_issue_label: typing.Optional[builtins.str] = None,
2043
2249
  release_schedule: typing.Optional[builtins.str] = None,
2044
2250
  release_tag_prefix: typing.Optional[builtins.str] = None,
2045
2251
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
2252
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2046
2253
  release_workflow_name: typing.Optional[builtins.str] = None,
2047
2254
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2048
2255
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -2051,8 +2258,13 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2051
2258
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
2052
2259
  default_release_branch: builtins.str,
2053
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,
2054
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,
2055
2266
  build_workflow: typing.Optional[builtins.bool] = None,
2267
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
2056
2268
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
2057
2269
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
2058
2270
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2162,6 +2374,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2162
2374
  :param bugs_email: (experimental) The email address to which issues should be reported.
2163
2375
  :param bugs_url: (experimental) The url to your project's issue tracker.
2164
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"
2165
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
2166
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: []
2167
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
@@ -2171,26 +2384,30 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2171
2384
  :param keywords: (experimental) Keywords to include in ``package.json``.
2172
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"
2173
2386
  :param licensed: (experimental) Indicates if a license should be added. Default: true
2174
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
2175
- :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
2176
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``.
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
2177
2391
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
2178
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"
2179
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
2180
2395
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
2181
2396
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
2182
2397
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
2183
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: []
2184
- :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"
2185
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
2186
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.
2187
2402
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
2188
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: {}
2189
2404
  :param stability: (experimental) Package's Stability.
2190
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"
2191
2407
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
2192
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.
2193
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.
2194
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"
2195
2412
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
2196
2413
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -2198,27 +2415,34 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2198
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
2199
2416
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
2200
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
2201
2419
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
2202
2420
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
2203
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"
2204
2422
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
2205
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"
2206
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: {}
2207
2426
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
2208
2427
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
2209
- :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
2210
2429
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
2211
2430
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
2212
2431
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
2213
2432
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
2214
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
2215
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
2216
2439
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
2217
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
2440
+ :param build_workflow_options: (experimental) Options for PR build workflow.
2441
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
2218
2442
  :param bundler_options: (experimental) Options for ``Bundler``.
2219
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
2220
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
2221
- :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
2222
2446
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
2223
2447
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
2224
2448
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -2228,14 +2452,14 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2228
2452
  :param gitignore: (experimental) Additional entries to .gitignore.
2229
2453
  :param jest: (experimental) Setup jest unit tests. Default: true
2230
2454
  :param jest_options: (experimental) Jest options. Default: - default options
2231
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
2455
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
2232
2456
  :param npmignore: (deprecated) Additional entries to .npmignore.
2233
2457
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
2234
2458
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
2235
2459
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
2236
2460
  :param prettier: (experimental) Setup prettier. Default: false
2237
2461
  :param prettier_options: (experimental) Prettier options. Default: - default options
2238
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
2462
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
2239
2463
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
2240
2464
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
2241
2465
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -2245,15 +2469,15 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2245
2469
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
2246
2470
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
2247
2471
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
2248
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
2249
- :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/*``.
2250
2474
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
2251
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
2252
2476
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
2253
2477
  :param docgen: (experimental) Docgen by Typedoc. Default: false
2254
2478
  :param docs_directory: (experimental) Docs directory. Default: "docs"
2255
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)
2256
- :param eslint: (experimental) Setup eslint. Default: true
2480
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
2257
2481
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
2258
2482
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
2259
2483
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -2275,7 +2499,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2275
2499
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
2276
2500
  :param dotnet:
2277
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.
2278
- :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"
2279
2503
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
2280
2504
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
2281
2505
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -2315,6 +2539,12 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2315
2539
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
2316
2540
  if isinstance(workflow_runs_on_group, dict):
2317
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)
2546
+ if isinstance(build_workflow_options, dict):
2547
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
2318
2548
  if isinstance(build_workflow_triggers, dict):
2319
2549
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
2320
2550
  if isinstance(bundler_options, dict):
@@ -2398,6 +2628,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2398
2628
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
2399
2629
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
2400
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"])
2401
2632
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
2402
2633
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
2403
2634
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -2410,9 +2641,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2410
2641
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
2411
2642
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
2412
2643
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
2644
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
2413
2645
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
2414
2646
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
2415
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"])
2416
2649
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
2417
2650
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
2418
2651
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -2424,9 +2657,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2424
2657
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
2425
2658
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
2426
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"])
2427
2661
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
2428
2662
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
2429
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"])
2430
2665
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
2431
2666
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
2432
2667
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -2434,12 +2669,14 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2434
2669
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
2435
2670
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
2436
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"])
2437
2673
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
2438
2674
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
2439
2675
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
2440
2676
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
2441
2677
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
2442
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"])
2443
2680
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
2444
2681
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
2445
2682
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -2448,8 +2685,13 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2448
2685
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
2449
2686
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
2450
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"])
2451
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"])
2452
2693
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
2694
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
2453
2695
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
2454
2696
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
2455
2697
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -2601,6 +2843,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2601
2843
  self._values["bugs_url"] = bugs_url
2602
2844
  if bundled_deps is not None:
2603
2845
  self._values["bundled_deps"] = bundled_deps
2846
+ if bun_version is not None:
2847
+ self._values["bun_version"] = bun_version
2604
2848
  if code_artifact_options is not None:
2605
2849
  self._values["code_artifact_options"] = code_artifact_options
2606
2850
  if deps is not None:
@@ -2625,12 +2869,16 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2625
2869
  self._values["min_node_version"] = min_node_version
2626
2870
  if npm_access is not None:
2627
2871
  self._values["npm_access"] = npm_access
2872
+ if npm_provenance is not None:
2873
+ self._values["npm_provenance"] = npm_provenance
2628
2874
  if npm_registry is not None:
2629
2875
  self._values["npm_registry"] = npm_registry
2630
2876
  if npm_registry_url is not None:
2631
2877
  self._values["npm_registry_url"] = npm_registry_url
2632
2878
  if npm_token_secret is not None:
2633
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
2634
2882
  if package_manager is not None:
2635
2883
  self._values["package_manager"] = package_manager
2636
2884
  if package_name is not None:
@@ -2653,12 +2901,16 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2653
2901
  self._values["stability"] = stability
2654
2902
  if yarn_berry_options is not None:
2655
2903
  self._values["yarn_berry_options"] = yarn_berry_options
2904
+ if bump_package is not None:
2905
+ self._values["bump_package"] = bump_package
2656
2906
  if jsii_release_version is not None:
2657
2907
  self._values["jsii_release_version"] = jsii_release_version
2658
2908
  if major_version is not None:
2659
2909
  self._values["major_version"] = major_version
2660
2910
  if min_major_version is not None:
2661
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
2662
2914
  if npm_dist_tag is not None:
2663
2915
  self._values["npm_dist_tag"] = npm_dist_tag
2664
2916
  if post_build_steps is not None:
@@ -2673,6 +2925,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2673
2925
  self._values["releasable_commits"] = releasable_commits
2674
2926
  if release_branches is not None:
2675
2927
  self._values["release_branches"] = release_branches
2928
+ if release_environment is not None:
2929
+ self._values["release_environment"] = release_environment
2676
2930
  if release_every_commit is not None:
2677
2931
  self._values["release_every_commit"] = release_every_commit
2678
2932
  if release_failure_issue is not None:
@@ -2685,6 +2939,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2685
2939
  self._values["release_tag_prefix"] = release_tag_prefix
2686
2940
  if release_trigger is not None:
2687
2941
  self._values["release_trigger"] = release_trigger
2942
+ if release_workflow_env is not None:
2943
+ self._values["release_workflow_env"] = release_workflow_env
2688
2944
  if release_workflow_name is not None:
2689
2945
  self._values["release_workflow_name"] = release_workflow_name
2690
2946
  if release_workflow_setup_steps is not None:
@@ -2699,10 +2955,20 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2699
2955
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
2700
2956
  if artifacts_directory is not None:
2701
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
2702
2962
  if auto_approve_upgrades is not None:
2703
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
2704
2968
  if build_workflow is not None:
2705
2969
  self._values["build_workflow"] = build_workflow
2970
+ if build_workflow_options is not None:
2971
+ self._values["build_workflow_options"] = build_workflow_options
2706
2972
  if build_workflow_triggers is not None:
2707
2973
  self._values["build_workflow_triggers"] = build_workflow_triggers
2708
2974
  if bundler_options is not None:
@@ -3298,6 +3564,17 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3298
3564
  result = self._values.get("bundled_deps")
3299
3565
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3300
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
+
3301
3578
  @builtins.property
3302
3579
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
3303
3580
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -3432,9 +3709,15 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3432
3709
 
3433
3710
  @builtins.property
3434
3711
  def max_node_version(self) -> typing.Optional[builtins.str]:
3435
- '''(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.
3713
+
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.
3436
3719
 
3437
- :default: - no max
3720
+ :default: - no maximum version is enforced
3438
3721
 
3439
3722
  :stability: experimental
3440
3723
  '''
@@ -3443,9 +3726,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3443
3726
 
3444
3727
  @builtins.property
3445
3728
  def min_node_version(self) -> typing.Optional[builtins.str]:
3446
- '''(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.
3447
3730
 
3448
- :default: - no "engines" specified
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``.
3740
+
3741
+ :default: - no minimum version is enforced
3449
3742
 
3450
3743
  :stability: experimental
3451
3744
  '''
@@ -3467,6 +3760,24 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3467
3760
  result = self._values.get("npm_access")
3468
3761
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
3469
3762
 
3763
+ @builtins.property
3764
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
3765
+ '''(experimental) Should provenance statements be generated when the package is published.
3766
+
3767
+ A supported package manager is required to publish a package with npm provenance statements and
3768
+ you will need to use a supported CI/CD provider.
3769
+
3770
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
3771
+ which is using npm internally and supports provenance statements independently of the package manager used.
3772
+
3773
+ :default: - true for public packages, false otherwise
3774
+
3775
+ :see: https://docs.npmjs.com/generating-provenance-statements
3776
+ :stability: experimental
3777
+ '''
3778
+ result = self._values.get("npm_provenance")
3779
+ return typing.cast(typing.Optional[builtins.bool], result)
3780
+
3470
3781
  @builtins.property
3471
3782
  def npm_registry(self) -> typing.Optional[builtins.str]:
3472
3783
  '''(deprecated) The host name of the npm registry to publish to.
@@ -3504,6 +3815,17 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3504
3815
  result = self._values.get("npm_token_secret")
3505
3816
  return typing.cast(typing.Optional[builtins.str], result)
3506
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
+
3507
3829
  @builtins.property
3508
3830
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
3509
3831
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -3567,7 +3889,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3567
3889
  def pnpm_version(self) -> typing.Optional[builtins.str]:
3568
3890
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
3569
3891
 
3570
- :default: "7"
3892
+ :default: "9"
3571
3893
 
3572
3894
  :stability: experimental
3573
3895
  '''
@@ -3644,6 +3966,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3644
3966
  result = self._values.get("yarn_berry_options")
3645
3967
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
3646
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
+
3647
3982
  @builtins.property
3648
3983
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
3649
3984
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -3685,6 +4020,36 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3685
4020
  result = self._values.get("min_major_version")
3686
4021
  return typing.cast(typing.Optional[jsii.Number], result)
3687
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
+
3688
4053
  @builtins.property
3689
4054
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
3690
4055
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -3780,6 +4145,23 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3780
4145
  result = self._values.get("release_branches")
3781
4146
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
3782
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
+
3783
4165
  @builtins.property
3784
4166
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3785
4167
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -3857,6 +4239,19 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3857
4239
  result = self._values.get("release_trigger")
3858
4240
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
3859
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
+
3860
4255
  @builtins.property
3861
4256
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
3862
4257
  '''(experimental) The name of the default release workflow.
@@ -3883,7 +4278,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3883
4278
  def versionrc_options(
3884
4279
  self,
3885
4280
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
3886
- '''(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.
3887
4282
 
3888
4283
  Given values either append to default configuration or overwrite values in it.
3889
4284
 
@@ -3952,6 +4347,32 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3952
4347
  result = self._values.get("artifacts_directory")
3953
4348
  return typing.cast(typing.Optional[builtins.str], result)
3954
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
+
3955
4376
  @builtins.property
3956
4377
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
3957
4378
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -3965,6 +4386,28 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3965
4386
  result = self._values.get("auto_approve_upgrades")
3966
4387
  return typing.cast(typing.Optional[builtins.bool], result)
3967
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
+
3968
4411
  @builtins.property
3969
4412
  def build_workflow(self) -> typing.Optional[builtins.bool]:
3970
4413
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -3976,13 +4419,24 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3976
4419
  result = self._values.get("build_workflow")
3977
4420
  return typing.cast(typing.Optional[builtins.bool], result)
3978
4421
 
4422
+ @builtins.property
4423
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
4424
+ '''(experimental) Options for PR build workflow.
4425
+
4426
+ :stability: experimental
4427
+ '''
4428
+ result = self._values.get("build_workflow_options")
4429
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
4430
+
3979
4431
  @builtins.property
3980
4432
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
3981
- '''(experimental) Build workflow triggers.
4433
+ '''(deprecated) Build workflow triggers.
3982
4434
 
3983
4435
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
3984
4436
 
3985
- :stability: experimental
4437
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
4438
+
4439
+ :stability: deprecated
3986
4440
  '''
3987
4441
  result = self._values.get("build_workflow_triggers")
3988
4442
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -4011,7 +4465,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4011
4465
 
4012
4466
  @builtins.property
4013
4467
  def code_cov(self) -> typing.Optional[builtins.bool]:
4014
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 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``.
4015
4469
 
4016
4470
  :default: false
4017
4471
 
@@ -4022,9 +4476,9 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4022
4476
 
4023
4477
  @builtins.property
4024
4478
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
4025
- '''(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.
4026
4480
 
4027
- :default: - if this option is not specified, only public repositories are supported
4481
+ :default: - OIDC auth is used
4028
4482
 
4029
4483
  :stability: experimental
4030
4484
  '''
@@ -4136,7 +4590,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4136
4590
 
4137
4591
  @builtins.property
4138
4592
  def mutable_build(self) -> typing.Optional[builtins.bool]:
4139
- '''(experimental) Automatically update files modified during builds to pull-request branches.
4593
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
4140
4594
 
4141
4595
  This means
4142
4596
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -4146,7 +4600,9 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4146
4600
 
4147
4601
  :default: true
4148
4602
 
4149
- :stability: experimental
4603
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
4604
+
4605
+ :stability: deprecated
4150
4606
  '''
4151
4607
  result = self._values.get("mutable_build")
4152
4608
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -4219,7 +4675,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4219
4675
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
4220
4676
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
4221
4677
 
4222
- :default: true
4678
+ :default: - true if not a subproject
4223
4679
 
4224
4680
  :stability: experimental
4225
4681
  '''
@@ -4335,7 +4791,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4335
4791
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
4336
4792
  '''(experimental) The git identity to use in workflows.
4337
4793
 
4338
- :default: - GitHub Actions
4794
+ :default: - default GitHub Actions user
4339
4795
 
4340
4796
  :stability: experimental
4341
4797
  '''
@@ -4344,9 +4800,11 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4344
4800
 
4345
4801
  @builtins.property
4346
4802
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
4347
- '''(experimental) The node version to use in GitHub workflows.
4803
+ '''(experimental) The node version used in GitHub Actions workflows.
4804
+
4805
+ Always use this option if your GitHub Actions workflows require a specific to run.
4348
4806
 
4349
- :default: - same as ``minNodeVersion``
4807
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
4350
4808
 
4351
4809
  :stability: experimental
4352
4810
  '''
@@ -4423,7 +4881,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4423
4881
  def eslint(self) -> typing.Optional[builtins.bool]:
4424
4882
  '''(experimental) Setup eslint.
4425
4883
 
4426
- :default: true
4884
+ :default: - true, unless biome is enabled
4427
4885
 
4428
4886
  :stability: experimental
4429
4887
  '''
@@ -4686,10 +5144,10 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4686
5144
  and should remain on the same minor, so we recommend using a ``~`` dependency
4687
5145
  (e.g. ``~5.0.0``).
4688
5146
 
4689
- :default: "1.x"
5147
+ :default: "~5.8.0"
4690
5148
 
4691
5149
  :stability: experimental
4692
- :pjnew: "~5.0.0"
5150
+ :pjnew: "~5.9.0"
4693
5151
  '''
4694
5152
  result = self._values.get("jsii_version")
4695
5153
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4774,9 +5232,13 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
4774
5232
  jsii_type="projen.cdk.JsiiPythonTarget",
4775
5233
  jsii_struct_bases=[_PyPiPublishOptions_99154bcd],
4776
5234
  name_mapping={
5235
+ "github_environment": "githubEnvironment",
4777
5236
  "post_publish_steps": "postPublishSteps",
4778
5237
  "pre_publish_steps": "prePublishSteps",
4779
5238
  "publish_tools": "publishTools",
5239
+ "attestations": "attestations",
5240
+ "code_artifact_options": "codeArtifactOptions",
5241
+ "trusted_publishing": "trustedPublishing",
4780
5242
  "twine_password_secret": "twinePasswordSecret",
4781
5243
  "twine_registry_url": "twineRegistryUrl",
4782
5244
  "twine_username_secret": "twineUsernameSecret",
@@ -4788,9 +5250,13 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4788
5250
  def __init__(
4789
5251
  self,
4790
5252
  *,
5253
+ github_environment: typing.Optional[builtins.str] = None,
4791
5254
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4792
5255
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4793
5256
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
5257
+ attestations: typing.Optional[builtins.bool] = None,
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,
4794
5260
  twine_password_secret: typing.Optional[builtins.str] = None,
4795
5261
  twine_registry_url: typing.Optional[builtins.str] = None,
4796
5262
  twine_username_secret: typing.Optional[builtins.str] = None,
@@ -4798,9 +5264,13 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4798
5264
  module: builtins.str,
4799
5265
  ) -> None:
4800
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
4801
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``.
4802
- :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``.
4803
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
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.
4804
5274
  :param twine_password_secret: (experimental) The GitHub secret which contains PyPI password. Default: "TWINE_PASSWORD"
4805
5275
  :param twine_registry_url: (experimental) The registry url to use when releasing packages. Default: - twine default
4806
5276
  :param twine_username_secret: (experimental) The GitHub secret which contains PyPI user name. Default: "TWINE_USERNAME"
@@ -4811,11 +5281,17 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4811
5281
  '''
4812
5282
  if isinstance(publish_tools, dict):
4813
5283
  publish_tools = _Tools_75b93a2a(**publish_tools)
5284
+ if isinstance(code_artifact_options, dict):
5285
+ code_artifact_options = _CodeArtifactOptions_7236977a(**code_artifact_options)
4814
5286
  if __debug__:
4815
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"])
4816
5289
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
4817
5290
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
4818
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"])
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"])
4819
5295
  check_type(argname="argument twine_password_secret", value=twine_password_secret, expected_type=type_hints["twine_password_secret"])
4820
5296
  check_type(argname="argument twine_registry_url", value=twine_registry_url, expected_type=type_hints["twine_registry_url"])
4821
5297
  check_type(argname="argument twine_username_secret", value=twine_username_secret, expected_type=type_hints["twine_username_secret"])
@@ -4825,12 +5301,20 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4825
5301
  "dist_name": dist_name,
4826
5302
  "module": module,
4827
5303
  }
5304
+ if github_environment is not None:
5305
+ self._values["github_environment"] = github_environment
4828
5306
  if post_publish_steps is not None:
4829
5307
  self._values["post_publish_steps"] = post_publish_steps
4830
5308
  if pre_publish_steps is not None:
4831
5309
  self._values["pre_publish_steps"] = pre_publish_steps
4832
5310
  if publish_tools is not None:
4833
5311
  self._values["publish_tools"] = publish_tools
5312
+ if attestations is not None:
5313
+ self._values["attestations"] = attestations
5314
+ if code_artifact_options is not None:
5315
+ self._values["code_artifact_options"] = code_artifact_options
5316
+ if trusted_publishing is not None:
5317
+ self._values["trusted_publishing"] = trusted_publishing
4834
5318
  if twine_password_secret is not None:
4835
5319
  self._values["twine_password_secret"] = twine_password_secret
4836
5320
  if twine_registry_url is not None:
@@ -4838,6 +5322,22 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4838
5322
  if twine_username_secret is not None:
4839
5323
  self._values["twine_username_secret"] = twine_username_secret
4840
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
+
4841
5341
  @builtins.property
4842
5342
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4843
5343
  '''(experimental) Steps to execute after executing the publishing command.
@@ -4854,7 +5354,7 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4854
5354
 
4855
5355
  @builtins.property
4856
5356
  def pre_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4857
- '''(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.
4858
5358
 
4859
5359
  These steps are executed after ``dist/`` has been populated with the build
4860
5360
  output.
@@ -4877,6 +5377,44 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
4877
5377
  result = self._values.get("publish_tools")
4878
5378
  return typing.cast(typing.Optional[_Tools_75b93a2a], result)
4879
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
+
5395
+ @builtins.property
5396
+ def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_7236977a]:
5397
+ '''(experimental) Options for publishing to AWS CodeArtifact.
5398
+
5399
+ :default: - undefined
5400
+
5401
+ :stability: experimental
5402
+ '''
5403
+ result = self._values.get("code_artifact_options")
5404
+ return typing.cast(typing.Optional[_CodeArtifactOptions_7236977a], result)
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
+
4880
5418
  @builtins.property
4881
5419
  def twine_password_secret(self) -> typing.Optional[builtins.str]:
4882
5420
  '''(experimental) The GitHub secret which contains PyPI password.
@@ -5010,8 +5548,13 @@ class ConstructLibrary(
5010
5548
  typescript_version: typing.Optional[builtins.str] = None,
5011
5549
  default_release_branch: builtins.str,
5012
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,
5013
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,
5014
5556
  build_workflow: typing.Optional[builtins.bool] = None,
5557
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
5015
5558
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
5016
5559
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
5017
5560
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5073,6 +5616,7 @@ class ConstructLibrary(
5073
5616
  bugs_email: typing.Optional[builtins.str] = None,
5074
5617
  bugs_url: typing.Optional[builtins.str] = None,
5075
5618
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5619
+ bun_version: typing.Optional[builtins.str] = None,
5076
5620
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
5077
5621
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5078
5622
  description: typing.Optional[builtins.str] = None,
@@ -5085,9 +5629,11 @@ class ConstructLibrary(
5085
5629
  max_node_version: typing.Optional[builtins.str] = None,
5086
5630
  min_node_version: typing.Optional[builtins.str] = None,
5087
5631
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
5632
+ npm_provenance: typing.Optional[builtins.bool] = None,
5088
5633
  npm_registry: typing.Optional[builtins.str] = None,
5089
5634
  npm_registry_url: typing.Optional[builtins.str] = None,
5090
5635
  npm_token_secret: typing.Optional[builtins.str] = None,
5636
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5091
5637
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5092
5638
  package_name: typing.Optional[builtins.str] = None,
5093
5639
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5099,9 +5645,11 @@ class ConstructLibrary(
5099
5645
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5100
5646
  stability: typing.Optional[builtins.str] = None,
5101
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,
5102
5649
  jsii_release_version: typing.Optional[builtins.str] = None,
5103
5650
  major_version: typing.Optional[jsii.Number] = None,
5104
5651
  min_major_version: typing.Optional[jsii.Number] = None,
5652
+ next_version_command: typing.Optional[builtins.str] = None,
5105
5653
  npm_dist_tag: typing.Optional[builtins.str] = None,
5106
5654
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5107
5655
  prerelease: typing.Optional[builtins.str] = None,
@@ -5109,12 +5657,14 @@ class ConstructLibrary(
5109
5657
  publish_tasks: typing.Optional[builtins.bool] = None,
5110
5658
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5111
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,
5112
5661
  release_every_commit: typing.Optional[builtins.bool] = None,
5113
5662
  release_failure_issue: typing.Optional[builtins.bool] = None,
5114
5663
  release_failure_issue_label: typing.Optional[builtins.str] = None,
5115
5664
  release_schedule: typing.Optional[builtins.str] = None,
5116
5665
  release_tag_prefix: typing.Optional[builtins.str] = None,
5117
5666
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
5667
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5118
5668
  release_workflow_name: typing.Optional[builtins.str] = None,
5119
5669
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5120
5670
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -5145,7 +5695,7 @@ class ConstructLibrary(
5145
5695
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
5146
5696
  :param dotnet:
5147
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.
5148
- :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"
5149
5699
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
5150
5700
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
5151
5701
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -5157,7 +5707,7 @@ class ConstructLibrary(
5157
5707
  :param docgen: (experimental) Docgen by Typedoc. Default: false
5158
5708
  :param docs_directory: (experimental) Docs directory. Default: "docs"
5159
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)
5160
- :param eslint: (experimental) Setup eslint. Default: true
5710
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
5161
5711
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
5162
5712
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
5163
5713
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -5172,13 +5722,18 @@ class ConstructLibrary(
5172
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"
5173
5723
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
5174
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
5175
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
5176
5730
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
5177
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
5731
+ :param build_workflow_options: (experimental) Options for PR build workflow.
5732
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
5178
5733
  :param bundler_options: (experimental) Options for ``Bundler``.
5179
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
5180
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
5181
- :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
5182
5737
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
5183
5738
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
5184
5739
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -5188,14 +5743,14 @@ class ConstructLibrary(
5188
5743
  :param gitignore: (experimental) Additional entries to .gitignore.
5189
5744
  :param jest: (experimental) Setup jest unit tests. Default: true
5190
5745
  :param jest_options: (experimental) Jest options. Default: - default options
5191
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
5746
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
5192
5747
  :param npmignore: (deprecated) Additional entries to .npmignore.
5193
5748
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
5194
5749
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
5195
5750
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
5196
5751
  :param prettier: (experimental) Setup prettier. Default: false
5197
5752
  :param prettier_options: (experimental) Prettier options. Default: - default options
5198
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
5753
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
5199
5754
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
5200
5755
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
5201
5756
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -5205,8 +5760,8 @@ class ConstructLibrary(
5205
5760
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
5206
5761
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
5207
5762
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
5208
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
5209
- :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/*``.
5210
5765
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
5211
5766
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
5212
5767
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -5235,6 +5790,7 @@ class ConstructLibrary(
5235
5790
  :param bugs_email: (experimental) The email address to which issues should be reported.
5236
5791
  :param bugs_url: (experimental) The url to your project's issue tracker.
5237
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"
5238
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
5239
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: []
5240
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
@@ -5244,26 +5800,30 @@ class ConstructLibrary(
5244
5800
  :param keywords: (experimental) Keywords to include in ``package.json``.
5245
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"
5246
5802
  :param licensed: (experimental) Indicates if a license should be added. Default: true
5247
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
5248
- :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
5249
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``.
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
5250
5807
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5251
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"
5252
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
5253
5811
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5254
5812
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5255
5813
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
5256
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: []
5257
- :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"
5258
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
5259
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.
5260
5818
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
5261
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: {}
5262
5820
  :param stability: (experimental) Package's Stability.
5263
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"
5264
5823
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
5265
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.
5266
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.
5267
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"
5268
5828
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
5269
5829
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -5271,15 +5831,17 @@ class ConstructLibrary(
5271
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
5272
5832
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5273
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
5274
5835
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5275
5836
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5276
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"
5277
5838
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
5278
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"
5279
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: {}
5280
5842
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
5281
5843
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
5282
- :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
5283
5845
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
5284
5846
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
5285
5847
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -5336,8 +5898,13 @@ class ConstructLibrary(
5336
5898
  typescript_version=typescript_version,
5337
5899
  default_release_branch=default_release_branch,
5338
5900
  artifacts_directory=artifacts_directory,
5901
+ audit_deps=audit_deps,
5902
+ audit_deps_options=audit_deps_options,
5339
5903
  auto_approve_upgrades=auto_approve_upgrades,
5904
+ biome=biome,
5905
+ biome_options=biome_options,
5340
5906
  build_workflow=build_workflow,
5907
+ build_workflow_options=build_workflow_options,
5341
5908
  build_workflow_triggers=build_workflow_triggers,
5342
5909
  bundler_options=bundler_options,
5343
5910
  check_licenses=check_licenses,
@@ -5399,6 +5966,7 @@ class ConstructLibrary(
5399
5966
  bugs_email=bugs_email,
5400
5967
  bugs_url=bugs_url,
5401
5968
  bundled_deps=bundled_deps,
5969
+ bun_version=bun_version,
5402
5970
  code_artifact_options=code_artifact_options,
5403
5971
  deps=deps,
5404
5972
  description=description,
@@ -5411,9 +5979,11 @@ class ConstructLibrary(
5411
5979
  max_node_version=max_node_version,
5412
5980
  min_node_version=min_node_version,
5413
5981
  npm_access=npm_access,
5982
+ npm_provenance=npm_provenance,
5414
5983
  npm_registry=npm_registry,
5415
5984
  npm_registry_url=npm_registry_url,
5416
5985
  npm_token_secret=npm_token_secret,
5986
+ npm_trusted_publishing=npm_trusted_publishing,
5417
5987
  package_manager=package_manager,
5418
5988
  package_name=package_name,
5419
5989
  peer_dependency_options=peer_dependency_options,
@@ -5425,9 +5995,11 @@ class ConstructLibrary(
5425
5995
  scripts=scripts,
5426
5996
  stability=stability,
5427
5997
  yarn_berry_options=yarn_berry_options,
5998
+ bump_package=bump_package,
5428
5999
  jsii_release_version=jsii_release_version,
5429
6000
  major_version=major_version,
5430
6001
  min_major_version=min_major_version,
6002
+ next_version_command=next_version_command,
5431
6003
  npm_dist_tag=npm_dist_tag,
5432
6004
  post_build_steps=post_build_steps,
5433
6005
  prerelease=prerelease,
@@ -5435,12 +6007,14 @@ class ConstructLibrary(
5435
6007
  publish_tasks=publish_tasks,
5436
6008
  releasable_commits=releasable_commits,
5437
6009
  release_branches=release_branches,
6010
+ release_environment=release_environment,
5438
6011
  release_every_commit=release_every_commit,
5439
6012
  release_failure_issue=release_failure_issue,
5440
6013
  release_failure_issue_label=release_failure_issue_label,
5441
6014
  release_schedule=release_schedule,
5442
6015
  release_tag_prefix=release_tag_prefix,
5443
6016
  release_trigger=release_trigger,
6017
+ release_workflow_env=release_workflow_env,
5444
6018
  release_workflow_name=release_workflow_name,
5445
6019
  release_workflow_setup_steps=release_workflow_setup_steps,
5446
6020
  versionrc_options=versionrc_options,
@@ -5514,6 +6088,7 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5514
6088
  "bugs_email": "bugsEmail",
5515
6089
  "bugs_url": "bugsUrl",
5516
6090
  "bundled_deps": "bundledDeps",
6091
+ "bun_version": "bunVersion",
5517
6092
  "code_artifact_options": "codeArtifactOptions",
5518
6093
  "deps": "deps",
5519
6094
  "description": "description",
@@ -5526,9 +6101,11 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5526
6101
  "max_node_version": "maxNodeVersion",
5527
6102
  "min_node_version": "minNodeVersion",
5528
6103
  "npm_access": "npmAccess",
6104
+ "npm_provenance": "npmProvenance",
5529
6105
  "npm_registry": "npmRegistry",
5530
6106
  "npm_registry_url": "npmRegistryUrl",
5531
6107
  "npm_token_secret": "npmTokenSecret",
6108
+ "npm_trusted_publishing": "npmTrustedPublishing",
5532
6109
  "package_manager": "packageManager",
5533
6110
  "package_name": "packageName",
5534
6111
  "peer_dependency_options": "peerDependencyOptions",
@@ -5540,9 +6117,11 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5540
6117
  "scripts": "scripts",
5541
6118
  "stability": "stability",
5542
6119
  "yarn_berry_options": "yarnBerryOptions",
6120
+ "bump_package": "bumpPackage",
5543
6121
  "jsii_release_version": "jsiiReleaseVersion",
5544
6122
  "major_version": "majorVersion",
5545
6123
  "min_major_version": "minMajorVersion",
6124
+ "next_version_command": "nextVersionCommand",
5546
6125
  "npm_dist_tag": "npmDistTag",
5547
6126
  "post_build_steps": "postBuildSteps",
5548
6127
  "prerelease": "prerelease",
@@ -5550,12 +6129,14 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5550
6129
  "publish_tasks": "publishTasks",
5551
6130
  "releasable_commits": "releasableCommits",
5552
6131
  "release_branches": "releaseBranches",
6132
+ "release_environment": "releaseEnvironment",
5553
6133
  "release_every_commit": "releaseEveryCommit",
5554
6134
  "release_failure_issue": "releaseFailureIssue",
5555
6135
  "release_failure_issue_label": "releaseFailureIssueLabel",
5556
6136
  "release_schedule": "releaseSchedule",
5557
6137
  "release_tag_prefix": "releaseTagPrefix",
5558
6138
  "release_trigger": "releaseTrigger",
6139
+ "release_workflow_env": "releaseWorkflowEnv",
5559
6140
  "release_workflow_name": "releaseWorkflowName",
5560
6141
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
5561
6142
  "versionrc_options": "versionrcOptions",
@@ -5564,8 +6145,13 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5564
6145
  "workflow_runs_on_group": "workflowRunsOnGroup",
5565
6146
  "default_release_branch": "defaultReleaseBranch",
5566
6147
  "artifacts_directory": "artifactsDirectory",
6148
+ "audit_deps": "auditDeps",
6149
+ "audit_deps_options": "auditDepsOptions",
5567
6150
  "auto_approve_upgrades": "autoApproveUpgrades",
6151
+ "biome": "biome",
6152
+ "biome_options": "biomeOptions",
5568
6153
  "build_workflow": "buildWorkflow",
6154
+ "build_workflow_options": "buildWorkflowOptions",
5569
6155
  "build_workflow_triggers": "buildWorkflowTriggers",
5570
6156
  "bundler_options": "bundlerOptions",
5571
6157
  "check_licenses": "checkLicenses",
@@ -5680,6 +6266,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5680
6266
  bugs_email: typing.Optional[builtins.str] = None,
5681
6267
  bugs_url: typing.Optional[builtins.str] = None,
5682
6268
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
6269
+ bun_version: typing.Optional[builtins.str] = None,
5683
6270
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
5684
6271
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
5685
6272
  description: typing.Optional[builtins.str] = None,
@@ -5692,9 +6279,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5692
6279
  max_node_version: typing.Optional[builtins.str] = None,
5693
6280
  min_node_version: typing.Optional[builtins.str] = None,
5694
6281
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
6282
+ npm_provenance: typing.Optional[builtins.bool] = None,
5695
6283
  npm_registry: typing.Optional[builtins.str] = None,
5696
6284
  npm_registry_url: typing.Optional[builtins.str] = None,
5697
6285
  npm_token_secret: typing.Optional[builtins.str] = None,
6286
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
5698
6287
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
5699
6288
  package_name: typing.Optional[builtins.str] = None,
5700
6289
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5706,9 +6295,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5706
6295
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5707
6296
  stability: typing.Optional[builtins.str] = None,
5708
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,
5709
6299
  jsii_release_version: typing.Optional[builtins.str] = None,
5710
6300
  major_version: typing.Optional[jsii.Number] = None,
5711
6301
  min_major_version: typing.Optional[jsii.Number] = None,
6302
+ next_version_command: typing.Optional[builtins.str] = None,
5712
6303
  npm_dist_tag: typing.Optional[builtins.str] = None,
5713
6304
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5714
6305
  prerelease: typing.Optional[builtins.str] = None,
@@ -5716,12 +6307,14 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5716
6307
  publish_tasks: typing.Optional[builtins.bool] = None,
5717
6308
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5718
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,
5719
6311
  release_every_commit: typing.Optional[builtins.bool] = None,
5720
6312
  release_failure_issue: typing.Optional[builtins.bool] = None,
5721
6313
  release_failure_issue_label: typing.Optional[builtins.str] = None,
5722
6314
  release_schedule: typing.Optional[builtins.str] = None,
5723
6315
  release_tag_prefix: typing.Optional[builtins.str] = None,
5724
6316
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
6317
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5725
6318
  release_workflow_name: typing.Optional[builtins.str] = None,
5726
6319
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5727
6320
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -5730,8 +6323,13 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5730
6323
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
5731
6324
  default_release_branch: builtins.str,
5732
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,
5733
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,
5734
6331
  build_workflow: typing.Optional[builtins.bool] = None,
6332
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
5735
6333
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
5736
6334
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
5737
6335
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5842,6 +6440,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5842
6440
  :param bugs_email: (experimental) The email address to which issues should be reported.
5843
6441
  :param bugs_url: (experimental) The url to your project's issue tracker.
5844
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"
5845
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
5846
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: []
5847
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
@@ -5851,26 +6450,30 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5851
6450
  :param keywords: (experimental) Keywords to include in ``package.json``.
5852
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"
5853
6452
  :param licensed: (experimental) Indicates if a license should be added. Default: true
5854
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
5855
- :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
5856
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``.
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
5857
6457
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
5858
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"
5859
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
5860
6461
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
5861
6462
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
5862
6463
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
5863
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: []
5864
- :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"
5865
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
5866
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.
5867
6468
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
5868
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: {}
5869
6470
  :param stability: (experimental) Package's Stability.
5870
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"
5871
6473
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
5872
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.
5873
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.
5874
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"
5875
6478
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
5876
6479
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -5878,27 +6481,34 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5878
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
5879
6482
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5880
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
5881
6485
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5882
6486
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5883
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"
5884
6488
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
5885
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"
5886
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: {}
5887
6492
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
5888
6493
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
5889
- :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
5890
6495
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
5891
6496
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
5892
6497
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
5893
6498
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
5894
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
5895
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
5896
6505
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
5897
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
6506
+ :param build_workflow_options: (experimental) Options for PR build workflow.
6507
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
5898
6508
  :param bundler_options: (experimental) Options for ``Bundler``.
5899
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
5900
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
5901
- :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
5902
6512
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
5903
6513
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
5904
6514
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -5908,14 +6518,14 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5908
6518
  :param gitignore: (experimental) Additional entries to .gitignore.
5909
6519
  :param jest: (experimental) Setup jest unit tests. Default: true
5910
6520
  :param jest_options: (experimental) Jest options. Default: - default options
5911
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
6521
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
5912
6522
  :param npmignore: (deprecated) Additional entries to .npmignore.
5913
6523
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
5914
6524
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
5915
6525
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
5916
6526
  :param prettier: (experimental) Setup prettier. Default: false
5917
6527
  :param prettier_options: (experimental) Prettier options. Default: - default options
5918
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
6528
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
5919
6529
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
5920
6530
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
5921
6531
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -5925,15 +6535,15 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5925
6535
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
5926
6536
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
5927
6537
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
5928
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
5929
- :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/*``.
5930
6540
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
5931
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
5932
6542
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
5933
6543
  :param docgen: (experimental) Docgen by Typedoc. Default: false
5934
6544
  :param docs_directory: (experimental) Docs directory. Default: "docs"
5935
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)
5936
- :param eslint: (experimental) Setup eslint. Default: true
6546
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
5937
6547
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
5938
6548
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
5939
6549
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -5955,7 +6565,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5955
6565
  :param docgen_file_path: (experimental) File path for generated docs. Default: "API.md"
5956
6566
  :param dotnet:
5957
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.
5958
- :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"
5959
6569
  :param publish_to_go: (experimental) Publish Go bindings to a git repository. Default: - no publishing
5960
6570
  :param publish_to_maven: (experimental) Publish to maven. Default: - no publishing
5961
6571
  :param publish_to_nuget: (experimental) Publish to NuGet. Default: - no publishing
@@ -5996,6 +6606,12 @@ class ConstructLibraryOptions(JsiiProjectOptions):
5996
6606
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
5997
6607
  if isinstance(workflow_runs_on_group, dict):
5998
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)
6613
+ if isinstance(build_workflow_options, dict):
6614
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
5999
6615
  if isinstance(build_workflow_triggers, dict):
6000
6616
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
6001
6617
  if isinstance(bundler_options, dict):
@@ -6081,6 +6697,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6081
6697
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
6082
6698
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
6083
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"])
6084
6701
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
6085
6702
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
6086
6703
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -6093,9 +6710,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6093
6710
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
6094
6711
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
6095
6712
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
6713
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
6096
6714
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
6097
6715
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
6098
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"])
6099
6718
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
6100
6719
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
6101
6720
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -6107,9 +6726,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6107
6726
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
6108
6727
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
6109
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"])
6110
6730
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
6111
6731
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
6112
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"])
6113
6734
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
6114
6735
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
6115
6736
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -6117,12 +6738,14 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6117
6738
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
6118
6739
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
6119
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"])
6120
6742
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
6121
6743
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
6122
6744
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
6123
6745
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
6124
6746
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
6125
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"])
6126
6749
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
6127
6750
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
6128
6751
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -6131,8 +6754,13 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6131
6754
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
6132
6755
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
6133
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"])
6134
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"])
6135
6762
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
6763
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
6136
6764
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
6137
6765
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
6138
6766
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -6285,6 +6913,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6285
6913
  self._values["bugs_url"] = bugs_url
6286
6914
  if bundled_deps is not None:
6287
6915
  self._values["bundled_deps"] = bundled_deps
6916
+ if bun_version is not None:
6917
+ self._values["bun_version"] = bun_version
6288
6918
  if code_artifact_options is not None:
6289
6919
  self._values["code_artifact_options"] = code_artifact_options
6290
6920
  if deps is not None:
@@ -6309,12 +6939,16 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6309
6939
  self._values["min_node_version"] = min_node_version
6310
6940
  if npm_access is not None:
6311
6941
  self._values["npm_access"] = npm_access
6942
+ if npm_provenance is not None:
6943
+ self._values["npm_provenance"] = npm_provenance
6312
6944
  if npm_registry is not None:
6313
6945
  self._values["npm_registry"] = npm_registry
6314
6946
  if npm_registry_url is not None:
6315
6947
  self._values["npm_registry_url"] = npm_registry_url
6316
6948
  if npm_token_secret is not None:
6317
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
6318
6952
  if package_manager is not None:
6319
6953
  self._values["package_manager"] = package_manager
6320
6954
  if package_name is not None:
@@ -6337,12 +6971,16 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6337
6971
  self._values["stability"] = stability
6338
6972
  if yarn_berry_options is not None:
6339
6973
  self._values["yarn_berry_options"] = yarn_berry_options
6974
+ if bump_package is not None:
6975
+ self._values["bump_package"] = bump_package
6340
6976
  if jsii_release_version is not None:
6341
6977
  self._values["jsii_release_version"] = jsii_release_version
6342
6978
  if major_version is not None:
6343
6979
  self._values["major_version"] = major_version
6344
6980
  if min_major_version is not None:
6345
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
6346
6984
  if npm_dist_tag is not None:
6347
6985
  self._values["npm_dist_tag"] = npm_dist_tag
6348
6986
  if post_build_steps is not None:
@@ -6357,6 +6995,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6357
6995
  self._values["releasable_commits"] = releasable_commits
6358
6996
  if release_branches is not None:
6359
6997
  self._values["release_branches"] = release_branches
6998
+ if release_environment is not None:
6999
+ self._values["release_environment"] = release_environment
6360
7000
  if release_every_commit is not None:
6361
7001
  self._values["release_every_commit"] = release_every_commit
6362
7002
  if release_failure_issue is not None:
@@ -6369,6 +7009,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6369
7009
  self._values["release_tag_prefix"] = release_tag_prefix
6370
7010
  if release_trigger is not None:
6371
7011
  self._values["release_trigger"] = release_trigger
7012
+ if release_workflow_env is not None:
7013
+ self._values["release_workflow_env"] = release_workflow_env
6372
7014
  if release_workflow_name is not None:
6373
7015
  self._values["release_workflow_name"] = release_workflow_name
6374
7016
  if release_workflow_setup_steps is not None:
@@ -6383,10 +7025,20 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6383
7025
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
6384
7026
  if artifacts_directory is not None:
6385
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
6386
7032
  if auto_approve_upgrades is not None:
6387
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
6388
7038
  if build_workflow is not None:
6389
7039
  self._values["build_workflow"] = build_workflow
7040
+ if build_workflow_options is not None:
7041
+ self._values["build_workflow_options"] = build_workflow_options
6390
7042
  if build_workflow_triggers is not None:
6391
7043
  self._values["build_workflow_triggers"] = build_workflow_triggers
6392
7044
  if bundler_options is not None:
@@ -6984,6 +7636,17 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6984
7636
  result = self._values.get("bundled_deps")
6985
7637
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6986
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
+
6987
7650
  @builtins.property
6988
7651
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
6989
7652
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -7118,9 +7781,15 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7118
7781
 
7119
7782
  @builtins.property
7120
7783
  def max_node_version(self) -> typing.Optional[builtins.str]:
7121
- '''(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.
7122
7788
 
7123
- :default: - no max
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.
7791
+
7792
+ :default: - no maximum version is enforced
7124
7793
 
7125
7794
  :stability: experimental
7126
7795
  '''
@@ -7129,9 +7798,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7129
7798
 
7130
7799
  @builtins.property
7131
7800
  def min_node_version(self) -> typing.Optional[builtins.str]:
7132
- '''(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.
7802
+
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.
7133
7810
 
7134
- :default: - no "engines" specified
7811
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
7812
+
7813
+ :default: - no minimum version is enforced
7135
7814
 
7136
7815
  :stability: experimental
7137
7816
  '''
@@ -7153,6 +7832,24 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7153
7832
  result = self._values.get("npm_access")
7154
7833
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
7155
7834
 
7835
+ @builtins.property
7836
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
7837
+ '''(experimental) Should provenance statements be generated when the package is published.
7838
+
7839
+ A supported package manager is required to publish a package with npm provenance statements and
7840
+ you will need to use a supported CI/CD provider.
7841
+
7842
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
7843
+ which is using npm internally and supports provenance statements independently of the package manager used.
7844
+
7845
+ :default: - true for public packages, false otherwise
7846
+
7847
+ :see: https://docs.npmjs.com/generating-provenance-statements
7848
+ :stability: experimental
7849
+ '''
7850
+ result = self._values.get("npm_provenance")
7851
+ return typing.cast(typing.Optional[builtins.bool], result)
7852
+
7156
7853
  @builtins.property
7157
7854
  def npm_registry(self) -> typing.Optional[builtins.str]:
7158
7855
  '''(deprecated) The host name of the npm registry to publish to.
@@ -7190,6 +7887,17 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7190
7887
  result = self._values.get("npm_token_secret")
7191
7888
  return typing.cast(typing.Optional[builtins.str], result)
7192
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
+
7193
7901
  @builtins.property
7194
7902
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
7195
7903
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -7253,7 +7961,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7253
7961
  def pnpm_version(self) -> typing.Optional[builtins.str]:
7254
7962
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
7255
7963
 
7256
- :default: "7"
7964
+ :default: "9"
7257
7965
 
7258
7966
  :stability: experimental
7259
7967
  '''
@@ -7330,6 +8038,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7330
8038
  result = self._values.get("yarn_berry_options")
7331
8039
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
7332
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
+
7333
8054
  @builtins.property
7334
8055
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
7335
8056
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -7371,6 +8092,36 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7371
8092
  result = self._values.get("min_major_version")
7372
8093
  return typing.cast(typing.Optional[jsii.Number], result)
7373
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
+
7374
8125
  @builtins.property
7375
8126
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
7376
8127
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -7466,6 +8217,23 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7466
8217
  result = self._values.get("release_branches")
7467
8218
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
7468
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
+
7469
8237
  @builtins.property
7470
8238
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
7471
8239
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -7543,6 +8311,19 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7543
8311
  result = self._values.get("release_trigger")
7544
8312
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
7545
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
+
7546
8327
  @builtins.property
7547
8328
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
7548
8329
  '''(experimental) The name of the default release workflow.
@@ -7569,7 +8350,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7569
8350
  def versionrc_options(
7570
8351
  self,
7571
8352
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
7572
- '''(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.
7573
8354
 
7574
8355
  Given values either append to default configuration or overwrite values in it.
7575
8356
 
@@ -7638,6 +8419,32 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7638
8419
  result = self._values.get("artifacts_directory")
7639
8420
  return typing.cast(typing.Optional[builtins.str], result)
7640
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
+
7641
8448
  @builtins.property
7642
8449
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
7643
8450
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -7651,6 +8458,28 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7651
8458
  result = self._values.get("auto_approve_upgrades")
7652
8459
  return typing.cast(typing.Optional[builtins.bool], result)
7653
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
+
7654
8483
  @builtins.property
7655
8484
  def build_workflow(self) -> typing.Optional[builtins.bool]:
7656
8485
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -7662,13 +8491,24 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7662
8491
  result = self._values.get("build_workflow")
7663
8492
  return typing.cast(typing.Optional[builtins.bool], result)
7664
8493
 
8494
+ @builtins.property
8495
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
8496
+ '''(experimental) Options for PR build workflow.
8497
+
8498
+ :stability: experimental
8499
+ '''
8500
+ result = self._values.get("build_workflow_options")
8501
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
8502
+
7665
8503
  @builtins.property
7666
8504
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
7667
- '''(experimental) Build workflow triggers.
8505
+ '''(deprecated) Build workflow triggers.
7668
8506
 
7669
8507
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
7670
8508
 
7671
- :stability: experimental
8509
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
8510
+
8511
+ :stability: deprecated
7672
8512
  '''
7673
8513
  result = self._values.get("build_workflow_triggers")
7674
8514
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -7697,7 +8537,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7697
8537
 
7698
8538
  @builtins.property
7699
8539
  def code_cov(self) -> typing.Optional[builtins.bool]:
7700
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 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``.
7701
8541
 
7702
8542
  :default: false
7703
8543
 
@@ -7708,9 +8548,9 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7708
8548
 
7709
8549
  @builtins.property
7710
8550
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
7711
- '''(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.
7712
8552
 
7713
- :default: - if this option is not specified, only public repositories are supported
8553
+ :default: - OIDC auth is used
7714
8554
 
7715
8555
  :stability: experimental
7716
8556
  '''
@@ -7822,7 +8662,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7822
8662
 
7823
8663
  @builtins.property
7824
8664
  def mutable_build(self) -> typing.Optional[builtins.bool]:
7825
- '''(experimental) Automatically update files modified during builds to pull-request branches.
8665
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
7826
8666
 
7827
8667
  This means
7828
8668
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -7832,7 +8672,9 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7832
8672
 
7833
8673
  :default: true
7834
8674
 
7835
- :stability: experimental
8675
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
8676
+
8677
+ :stability: deprecated
7836
8678
  '''
7837
8679
  result = self._values.get("mutable_build")
7838
8680
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -7905,7 +8747,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7905
8747
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
7906
8748
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
7907
8749
 
7908
- :default: true
8750
+ :default: - true if not a subproject
7909
8751
 
7910
8752
  :stability: experimental
7911
8753
  '''
@@ -8021,7 +8863,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8021
8863
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
8022
8864
  '''(experimental) The git identity to use in workflows.
8023
8865
 
8024
- :default: - GitHub Actions
8866
+ :default: - default GitHub Actions user
8025
8867
 
8026
8868
  :stability: experimental
8027
8869
  '''
@@ -8030,9 +8872,11 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8030
8872
 
8031
8873
  @builtins.property
8032
8874
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
8033
- '''(experimental) The node version to use in GitHub workflows.
8875
+ '''(experimental) The node version used in GitHub Actions workflows.
8034
8876
 
8035
- :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/*``.
8036
8880
 
8037
8881
  :stability: experimental
8038
8882
  '''
@@ -8109,7 +8953,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8109
8953
  def eslint(self) -> typing.Optional[builtins.bool]:
8110
8954
  '''(experimental) Setup eslint.
8111
8955
 
8112
- :default: true
8956
+ :default: - true, unless biome is enabled
8113
8957
 
8114
8958
  :stability: experimental
8115
8959
  '''
@@ -8372,10 +9216,10 @@ class ConstructLibraryOptions(JsiiProjectOptions):
8372
9216
  and should remain on the same minor, so we recommend using a ``~`` dependency
8373
9217
  (e.g. ``~5.0.0``).
8374
9218
 
8375
- :default: "1.x"
9219
+ :default: "~5.8.0"
8376
9220
 
8377
9221
  :stability: experimental
8378
- :pjnew: "~5.0.0"
9222
+ :pjnew: "~5.9.0"
8379
9223
  '''
8380
9224
  result = self._values.get("jsii_version")
8381
9225
  return typing.cast(typing.Optional[builtins.str], result)
@@ -8560,9 +9404,10 @@ def _typecheckingstub__7dcdca80859bf80cb9fb647de7e6170902c312a88763e116e53ea6ea8
8560
9404
  pass
8561
9405
 
8562
9406
  def _typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8d3a035a(
8563
- project: JsiiProject,
9407
+ scope: _constructs_77d1e7e8.IConstruct,
8564
9408
  *,
8565
9409
  file_path: typing.Optional[builtins.str] = None,
9410
+ version: typing.Optional[builtins.str] = None,
8566
9411
  ) -> None:
8567
9412
  """Type checking stubs"""
8568
9413
  pass
@@ -8570,17 +9415,21 @@ def _typecheckingstub__f43e86fe0c2ba3f9132dc6d6f6592f6259d782833b3aee12cbd3d41e8
8570
9415
  def _typecheckingstub__2f3fb088da3cc3de21fe4de98d7c818b3cbd2a2139fba0682367f39bd3af95be(
8571
9416
  *,
8572
9417
  file_path: typing.Optional[builtins.str] = None,
9418
+ version: typing.Optional[builtins.str] = None,
8573
9419
  ) -> None:
8574
9420
  """Type checking stubs"""
8575
9421
  pass
8576
9422
 
8577
9423
  def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005bb5ec7b5(
8578
9424
  *,
9425
+ github_environment: typing.Optional[builtins.str] = None,
8579
9426
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8580
9427
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8581
9428
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
8582
9429
  nuget_api_key_secret: typing.Optional[builtins.str] = None,
8583
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,
8584
9433
  dot_net_namespace: builtins.str,
8585
9434
  package_id: builtins.str,
8586
9435
  icon_url: typing.Optional[builtins.str] = None,
@@ -8590,25 +9439,27 @@ def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005b
8590
9439
 
8591
9440
  def _typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119354df9a(
8592
9441
  *,
9442
+ github_environment: typing.Optional[builtins.str] = None,
8593
9443
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8594
9444
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8595
9445
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
8596
9446
  git_branch: typing.Optional[builtins.str] = None,
8597
9447
  git_commit_message: typing.Optional[builtins.str] = None,
8598
9448
  github_deploy_key_secret: typing.Optional[builtins.str] = None,
8599
- github_repo: typing.Optional[builtins.str] = None,
8600
9449
  github_token_secret: typing.Optional[builtins.str] = None,
8601
9450
  github_use_ssh: typing.Optional[builtins.bool] = None,
8602
9451
  git_user_email: typing.Optional[builtins.str] = None,
8603
9452
  git_user_name: typing.Optional[builtins.str] = None,
8604
9453
  module_name: builtins.str,
8605
9454
  package_name: typing.Optional[builtins.str] = None,
9455
+ version_suffix: typing.Optional[builtins.str] = None,
8606
9456
  ) -> None:
8607
9457
  """Type checking stubs"""
8608
9458
  pass
8609
9459
 
8610
9460
  def _typecheckingstub__365483a000ed61cc1587d7ada435961b86f33fb0718cd001430497c2290e0820(
8611
9461
  *,
9462
+ github_environment: typing.Optional[builtins.str] = None,
8612
9463
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8613
9464
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8614
9465
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8668,6 +9519,7 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8668
9519
  bugs_email: typing.Optional[builtins.str] = None,
8669
9520
  bugs_url: typing.Optional[builtins.str] = None,
8670
9521
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
9522
+ bun_version: typing.Optional[builtins.str] = None,
8671
9523
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
8672
9524
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8673
9525
  description: typing.Optional[builtins.str] = None,
@@ -8680,9 +9532,11 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8680
9532
  max_node_version: typing.Optional[builtins.str] = None,
8681
9533
  min_node_version: typing.Optional[builtins.str] = None,
8682
9534
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
9535
+ npm_provenance: typing.Optional[builtins.bool] = None,
8683
9536
  npm_registry: typing.Optional[builtins.str] = None,
8684
9537
  npm_registry_url: typing.Optional[builtins.str] = None,
8685
9538
  npm_token_secret: typing.Optional[builtins.str] = None,
9539
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8686
9540
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8687
9541
  package_name: typing.Optional[builtins.str] = None,
8688
9542
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8694,9 +9548,11 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8694
9548
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8695
9549
  stability: typing.Optional[builtins.str] = None,
8696
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,
8697
9552
  jsii_release_version: typing.Optional[builtins.str] = None,
8698
9553
  major_version: typing.Optional[jsii.Number] = None,
8699
9554
  min_major_version: typing.Optional[jsii.Number] = None,
9555
+ next_version_command: typing.Optional[builtins.str] = None,
8700
9556
  npm_dist_tag: typing.Optional[builtins.str] = None,
8701
9557
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8702
9558
  prerelease: typing.Optional[builtins.str] = None,
@@ -8704,12 +9560,14 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8704
9560
  publish_tasks: typing.Optional[builtins.bool] = None,
8705
9561
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8706
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,
8707
9564
  release_every_commit: typing.Optional[builtins.bool] = None,
8708
9565
  release_failure_issue: typing.Optional[builtins.bool] = None,
8709
9566
  release_failure_issue_label: typing.Optional[builtins.str] = None,
8710
9567
  release_schedule: typing.Optional[builtins.str] = None,
8711
9568
  release_tag_prefix: typing.Optional[builtins.str] = None,
8712
9569
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
9570
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8713
9571
  release_workflow_name: typing.Optional[builtins.str] = None,
8714
9572
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8715
9573
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -8718,8 +9576,13 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8718
9576
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
8719
9577
  default_release_branch: builtins.str,
8720
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,
8721
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,
8722
9584
  build_workflow: typing.Optional[builtins.bool] = None,
9585
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
8723
9586
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
8724
9587
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
8725
9588
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8794,9 +9657,13 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
8794
9657
 
8795
9658
  def _typecheckingstub__b9ccf41e184eae5eabcd38be0ea0cb88c9d6eb3d4f60d6bb85e4a73763bfb94a(
8796
9659
  *,
9660
+ github_environment: typing.Optional[builtins.str] = None,
8797
9661
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8798
9662
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8799
9663
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
9664
+ attestations: typing.Optional[builtins.bool] = None,
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,
8800
9667
  twine_password_secret: typing.Optional[builtins.str] = None,
8801
9668
  twine_registry_url: typing.Optional[builtins.str] = None,
8802
9669
  twine_username_secret: typing.Optional[builtins.str] = None,
@@ -8847,6 +9714,7 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8847
9714
  bugs_email: typing.Optional[builtins.str] = None,
8848
9715
  bugs_url: typing.Optional[builtins.str] = None,
8849
9716
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
9717
+ bun_version: typing.Optional[builtins.str] = None,
8850
9718
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
8851
9719
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8852
9720
  description: typing.Optional[builtins.str] = None,
@@ -8859,9 +9727,11 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8859
9727
  max_node_version: typing.Optional[builtins.str] = None,
8860
9728
  min_node_version: typing.Optional[builtins.str] = None,
8861
9729
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
9730
+ npm_provenance: typing.Optional[builtins.bool] = None,
8862
9731
  npm_registry: typing.Optional[builtins.str] = None,
8863
9732
  npm_registry_url: typing.Optional[builtins.str] = None,
8864
9733
  npm_token_secret: typing.Optional[builtins.str] = None,
9734
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
8865
9735
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
8866
9736
  package_name: typing.Optional[builtins.str] = None,
8867
9737
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8873,9 +9743,11 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8873
9743
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8874
9744
  stability: typing.Optional[builtins.str] = None,
8875
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,
8876
9747
  jsii_release_version: typing.Optional[builtins.str] = None,
8877
9748
  major_version: typing.Optional[jsii.Number] = None,
8878
9749
  min_major_version: typing.Optional[jsii.Number] = None,
9750
+ next_version_command: typing.Optional[builtins.str] = None,
8879
9751
  npm_dist_tag: typing.Optional[builtins.str] = None,
8880
9752
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8881
9753
  prerelease: typing.Optional[builtins.str] = None,
@@ -8883,12 +9755,14 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8883
9755
  publish_tasks: typing.Optional[builtins.bool] = None,
8884
9756
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
8885
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,
8886
9759
  release_every_commit: typing.Optional[builtins.bool] = None,
8887
9760
  release_failure_issue: typing.Optional[builtins.bool] = None,
8888
9761
  release_failure_issue_label: typing.Optional[builtins.str] = None,
8889
9762
  release_schedule: typing.Optional[builtins.str] = None,
8890
9763
  release_tag_prefix: typing.Optional[builtins.str] = None,
8891
9764
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
9765
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8892
9766
  release_workflow_name: typing.Optional[builtins.str] = None,
8893
9767
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
8894
9768
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -8897,8 +9771,13 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
8897
9771
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
8898
9772
  default_release_branch: builtins.str,
8899
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,
8900
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,
8901
9779
  build_workflow: typing.Optional[builtins.bool] = None,
9780
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
8902
9781
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
8903
9782
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
8904
9783
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,