projen 0.81.17__py3-none-any.whl → 0.98.25__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
projen/web/__init__.py CHANGED
@@ -11,7 +11,22 @@ import jsii
11
11
  import publication
12
12
  import typing_extensions
13
13
 
14
- from typeguard import check_type
14
+ import typeguard
15
+ from importlib.metadata import version as _metadata_package_version
16
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
17
+
18
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
19
+ if TYPEGUARD_MAJOR_VERSION <= 2:
20
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
21
+ else:
22
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
23
+ pass
24
+ else:
25
+ if TYPEGUARD_MAJOR_VERSION == 3:
26
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
27
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
28
+ else:
29
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
15
30
 
16
31
  from .._jsii import *
17
32
 
@@ -46,6 +61,8 @@ from ..github.workflows import (
46
61
  JobStep as _JobStep_c3287c05, Triggers as _Triggers_e9ae7617
47
62
  )
48
63
  from ..javascript import (
64
+ AuditOptions as _AuditOptions_429c62df,
65
+ BiomeOptions as _BiomeOptions_452ab984,
49
66
  BuildWorkflowOptions as _BuildWorkflowOptions_b756f97f,
50
67
  BundlerOptions as _BundlerOptions_d60b85ed,
51
68
  CodeArtifactOptions as _CodeArtifactOptions_e4782b3e,
@@ -254,7 +271,11 @@ class NextJsProject(
254
271
  tailwind: typing.Optional[builtins.bool] = None,
255
272
  default_release_branch: builtins.str,
256
273
  artifacts_directory: typing.Optional[builtins.str] = None,
274
+ audit_deps: typing.Optional[builtins.bool] = None,
275
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
257
276
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
277
+ biome: typing.Optional[builtins.bool] = None,
278
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
258
279
  build_workflow: typing.Optional[builtins.bool] = None,
259
280
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
260
281
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -318,6 +339,7 @@ class NextJsProject(
318
339
  bugs_email: typing.Optional[builtins.str] = None,
319
340
  bugs_url: typing.Optional[builtins.str] = None,
320
341
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
342
+ bun_version: typing.Optional[builtins.str] = None,
321
343
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
322
344
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
323
345
  description: typing.Optional[builtins.str] = None,
@@ -334,6 +356,7 @@ class NextJsProject(
334
356
  npm_registry: typing.Optional[builtins.str] = None,
335
357
  npm_registry_url: typing.Optional[builtins.str] = None,
336
358
  npm_token_secret: typing.Optional[builtins.str] = None,
359
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
337
360
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
338
361
  package_name: typing.Optional[builtins.str] = None,
339
362
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -345,9 +368,11 @@ class NextJsProject(
345
368
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
346
369
  stability: typing.Optional[builtins.str] = None,
347
370
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
371
+ bump_package: typing.Optional[builtins.str] = None,
348
372
  jsii_release_version: typing.Optional[builtins.str] = None,
349
373
  major_version: typing.Optional[jsii.Number] = None,
350
374
  min_major_version: typing.Optional[jsii.Number] = None,
375
+ next_version_command: typing.Optional[builtins.str] = None,
351
376
  npm_dist_tag: typing.Optional[builtins.str] = None,
352
377
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
353
378
  prerelease: typing.Optional[builtins.str] = None,
@@ -355,12 +380,14 @@ class NextJsProject(
355
380
  publish_tasks: typing.Optional[builtins.bool] = None,
356
381
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
357
382
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
383
+ release_environment: typing.Optional[builtins.str] = None,
358
384
  release_every_commit: typing.Optional[builtins.bool] = None,
359
385
  release_failure_issue: typing.Optional[builtins.bool] = None,
360
386
  release_failure_issue_label: typing.Optional[builtins.str] = None,
361
387
  release_schedule: typing.Optional[builtins.str] = None,
362
388
  release_tag_prefix: typing.Optional[builtins.str] = None,
363
389
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
390
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
364
391
  release_workflow_name: typing.Optional[builtins.str] = None,
365
392
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
366
393
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -387,14 +414,18 @@ class NextJsProject(
387
414
  :param tailwind: (experimental) Setup Tailwind CSS as a PostCSS plugin. Default: true
388
415
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
389
416
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
417
+ :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
418
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
390
419
  :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
420
+ :param biome: (experimental) Setup Biome. Default: false
421
+ :param biome_options: (experimental) Biome options. Default: - default options
391
422
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
392
423
  :param build_workflow_options: (experimental) Options for PR build workflow.
393
424
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
394
425
  :param bundler_options: (experimental) Options for ``Bundler``.
395
426
  :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
396
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
397
- :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
427
+ :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
428
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
398
429
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
399
430
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
400
431
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -421,8 +452,8 @@ class NextJsProject(
421
452
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
422
453
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
423
454
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
424
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
425
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
455
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
456
+ :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/*``.
426
457
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
427
458
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
428
459
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -451,6 +482,7 @@ class NextJsProject(
451
482
  :param bugs_email: (experimental) The email address to which issues should be reported.
452
483
  :param bugs_url: (experimental) The url to your project's issue tracker.
453
484
  :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.
485
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
454
486
  :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
455
487
  :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: []
456
488
  :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
@@ -460,27 +492,30 @@ class NextJsProject(
460
492
  :param keywords: (experimental) Keywords to include in ``package.json``.
461
493
  :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"
462
494
  :param licensed: (experimental) Indicates if a license should be added. Default: true
463
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
464
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
495
+ :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
496
+ :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
465
497
  :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``.
466
498
  :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
467
499
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
468
500
  :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"
469
501
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
502
+ :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
470
503
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
471
504
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
472
505
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
473
506
  :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: []
474
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
507
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
475
508
  :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
476
509
  :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.
477
510
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
478
511
  :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: {}
479
512
  :param stability: (experimental) Package's Stability.
480
513
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
514
+ :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"
481
515
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
482
516
  :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.
483
517
  :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
518
+ :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.
484
519
  :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"
485
520
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
486
521
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -488,15 +523,17 @@ class NextJsProject(
488
523
  :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
489
524
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
490
525
  :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.
526
+ :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
491
527
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
492
528
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
493
529
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
494
530
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
495
531
  :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"
496
532
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
533
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
497
534
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
498
535
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
499
- :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
536
+ :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
500
537
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
501
538
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
502
539
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -522,7 +559,11 @@ class NextJsProject(
522
559
  tailwind=tailwind,
523
560
  default_release_branch=default_release_branch,
524
561
  artifacts_directory=artifacts_directory,
562
+ audit_deps=audit_deps,
563
+ audit_deps_options=audit_deps_options,
525
564
  auto_approve_upgrades=auto_approve_upgrades,
565
+ biome=biome,
566
+ biome_options=biome_options,
526
567
  build_workflow=build_workflow,
527
568
  build_workflow_options=build_workflow_options,
528
569
  build_workflow_triggers=build_workflow_triggers,
@@ -586,6 +627,7 @@ class NextJsProject(
586
627
  bugs_email=bugs_email,
587
628
  bugs_url=bugs_url,
588
629
  bundled_deps=bundled_deps,
630
+ bun_version=bun_version,
589
631
  code_artifact_options=code_artifact_options,
590
632
  deps=deps,
591
633
  description=description,
@@ -602,6 +644,7 @@ class NextJsProject(
602
644
  npm_registry=npm_registry,
603
645
  npm_registry_url=npm_registry_url,
604
646
  npm_token_secret=npm_token_secret,
647
+ npm_trusted_publishing=npm_trusted_publishing,
605
648
  package_manager=package_manager,
606
649
  package_name=package_name,
607
650
  peer_dependency_options=peer_dependency_options,
@@ -613,9 +656,11 @@ class NextJsProject(
613
656
  scripts=scripts,
614
657
  stability=stability,
615
658
  yarn_berry_options=yarn_berry_options,
659
+ bump_package=bump_package,
616
660
  jsii_release_version=jsii_release_version,
617
661
  major_version=major_version,
618
662
  min_major_version=min_major_version,
663
+ next_version_command=next_version_command,
619
664
  npm_dist_tag=npm_dist_tag,
620
665
  post_build_steps=post_build_steps,
621
666
  prerelease=prerelease,
@@ -623,12 +668,14 @@ class NextJsProject(
623
668
  publish_tasks=publish_tasks,
624
669
  releasable_commits=releasable_commits,
625
670
  release_branches=release_branches,
671
+ release_environment=release_environment,
626
672
  release_every_commit=release_every_commit,
627
673
  release_failure_issue=release_failure_issue,
628
674
  release_failure_issue_label=release_failure_issue_label,
629
675
  release_schedule=release_schedule,
630
676
  release_tag_prefix=release_tag_prefix,
631
677
  release_trigger=release_trigger,
678
+ release_workflow_env=release_workflow_env,
632
679
  release_workflow_name=release_workflow_name,
633
680
  release_workflow_setup_steps=release_workflow_setup_steps,
634
681
  versionrc_options=versionrc_options,
@@ -725,6 +772,7 @@ class NextJsProject(
725
772
  "bugs_email": "bugsEmail",
726
773
  "bugs_url": "bugsUrl",
727
774
  "bundled_deps": "bundledDeps",
775
+ "bun_version": "bunVersion",
728
776
  "code_artifact_options": "codeArtifactOptions",
729
777
  "deps": "deps",
730
778
  "description": "description",
@@ -741,6 +789,7 @@ class NextJsProject(
741
789
  "npm_registry": "npmRegistry",
742
790
  "npm_registry_url": "npmRegistryUrl",
743
791
  "npm_token_secret": "npmTokenSecret",
792
+ "npm_trusted_publishing": "npmTrustedPublishing",
744
793
  "package_manager": "packageManager",
745
794
  "package_name": "packageName",
746
795
  "peer_dependency_options": "peerDependencyOptions",
@@ -752,9 +801,11 @@ class NextJsProject(
752
801
  "scripts": "scripts",
753
802
  "stability": "stability",
754
803
  "yarn_berry_options": "yarnBerryOptions",
804
+ "bump_package": "bumpPackage",
755
805
  "jsii_release_version": "jsiiReleaseVersion",
756
806
  "major_version": "majorVersion",
757
807
  "min_major_version": "minMajorVersion",
808
+ "next_version_command": "nextVersionCommand",
758
809
  "npm_dist_tag": "npmDistTag",
759
810
  "post_build_steps": "postBuildSteps",
760
811
  "prerelease": "prerelease",
@@ -762,12 +813,14 @@ class NextJsProject(
762
813
  "publish_tasks": "publishTasks",
763
814
  "releasable_commits": "releasableCommits",
764
815
  "release_branches": "releaseBranches",
816
+ "release_environment": "releaseEnvironment",
765
817
  "release_every_commit": "releaseEveryCommit",
766
818
  "release_failure_issue": "releaseFailureIssue",
767
819
  "release_failure_issue_label": "releaseFailureIssueLabel",
768
820
  "release_schedule": "releaseSchedule",
769
821
  "release_tag_prefix": "releaseTagPrefix",
770
822
  "release_trigger": "releaseTrigger",
823
+ "release_workflow_env": "releaseWorkflowEnv",
771
824
  "release_workflow_name": "releaseWorkflowName",
772
825
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
773
826
  "versionrc_options": "versionrcOptions",
@@ -776,7 +829,11 @@ class NextJsProject(
776
829
  "workflow_runs_on_group": "workflowRunsOnGroup",
777
830
  "default_release_branch": "defaultReleaseBranch",
778
831
  "artifacts_directory": "artifactsDirectory",
832
+ "audit_deps": "auditDeps",
833
+ "audit_deps_options": "auditDepsOptions",
779
834
  "auto_approve_upgrades": "autoApproveUpgrades",
835
+ "biome": "biome",
836
+ "biome_options": "biomeOptions",
780
837
  "build_workflow": "buildWorkflow",
781
838
  "build_workflow_options": "buildWorkflowOptions",
782
839
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -862,6 +919,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
862
919
  bugs_email: typing.Optional[builtins.str] = None,
863
920
  bugs_url: typing.Optional[builtins.str] = None,
864
921
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
922
+ bun_version: typing.Optional[builtins.str] = None,
865
923
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
866
924
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
867
925
  description: typing.Optional[builtins.str] = None,
@@ -878,6 +936,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
878
936
  npm_registry: typing.Optional[builtins.str] = None,
879
937
  npm_registry_url: typing.Optional[builtins.str] = None,
880
938
  npm_token_secret: typing.Optional[builtins.str] = None,
939
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
881
940
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
882
941
  package_name: typing.Optional[builtins.str] = None,
883
942
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -889,9 +948,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
889
948
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
890
949
  stability: typing.Optional[builtins.str] = None,
891
950
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
951
+ bump_package: typing.Optional[builtins.str] = None,
892
952
  jsii_release_version: typing.Optional[builtins.str] = None,
893
953
  major_version: typing.Optional[jsii.Number] = None,
894
954
  min_major_version: typing.Optional[jsii.Number] = None,
955
+ next_version_command: typing.Optional[builtins.str] = None,
895
956
  npm_dist_tag: typing.Optional[builtins.str] = None,
896
957
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
897
958
  prerelease: typing.Optional[builtins.str] = None,
@@ -899,12 +960,14 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
899
960
  publish_tasks: typing.Optional[builtins.bool] = None,
900
961
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
901
962
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
963
+ release_environment: typing.Optional[builtins.str] = None,
902
964
  release_every_commit: typing.Optional[builtins.bool] = None,
903
965
  release_failure_issue: typing.Optional[builtins.bool] = None,
904
966
  release_failure_issue_label: typing.Optional[builtins.str] = None,
905
967
  release_schedule: typing.Optional[builtins.str] = None,
906
968
  release_tag_prefix: typing.Optional[builtins.str] = None,
907
969
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
970
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
908
971
  release_workflow_name: typing.Optional[builtins.str] = None,
909
972
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
910
973
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -913,7 +976,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
913
976
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
914
977
  default_release_branch: builtins.str,
915
978
  artifacts_directory: typing.Optional[builtins.str] = None,
979
+ audit_deps: typing.Optional[builtins.bool] = None,
980
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
916
981
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
982
+ biome: typing.Optional[builtins.bool] = None,
983
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
917
984
  build_workflow: typing.Optional[builtins.bool] = None,
918
985
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
919
986
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -995,6 +1062,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
995
1062
  :param bugs_email: (experimental) The email address to which issues should be reported.
996
1063
  :param bugs_url: (experimental) The url to your project's issue tracker.
997
1064
  :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.
1065
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
998
1066
  :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
999
1067
  :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: []
1000
1068
  :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
@@ -1004,27 +1072,30 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1004
1072
  :param keywords: (experimental) Keywords to include in ``package.json``.
1005
1073
  :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"
1006
1074
  :param licensed: (experimental) Indicates if a license should be added. Default: true
1007
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
1008
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
1075
+ :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
1076
+ :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
1009
1077
  :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``.
1010
1078
  :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
1011
1079
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
1012
1080
  :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"
1013
1081
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
1082
+ :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
1014
1083
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1015
1084
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1016
1085
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
1017
1086
  :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: []
1018
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
1087
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
1019
1088
  :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
1020
1089
  :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.
1021
1090
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
1022
1091
  :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: {}
1023
1092
  :param stability: (experimental) Package's Stability.
1024
1093
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
1094
+ :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"
1025
1095
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
1026
1096
  :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.
1027
1097
  :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
1098
+ :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.
1028
1099
  :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"
1029
1100
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
1030
1101
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -1032,28 +1103,34 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1032
1103
  :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
1033
1104
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1034
1105
  :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.
1106
+ :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
1035
1107
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1036
1108
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1037
1109
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
1038
1110
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
1039
1111
  :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"
1040
1112
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
1113
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
1041
1114
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
1042
1115
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
1043
- :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
1116
+ :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
1044
1117
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
1045
1118
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
1046
1119
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
1047
1120
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
1048
1121
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
1122
+ :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
1123
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
1049
1124
  :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
1125
+ :param biome: (experimental) Setup Biome. Default: false
1126
+ :param biome_options: (experimental) Biome options. Default: - default options
1050
1127
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
1051
1128
  :param build_workflow_options: (experimental) Options for PR build workflow.
1052
1129
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1053
1130
  :param bundler_options: (experimental) Options for ``Bundler``.
1054
1131
  :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
1055
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
1056
- :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
1132
+ :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
1133
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
1057
1134
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
1058
1135
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
1059
1136
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -1080,8 +1157,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1080
1157
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
1081
1158
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
1082
1159
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
1083
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
1084
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
1160
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
1161
+ :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/*``.
1085
1162
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
1086
1163
  :param sample_code: (experimental) Generate one-time sample in ``pages/`` and ``public/`` if there are no files there. Default: true
1087
1164
  :param srcdir: (experimental) Typescript sources directory. Default: "src"
@@ -1118,6 +1195,10 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1118
1195
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
1119
1196
  if isinstance(workflow_runs_on_group, dict):
1120
1197
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
1198
+ if isinstance(audit_deps_options, dict):
1199
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
1200
+ if isinstance(biome_options, dict):
1201
+ biome_options = _BiomeOptions_452ab984(**biome_options)
1121
1202
  if isinstance(build_workflow_options, dict):
1122
1203
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
1123
1204
  if isinstance(build_workflow_triggers, dict):
@@ -1183,6 +1264,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1183
1264
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
1184
1265
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
1185
1266
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
1267
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
1186
1268
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
1187
1269
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
1188
1270
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -1199,6 +1281,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1199
1281
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
1200
1282
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
1201
1283
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
1284
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
1202
1285
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
1203
1286
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
1204
1287
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -1210,9 +1293,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1210
1293
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
1211
1294
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
1212
1295
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
1296
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
1213
1297
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
1214
1298
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
1215
1299
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
1300
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
1216
1301
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
1217
1302
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
1218
1303
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -1220,12 +1305,14 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1220
1305
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
1221
1306
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
1222
1307
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
1308
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
1223
1309
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
1224
1310
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
1225
1311
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
1226
1312
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
1227
1313
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
1228
1314
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
1315
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
1229
1316
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
1230
1317
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
1231
1318
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -1234,7 +1321,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1234
1321
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
1235
1322
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
1236
1323
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
1324
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
1325
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
1237
1326
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
1327
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
1328
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
1238
1329
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
1239
1330
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
1240
1331
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -1357,6 +1448,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1357
1448
  self._values["bugs_url"] = bugs_url
1358
1449
  if bundled_deps is not None:
1359
1450
  self._values["bundled_deps"] = bundled_deps
1451
+ if bun_version is not None:
1452
+ self._values["bun_version"] = bun_version
1360
1453
  if code_artifact_options is not None:
1361
1454
  self._values["code_artifact_options"] = code_artifact_options
1362
1455
  if deps is not None:
@@ -1389,6 +1482,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1389
1482
  self._values["npm_registry_url"] = npm_registry_url
1390
1483
  if npm_token_secret is not None:
1391
1484
  self._values["npm_token_secret"] = npm_token_secret
1485
+ if npm_trusted_publishing is not None:
1486
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
1392
1487
  if package_manager is not None:
1393
1488
  self._values["package_manager"] = package_manager
1394
1489
  if package_name is not None:
@@ -1411,12 +1506,16 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1411
1506
  self._values["stability"] = stability
1412
1507
  if yarn_berry_options is not None:
1413
1508
  self._values["yarn_berry_options"] = yarn_berry_options
1509
+ if bump_package is not None:
1510
+ self._values["bump_package"] = bump_package
1414
1511
  if jsii_release_version is not None:
1415
1512
  self._values["jsii_release_version"] = jsii_release_version
1416
1513
  if major_version is not None:
1417
1514
  self._values["major_version"] = major_version
1418
1515
  if min_major_version is not None:
1419
1516
  self._values["min_major_version"] = min_major_version
1517
+ if next_version_command is not None:
1518
+ self._values["next_version_command"] = next_version_command
1420
1519
  if npm_dist_tag is not None:
1421
1520
  self._values["npm_dist_tag"] = npm_dist_tag
1422
1521
  if post_build_steps is not None:
@@ -1431,6 +1530,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1431
1530
  self._values["releasable_commits"] = releasable_commits
1432
1531
  if release_branches is not None:
1433
1532
  self._values["release_branches"] = release_branches
1533
+ if release_environment is not None:
1534
+ self._values["release_environment"] = release_environment
1434
1535
  if release_every_commit is not None:
1435
1536
  self._values["release_every_commit"] = release_every_commit
1436
1537
  if release_failure_issue is not None:
@@ -1443,6 +1544,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1443
1544
  self._values["release_tag_prefix"] = release_tag_prefix
1444
1545
  if release_trigger is not None:
1445
1546
  self._values["release_trigger"] = release_trigger
1547
+ if release_workflow_env is not None:
1548
+ self._values["release_workflow_env"] = release_workflow_env
1446
1549
  if release_workflow_name is not None:
1447
1550
  self._values["release_workflow_name"] = release_workflow_name
1448
1551
  if release_workflow_setup_steps is not None:
@@ -1457,8 +1560,16 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1457
1560
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
1458
1561
  if artifacts_directory is not None:
1459
1562
  self._values["artifacts_directory"] = artifacts_directory
1563
+ if audit_deps is not None:
1564
+ self._values["audit_deps"] = audit_deps
1565
+ if audit_deps_options is not None:
1566
+ self._values["audit_deps_options"] = audit_deps_options
1460
1567
  if auto_approve_upgrades is not None:
1461
1568
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
1569
+ if biome is not None:
1570
+ self._values["biome"] = biome
1571
+ if biome_options is not None:
1572
+ self._values["biome_options"] = biome_options
1462
1573
  if build_workflow is not None:
1463
1574
  self._values["build_workflow"] = build_workflow
1464
1575
  if build_workflow_options is not None:
@@ -2024,6 +2135,17 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2024
2135
  result = self._values.get("bundled_deps")
2025
2136
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2026
2137
 
2138
+ @builtins.property
2139
+ def bun_version(self) -> typing.Optional[builtins.str]:
2140
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
2141
+
2142
+ :default: "latest"
2143
+
2144
+ :stability: experimental
2145
+ '''
2146
+ result = self._values.get("bun_version")
2147
+ return typing.cast(typing.Optional[builtins.str], result)
2148
+
2027
2149
  @builtins.property
2028
2150
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
2029
2151
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -2158,9 +2280,15 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2158
2280
 
2159
2281
  @builtins.property
2160
2282
  def max_node_version(self) -> typing.Optional[builtins.str]:
2161
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
2283
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
2284
+
2285
+ The value indicates that the package is incompatible with any newer versions of node.
2286
+ This requirement is enforced via the engines field.
2162
2287
 
2163
- :default: - no max
2288
+ You will normally not need to set this option.
2289
+ Consider this option only if your package is known to not function with newer versions of node.
2290
+
2291
+ :default: - no maximum version is enforced
2164
2292
 
2165
2293
  :stability: experimental
2166
2294
  '''
@@ -2169,9 +2297,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2169
2297
 
2170
2298
  @builtins.property
2171
2299
  def min_node_version(self) -> typing.Optional[builtins.str]:
2172
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
2300
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
2301
+
2302
+ The value indicates that the package is incompatible with any older versions of node.
2303
+ This requirement is enforced via the engines field.
2304
+
2305
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
2306
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
2307
+ Setting this option has very high impact on the consumers of your package,
2308
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
2173
2309
 
2174
- :default: - no "engines" specified
2310
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
2311
+
2312
+ :default: - no minimum version is enforced
2175
2313
 
2176
2314
  :stability: experimental
2177
2315
  '''
@@ -2248,6 +2386,17 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2248
2386
  result = self._values.get("npm_token_secret")
2249
2387
  return typing.cast(typing.Optional[builtins.str], result)
2250
2388
 
2389
+ @builtins.property
2390
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
2391
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
2392
+
2393
+ :default: - false
2394
+
2395
+ :stability: experimental
2396
+ '''
2397
+ result = self._values.get("npm_trusted_publishing")
2398
+ return typing.cast(typing.Optional[builtins.bool], result)
2399
+
2251
2400
  @builtins.property
2252
2401
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
2253
2402
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -2311,7 +2460,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2311
2460
  def pnpm_version(self) -> typing.Optional[builtins.str]:
2312
2461
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
2313
2462
 
2314
- :default: "7"
2463
+ :default: "9"
2315
2464
 
2316
2465
  :stability: experimental
2317
2466
  '''
@@ -2388,6 +2537,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2388
2537
  result = self._values.get("yarn_berry_options")
2389
2538
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
2390
2539
 
2540
+ @builtins.property
2541
+ def bump_package(self) -> typing.Optional[builtins.str]:
2542
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
2543
+
2544
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
2545
+
2546
+ :default: - A recent version of "commit-and-tag-version"
2547
+
2548
+ :stability: experimental
2549
+ '''
2550
+ result = self._values.get("bump_package")
2551
+ return typing.cast(typing.Optional[builtins.str], result)
2552
+
2391
2553
  @builtins.property
2392
2554
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
2393
2555
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -2429,6 +2591,36 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2429
2591
  result = self._values.get("min_major_version")
2430
2592
  return typing.cast(typing.Optional[jsii.Number], result)
2431
2593
 
2594
+ @builtins.property
2595
+ def next_version_command(self) -> typing.Optional[builtins.str]:
2596
+ '''(experimental) A shell command to control the next version to release.
2597
+
2598
+ If present, this shell command will be run before the bump is executed, and
2599
+ it determines what version to release. It will be executed in the following
2600
+ environment:
2601
+
2602
+ - Working directory: the project directory.
2603
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
2604
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
2605
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
2606
+
2607
+ The command should print one of the following to ``stdout``:
2608
+
2609
+ - Nothing: the next version number will be determined based on commit history.
2610
+ - ``x.y.z``: the next version number will be ``x.y.z``.
2611
+ - ``major|minor|patch``: the next version number will be the current version number
2612
+ with the indicated component bumped.
2613
+
2614
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
2615
+ script can be used to achieve the effects of ``minMajorVersion``.
2616
+
2617
+ :default: - The next version will be determined based on the commit history and project settings.
2618
+
2619
+ :stability: experimental
2620
+ '''
2621
+ result = self._values.get("next_version_command")
2622
+ return typing.cast(typing.Optional[builtins.str], result)
2623
+
2432
2624
  @builtins.property
2433
2625
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
2434
2626
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -2524,6 +2716,23 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2524
2716
  result = self._values.get("release_branches")
2525
2717
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
2526
2718
 
2719
+ @builtins.property
2720
+ def release_environment(self) -> typing.Optional[builtins.str]:
2721
+ '''(experimental) The GitHub Actions environment used for the release.
2722
+
2723
+ This can be used to add an explicit approval step to the release
2724
+ or limit who can initiate a release through environment protection rules.
2725
+
2726
+ When multiple artifacts are released, the environment can be overwritten
2727
+ on a per artifact basis.
2728
+
2729
+ :default: - no environment used, unless set at the artifact level
2730
+
2731
+ :stability: experimental
2732
+ '''
2733
+ result = self._values.get("release_environment")
2734
+ return typing.cast(typing.Optional[builtins.str], result)
2735
+
2527
2736
  @builtins.property
2528
2737
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
2529
2738
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -2601,6 +2810,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2601
2810
  result = self._values.get("release_trigger")
2602
2811
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
2603
2812
 
2813
+ @builtins.property
2814
+ def release_workflow_env(
2815
+ self,
2816
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
2817
+ '''(experimental) Build environment variables for release workflows.
2818
+
2819
+ :default: {}
2820
+
2821
+ :stability: experimental
2822
+ '''
2823
+ result = self._values.get("release_workflow_env")
2824
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
2825
+
2604
2826
  @builtins.property
2605
2827
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
2606
2828
  '''(experimental) The name of the default release workflow.
@@ -2627,7 +2849,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2627
2849
  def versionrc_options(
2628
2850
  self,
2629
2851
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
2630
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
2852
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
2631
2853
 
2632
2854
  Given values either append to default configuration or overwrite values in it.
2633
2855
 
@@ -2696,6 +2918,32 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2696
2918
  result = self._values.get("artifacts_directory")
2697
2919
  return typing.cast(typing.Optional[builtins.str], result)
2698
2920
 
2921
+ @builtins.property
2922
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
2923
+ '''(experimental) Run security audit on dependencies.
2924
+
2925
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
2926
+ in dependencies. By default, runs during every build and checks for "high" severity
2927
+ vulnerabilities or above in all dependencies (including dev dependencies).
2928
+
2929
+ :default: false
2930
+
2931
+ :stability: experimental
2932
+ '''
2933
+ result = self._values.get("audit_deps")
2934
+ return typing.cast(typing.Optional[builtins.bool], result)
2935
+
2936
+ @builtins.property
2937
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
2938
+ '''(experimental) Security audit options.
2939
+
2940
+ :default: - default options
2941
+
2942
+ :stability: experimental
2943
+ '''
2944
+ result = self._values.get("audit_deps_options")
2945
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
2946
+
2699
2947
  @builtins.property
2700
2948
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
2701
2949
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -2709,6 +2957,28 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2709
2957
  result = self._values.get("auto_approve_upgrades")
2710
2958
  return typing.cast(typing.Optional[builtins.bool], result)
2711
2959
 
2960
+ @builtins.property
2961
+ def biome(self) -> typing.Optional[builtins.bool]:
2962
+ '''(experimental) Setup Biome.
2963
+
2964
+ :default: false
2965
+
2966
+ :stability: experimental
2967
+ '''
2968
+ result = self._values.get("biome")
2969
+ return typing.cast(typing.Optional[builtins.bool], result)
2970
+
2971
+ @builtins.property
2972
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
2973
+ '''(experimental) Biome options.
2974
+
2975
+ :default: - default options
2976
+
2977
+ :stability: experimental
2978
+ '''
2979
+ result = self._values.get("biome_options")
2980
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
2981
+
2712
2982
  @builtins.property
2713
2983
  def build_workflow(self) -> typing.Optional[builtins.bool]:
2714
2984
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -2766,7 +3036,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2766
3036
 
2767
3037
  @builtins.property
2768
3038
  def code_cov(self) -> typing.Optional[builtins.bool]:
2769
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
3039
+ '''(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``.
2770
3040
 
2771
3041
  :default: false
2772
3042
 
@@ -2777,9 +3047,9 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2777
3047
 
2778
3048
  @builtins.property
2779
3049
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
2780
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
3050
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
2781
3051
 
2782
- :default: - if this option is not specified, only public repositories are supported
3052
+ :default: - OIDC auth is used
2783
3053
 
2784
3054
  :stability: experimental
2785
3055
  '''
@@ -3092,7 +3362,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
3092
3362
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
3093
3363
  '''(experimental) The git identity to use in workflows.
3094
3364
 
3095
- :default: - GitHub Actions
3365
+ :default: - default GitHub Actions user
3096
3366
 
3097
3367
  :stability: experimental
3098
3368
  '''
@@ -3101,9 +3371,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
3101
3371
 
3102
3372
  @builtins.property
3103
3373
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
3104
- '''(experimental) The node version to use in GitHub workflows.
3374
+ '''(experimental) The node version used in GitHub Actions workflows.
3105
3375
 
3106
- :default: - same as ``minNodeVersion``
3376
+ Always use this option if your GitHub Actions workflows require a specific to run.
3377
+
3378
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
3107
3379
 
3108
3380
  :stability: experimental
3109
3381
  '''
@@ -3191,7 +3463,11 @@ class NextJsTypeScriptProject(
3191
3463
  typescript_version: typing.Optional[builtins.str] = None,
3192
3464
  default_release_branch: builtins.str,
3193
3465
  artifacts_directory: typing.Optional[builtins.str] = None,
3466
+ audit_deps: typing.Optional[builtins.bool] = None,
3467
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
3194
3468
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
3469
+ biome: typing.Optional[builtins.bool] = None,
3470
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
3195
3471
  build_workflow: typing.Optional[builtins.bool] = None,
3196
3472
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
3197
3473
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3255,6 +3531,7 @@ class NextJsTypeScriptProject(
3255
3531
  bugs_email: typing.Optional[builtins.str] = None,
3256
3532
  bugs_url: typing.Optional[builtins.str] = None,
3257
3533
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3534
+ bun_version: typing.Optional[builtins.str] = None,
3258
3535
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
3259
3536
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3260
3537
  description: typing.Optional[builtins.str] = None,
@@ -3271,6 +3548,7 @@ class NextJsTypeScriptProject(
3271
3548
  npm_registry: typing.Optional[builtins.str] = None,
3272
3549
  npm_registry_url: typing.Optional[builtins.str] = None,
3273
3550
  npm_token_secret: typing.Optional[builtins.str] = None,
3551
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
3274
3552
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
3275
3553
  package_name: typing.Optional[builtins.str] = None,
3276
3554
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3282,9 +3560,11 @@ class NextJsTypeScriptProject(
3282
3560
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3283
3561
  stability: typing.Optional[builtins.str] = None,
3284
3562
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
3563
+ bump_package: typing.Optional[builtins.str] = None,
3285
3564
  jsii_release_version: typing.Optional[builtins.str] = None,
3286
3565
  major_version: typing.Optional[jsii.Number] = None,
3287
3566
  min_major_version: typing.Optional[jsii.Number] = None,
3567
+ next_version_command: typing.Optional[builtins.str] = None,
3288
3568
  npm_dist_tag: typing.Optional[builtins.str] = None,
3289
3569
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3290
3570
  prerelease: typing.Optional[builtins.str] = None,
@@ -3292,12 +3572,14 @@ class NextJsTypeScriptProject(
3292
3572
  publish_tasks: typing.Optional[builtins.bool] = None,
3293
3573
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
3294
3574
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
3575
+ release_environment: typing.Optional[builtins.str] = None,
3295
3576
  release_every_commit: typing.Optional[builtins.bool] = None,
3296
3577
  release_failure_issue: typing.Optional[builtins.bool] = None,
3297
3578
  release_failure_issue_label: typing.Optional[builtins.str] = None,
3298
3579
  release_schedule: typing.Optional[builtins.str] = None,
3299
3580
  release_tag_prefix: typing.Optional[builtins.str] = None,
3300
3581
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
3582
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3301
3583
  release_workflow_name: typing.Optional[builtins.str] = None,
3302
3584
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3303
3585
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -3325,7 +3607,7 @@ class NextJsTypeScriptProject(
3325
3607
  :param docgen: (experimental) Docgen by Typedoc. Default: false
3326
3608
  :param docs_directory: (experimental) Docs directory. Default: "docs"
3327
3609
  :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)
3328
- :param eslint: (experimental) Setup eslint. Default: true
3610
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
3329
3611
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
3330
3612
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
3331
3613
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -3340,14 +3622,18 @@ class NextJsTypeScriptProject(
3340
3622
  :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"
3341
3623
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
3342
3624
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
3625
+ :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
3626
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
3343
3627
  :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
3628
+ :param biome: (experimental) Setup Biome. Default: false
3629
+ :param biome_options: (experimental) Biome options. Default: - default options
3344
3630
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
3345
3631
  :param build_workflow_options: (experimental) Options for PR build workflow.
3346
3632
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
3347
3633
  :param bundler_options: (experimental) Options for ``Bundler``.
3348
3634
  :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
3349
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
3350
- :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
3635
+ :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
3636
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
3351
3637
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
3352
3638
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
3353
3639
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -3374,8 +3660,8 @@ class NextJsTypeScriptProject(
3374
3660
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
3375
3661
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
3376
3662
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
3377
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
3378
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
3663
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
3664
+ :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/*``.
3379
3665
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
3380
3666
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
3381
3667
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -3404,6 +3690,7 @@ class NextJsTypeScriptProject(
3404
3690
  :param bugs_email: (experimental) The email address to which issues should be reported.
3405
3691
  :param bugs_url: (experimental) The url to your project's issue tracker.
3406
3692
  :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.
3693
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
3407
3694
  :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
3408
3695
  :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: []
3409
3696
  :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
@@ -3413,27 +3700,30 @@ class NextJsTypeScriptProject(
3413
3700
  :param keywords: (experimental) Keywords to include in ``package.json``.
3414
3701
  :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"
3415
3702
  :param licensed: (experimental) Indicates if a license should be added. Default: true
3416
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
3417
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
3703
+ :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
3704
+ :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
3418
3705
  :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``.
3419
3706
  :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
3420
3707
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
3421
3708
  :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"
3422
3709
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
3710
+ :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
3423
3711
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
3424
3712
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
3425
3713
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
3426
3714
  :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: []
3427
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
3715
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
3428
3716
  :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
3429
3717
  :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.
3430
3718
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
3431
3719
  :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: {}
3432
3720
  :param stability: (experimental) Package's Stability.
3433
3721
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
3722
+ :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"
3434
3723
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
3435
3724
  :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.
3436
3725
  :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
3726
+ :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.
3437
3727
  :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"
3438
3728
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
3439
3729
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -3441,15 +3731,17 @@ class NextJsTypeScriptProject(
3441
3731
  :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
3442
3732
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
3443
3733
  :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.
3734
+ :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
3444
3735
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
3445
3736
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
3446
3737
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
3447
3738
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
3448
3739
  :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"
3449
3740
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
3741
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
3450
3742
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
3451
3743
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
3452
- :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
3744
+ :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
3453
3745
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
3454
3746
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
3455
3747
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -3491,7 +3783,11 @@ class NextJsTypeScriptProject(
3491
3783
  typescript_version=typescript_version,
3492
3784
  default_release_branch=default_release_branch,
3493
3785
  artifacts_directory=artifacts_directory,
3786
+ audit_deps=audit_deps,
3787
+ audit_deps_options=audit_deps_options,
3494
3788
  auto_approve_upgrades=auto_approve_upgrades,
3789
+ biome=biome,
3790
+ biome_options=biome_options,
3495
3791
  build_workflow=build_workflow,
3496
3792
  build_workflow_options=build_workflow_options,
3497
3793
  build_workflow_triggers=build_workflow_triggers,
@@ -3555,6 +3851,7 @@ class NextJsTypeScriptProject(
3555
3851
  bugs_email=bugs_email,
3556
3852
  bugs_url=bugs_url,
3557
3853
  bundled_deps=bundled_deps,
3854
+ bun_version=bun_version,
3558
3855
  code_artifact_options=code_artifact_options,
3559
3856
  deps=deps,
3560
3857
  description=description,
@@ -3571,6 +3868,7 @@ class NextJsTypeScriptProject(
3571
3868
  npm_registry=npm_registry,
3572
3869
  npm_registry_url=npm_registry_url,
3573
3870
  npm_token_secret=npm_token_secret,
3871
+ npm_trusted_publishing=npm_trusted_publishing,
3574
3872
  package_manager=package_manager,
3575
3873
  package_name=package_name,
3576
3874
  peer_dependency_options=peer_dependency_options,
@@ -3582,9 +3880,11 @@ class NextJsTypeScriptProject(
3582
3880
  scripts=scripts,
3583
3881
  stability=stability,
3584
3882
  yarn_berry_options=yarn_berry_options,
3883
+ bump_package=bump_package,
3585
3884
  jsii_release_version=jsii_release_version,
3586
3885
  major_version=major_version,
3587
3886
  min_major_version=min_major_version,
3887
+ next_version_command=next_version_command,
3588
3888
  npm_dist_tag=npm_dist_tag,
3589
3889
  post_build_steps=post_build_steps,
3590
3890
  prerelease=prerelease,
@@ -3592,12 +3892,14 @@ class NextJsTypeScriptProject(
3592
3892
  publish_tasks=publish_tasks,
3593
3893
  releasable_commits=releasable_commits,
3594
3894
  release_branches=release_branches,
3895
+ release_environment=release_environment,
3595
3896
  release_every_commit=release_every_commit,
3596
3897
  release_failure_issue=release_failure_issue,
3597
3898
  release_failure_issue_label=release_failure_issue_label,
3598
3899
  release_schedule=release_schedule,
3599
3900
  release_tag_prefix=release_tag_prefix,
3600
3901
  release_trigger=release_trigger,
3902
+ release_workflow_env=release_workflow_env,
3601
3903
  release_workflow_name=release_workflow_name,
3602
3904
  release_workflow_setup_steps=release_workflow_setup_steps,
3603
3905
  versionrc_options=versionrc_options,
@@ -3694,6 +3996,7 @@ class NextJsTypeScriptProject(
3694
3996
  "bugs_email": "bugsEmail",
3695
3997
  "bugs_url": "bugsUrl",
3696
3998
  "bundled_deps": "bundledDeps",
3999
+ "bun_version": "bunVersion",
3697
4000
  "code_artifact_options": "codeArtifactOptions",
3698
4001
  "deps": "deps",
3699
4002
  "description": "description",
@@ -3710,6 +4013,7 @@ class NextJsTypeScriptProject(
3710
4013
  "npm_registry": "npmRegistry",
3711
4014
  "npm_registry_url": "npmRegistryUrl",
3712
4015
  "npm_token_secret": "npmTokenSecret",
4016
+ "npm_trusted_publishing": "npmTrustedPublishing",
3713
4017
  "package_manager": "packageManager",
3714
4018
  "package_name": "packageName",
3715
4019
  "peer_dependency_options": "peerDependencyOptions",
@@ -3721,9 +4025,11 @@ class NextJsTypeScriptProject(
3721
4025
  "scripts": "scripts",
3722
4026
  "stability": "stability",
3723
4027
  "yarn_berry_options": "yarnBerryOptions",
4028
+ "bump_package": "bumpPackage",
3724
4029
  "jsii_release_version": "jsiiReleaseVersion",
3725
4030
  "major_version": "majorVersion",
3726
4031
  "min_major_version": "minMajorVersion",
4032
+ "next_version_command": "nextVersionCommand",
3727
4033
  "npm_dist_tag": "npmDistTag",
3728
4034
  "post_build_steps": "postBuildSteps",
3729
4035
  "prerelease": "prerelease",
@@ -3731,12 +4037,14 @@ class NextJsTypeScriptProject(
3731
4037
  "publish_tasks": "publishTasks",
3732
4038
  "releasable_commits": "releasableCommits",
3733
4039
  "release_branches": "releaseBranches",
4040
+ "release_environment": "releaseEnvironment",
3734
4041
  "release_every_commit": "releaseEveryCommit",
3735
4042
  "release_failure_issue": "releaseFailureIssue",
3736
4043
  "release_failure_issue_label": "releaseFailureIssueLabel",
3737
4044
  "release_schedule": "releaseSchedule",
3738
4045
  "release_tag_prefix": "releaseTagPrefix",
3739
4046
  "release_trigger": "releaseTrigger",
4047
+ "release_workflow_env": "releaseWorkflowEnv",
3740
4048
  "release_workflow_name": "releaseWorkflowName",
3741
4049
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
3742
4050
  "versionrc_options": "versionrcOptions",
@@ -3745,7 +4053,11 @@ class NextJsTypeScriptProject(
3745
4053
  "workflow_runs_on_group": "workflowRunsOnGroup",
3746
4054
  "default_release_branch": "defaultReleaseBranch",
3747
4055
  "artifacts_directory": "artifactsDirectory",
4056
+ "audit_deps": "auditDeps",
4057
+ "audit_deps_options": "auditDepsOptions",
3748
4058
  "auto_approve_upgrades": "autoApproveUpgrades",
4059
+ "biome": "biome",
4060
+ "biome_options": "biomeOptions",
3749
4061
  "build_workflow": "buildWorkflow",
3750
4062
  "build_workflow_options": "buildWorkflowOptions",
3751
4063
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -3850,6 +4162,7 @@ class NextJsTypeScriptProjectOptions(
3850
4162
  bugs_email: typing.Optional[builtins.str] = None,
3851
4163
  bugs_url: typing.Optional[builtins.str] = None,
3852
4164
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
4165
+ bun_version: typing.Optional[builtins.str] = None,
3853
4166
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
3854
4167
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3855
4168
  description: typing.Optional[builtins.str] = None,
@@ -3866,6 +4179,7 @@ class NextJsTypeScriptProjectOptions(
3866
4179
  npm_registry: typing.Optional[builtins.str] = None,
3867
4180
  npm_registry_url: typing.Optional[builtins.str] = None,
3868
4181
  npm_token_secret: typing.Optional[builtins.str] = None,
4182
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
3869
4183
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
3870
4184
  package_name: typing.Optional[builtins.str] = None,
3871
4185
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3877,9 +4191,11 @@ class NextJsTypeScriptProjectOptions(
3877
4191
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3878
4192
  stability: typing.Optional[builtins.str] = None,
3879
4193
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
4194
+ bump_package: typing.Optional[builtins.str] = None,
3880
4195
  jsii_release_version: typing.Optional[builtins.str] = None,
3881
4196
  major_version: typing.Optional[jsii.Number] = None,
3882
4197
  min_major_version: typing.Optional[jsii.Number] = None,
4198
+ next_version_command: typing.Optional[builtins.str] = None,
3883
4199
  npm_dist_tag: typing.Optional[builtins.str] = None,
3884
4200
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3885
4201
  prerelease: typing.Optional[builtins.str] = None,
@@ -3887,12 +4203,14 @@ class NextJsTypeScriptProjectOptions(
3887
4203
  publish_tasks: typing.Optional[builtins.bool] = None,
3888
4204
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
3889
4205
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
4206
+ release_environment: typing.Optional[builtins.str] = None,
3890
4207
  release_every_commit: typing.Optional[builtins.bool] = None,
3891
4208
  release_failure_issue: typing.Optional[builtins.bool] = None,
3892
4209
  release_failure_issue_label: typing.Optional[builtins.str] = None,
3893
4210
  release_schedule: typing.Optional[builtins.str] = None,
3894
4211
  release_tag_prefix: typing.Optional[builtins.str] = None,
3895
4212
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
4213
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3896
4214
  release_workflow_name: typing.Optional[builtins.str] = None,
3897
4215
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3898
4216
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -3901,7 +4219,11 @@ class NextJsTypeScriptProjectOptions(
3901
4219
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
3902
4220
  default_release_branch: builtins.str,
3903
4221
  artifacts_directory: typing.Optional[builtins.str] = None,
4222
+ audit_deps: typing.Optional[builtins.bool] = None,
4223
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
3904
4224
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
4225
+ biome: typing.Optional[builtins.bool] = None,
4226
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
3905
4227
  build_workflow: typing.Optional[builtins.bool] = None,
3906
4228
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
3907
4229
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3999,6 +4321,7 @@ class NextJsTypeScriptProjectOptions(
3999
4321
  :param bugs_email: (experimental) The email address to which issues should be reported.
4000
4322
  :param bugs_url: (experimental) The url to your project's issue tracker.
4001
4323
  :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.
4324
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
4002
4325
  :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
4003
4326
  :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: []
4004
4327
  :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
@@ -4008,27 +4331,30 @@ class NextJsTypeScriptProjectOptions(
4008
4331
  :param keywords: (experimental) Keywords to include in ``package.json``.
4009
4332
  :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"
4010
4333
  :param licensed: (experimental) Indicates if a license should be added. Default: true
4011
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
4012
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
4334
+ :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
4335
+ :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
4013
4336
  :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``.
4014
4337
  :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
4015
4338
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
4016
4339
  :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"
4017
4340
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
4341
+ :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
4018
4342
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
4019
4343
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
4020
4344
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
4021
4345
  :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: []
4022
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
4346
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
4023
4347
  :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
4024
4348
  :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.
4025
4349
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
4026
4350
  :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: {}
4027
4351
  :param stability: (experimental) Package's Stability.
4028
4352
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
4353
+ :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"
4029
4354
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
4030
4355
  :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.
4031
4356
  :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
4357
+ :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.
4032
4358
  :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"
4033
4359
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
4034
4360
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -4036,28 +4362,34 @@ class NextJsTypeScriptProjectOptions(
4036
4362
  :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
4037
4363
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
4038
4364
  :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.
4365
+ :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
4039
4366
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
4040
4367
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
4041
4368
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
4042
4369
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
4043
4370
  :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"
4044
4371
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
4372
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
4045
4373
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
4046
4374
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
4047
- :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
4375
+ :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
4048
4376
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
4049
4377
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
4050
4378
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
4051
4379
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
4052
4380
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
4381
+ :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
4382
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
4053
4383
  :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
4384
+ :param biome: (experimental) Setup Biome. Default: false
4385
+ :param biome_options: (experimental) Biome options. Default: - default options
4054
4386
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
4055
4387
  :param build_workflow_options: (experimental) Options for PR build workflow.
4056
4388
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
4057
4389
  :param bundler_options: (experimental) Options for ``Bundler``.
4058
4390
  :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
4059
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
4060
- :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
4391
+ :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
4392
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
4061
4393
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
4062
4394
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
4063
4395
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -4084,15 +4416,15 @@ class NextJsTypeScriptProjectOptions(
4084
4416
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
4085
4417
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
4086
4418
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
4087
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
4088
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
4419
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
4420
+ :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/*``.
4089
4421
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
4090
4422
  :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
4091
4423
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
4092
4424
  :param docgen: (experimental) Docgen by Typedoc. Default: false
4093
4425
  :param docs_directory: (experimental) Docs directory. Default: "docs"
4094
4426
  :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)
4095
- :param eslint: (experimental) Setup eslint. Default: true
4427
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
4096
4428
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
4097
4429
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
4098
4430
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -4138,6 +4470,10 @@ class NextJsTypeScriptProjectOptions(
4138
4470
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
4139
4471
  if isinstance(workflow_runs_on_group, dict):
4140
4472
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
4473
+ if isinstance(audit_deps_options, dict):
4474
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
4475
+ if isinstance(biome_options, dict):
4476
+ biome_options = _BiomeOptions_452ab984(**biome_options)
4141
4477
  if isinstance(build_workflow_options, dict):
4142
4478
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
4143
4479
  if isinstance(build_workflow_triggers, dict):
@@ -4213,6 +4549,7 @@ class NextJsTypeScriptProjectOptions(
4213
4549
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
4214
4550
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
4215
4551
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
4552
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
4216
4553
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
4217
4554
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
4218
4555
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -4229,6 +4566,7 @@ class NextJsTypeScriptProjectOptions(
4229
4566
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
4230
4567
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
4231
4568
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
4569
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
4232
4570
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
4233
4571
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
4234
4572
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -4240,9 +4578,11 @@ class NextJsTypeScriptProjectOptions(
4240
4578
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
4241
4579
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
4242
4580
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
4581
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
4243
4582
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
4244
4583
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
4245
4584
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
4585
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
4246
4586
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
4247
4587
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
4248
4588
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -4250,12 +4590,14 @@ class NextJsTypeScriptProjectOptions(
4250
4590
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
4251
4591
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
4252
4592
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
4593
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
4253
4594
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
4254
4595
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
4255
4596
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
4256
4597
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
4257
4598
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
4258
4599
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
4600
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
4259
4601
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
4260
4602
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
4261
4603
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -4264,7 +4606,11 @@ class NextJsTypeScriptProjectOptions(
4264
4606
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
4265
4607
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
4266
4608
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
4609
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
4610
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
4267
4611
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
4612
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
4613
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
4268
4614
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
4269
4615
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
4270
4616
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -4403,6 +4749,8 @@ class NextJsTypeScriptProjectOptions(
4403
4749
  self._values["bugs_url"] = bugs_url
4404
4750
  if bundled_deps is not None:
4405
4751
  self._values["bundled_deps"] = bundled_deps
4752
+ if bun_version is not None:
4753
+ self._values["bun_version"] = bun_version
4406
4754
  if code_artifact_options is not None:
4407
4755
  self._values["code_artifact_options"] = code_artifact_options
4408
4756
  if deps is not None:
@@ -4435,6 +4783,8 @@ class NextJsTypeScriptProjectOptions(
4435
4783
  self._values["npm_registry_url"] = npm_registry_url
4436
4784
  if npm_token_secret is not None:
4437
4785
  self._values["npm_token_secret"] = npm_token_secret
4786
+ if npm_trusted_publishing is not None:
4787
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
4438
4788
  if package_manager is not None:
4439
4789
  self._values["package_manager"] = package_manager
4440
4790
  if package_name is not None:
@@ -4457,12 +4807,16 @@ class NextJsTypeScriptProjectOptions(
4457
4807
  self._values["stability"] = stability
4458
4808
  if yarn_berry_options is not None:
4459
4809
  self._values["yarn_berry_options"] = yarn_berry_options
4810
+ if bump_package is not None:
4811
+ self._values["bump_package"] = bump_package
4460
4812
  if jsii_release_version is not None:
4461
4813
  self._values["jsii_release_version"] = jsii_release_version
4462
4814
  if major_version is not None:
4463
4815
  self._values["major_version"] = major_version
4464
4816
  if min_major_version is not None:
4465
4817
  self._values["min_major_version"] = min_major_version
4818
+ if next_version_command is not None:
4819
+ self._values["next_version_command"] = next_version_command
4466
4820
  if npm_dist_tag is not None:
4467
4821
  self._values["npm_dist_tag"] = npm_dist_tag
4468
4822
  if post_build_steps is not None:
@@ -4477,6 +4831,8 @@ class NextJsTypeScriptProjectOptions(
4477
4831
  self._values["releasable_commits"] = releasable_commits
4478
4832
  if release_branches is not None:
4479
4833
  self._values["release_branches"] = release_branches
4834
+ if release_environment is not None:
4835
+ self._values["release_environment"] = release_environment
4480
4836
  if release_every_commit is not None:
4481
4837
  self._values["release_every_commit"] = release_every_commit
4482
4838
  if release_failure_issue is not None:
@@ -4489,6 +4845,8 @@ class NextJsTypeScriptProjectOptions(
4489
4845
  self._values["release_tag_prefix"] = release_tag_prefix
4490
4846
  if release_trigger is not None:
4491
4847
  self._values["release_trigger"] = release_trigger
4848
+ if release_workflow_env is not None:
4849
+ self._values["release_workflow_env"] = release_workflow_env
4492
4850
  if release_workflow_name is not None:
4493
4851
  self._values["release_workflow_name"] = release_workflow_name
4494
4852
  if release_workflow_setup_steps is not None:
@@ -4503,8 +4861,16 @@ class NextJsTypeScriptProjectOptions(
4503
4861
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
4504
4862
  if artifacts_directory is not None:
4505
4863
  self._values["artifacts_directory"] = artifacts_directory
4864
+ if audit_deps is not None:
4865
+ self._values["audit_deps"] = audit_deps
4866
+ if audit_deps_options is not None:
4867
+ self._values["audit_deps_options"] = audit_deps_options
4506
4868
  if auto_approve_upgrades is not None:
4507
4869
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
4870
+ if biome is not None:
4871
+ self._values["biome"] = biome
4872
+ if biome_options is not None:
4873
+ self._values["biome_options"] = biome_options
4508
4874
  if build_workflow is not None:
4509
4875
  self._values["build_workflow"] = build_workflow
4510
4876
  if build_workflow_options is not None:
@@ -5102,6 +5468,17 @@ class NextJsTypeScriptProjectOptions(
5102
5468
  result = self._values.get("bundled_deps")
5103
5469
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5104
5470
 
5471
+ @builtins.property
5472
+ def bun_version(self) -> typing.Optional[builtins.str]:
5473
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
5474
+
5475
+ :default: "latest"
5476
+
5477
+ :stability: experimental
5478
+ '''
5479
+ result = self._values.get("bun_version")
5480
+ return typing.cast(typing.Optional[builtins.str], result)
5481
+
5105
5482
  @builtins.property
5106
5483
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
5107
5484
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -5236,9 +5613,15 @@ class NextJsTypeScriptProjectOptions(
5236
5613
 
5237
5614
  @builtins.property
5238
5615
  def max_node_version(self) -> typing.Optional[builtins.str]:
5239
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
5616
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
5617
+
5618
+ The value indicates that the package is incompatible with any newer versions of node.
5619
+ This requirement is enforced via the engines field.
5620
+
5621
+ You will normally not need to set this option.
5622
+ Consider this option only if your package is known to not function with newer versions of node.
5240
5623
 
5241
- :default: - no max
5624
+ :default: - no maximum version is enforced
5242
5625
 
5243
5626
  :stability: experimental
5244
5627
  '''
@@ -5247,9 +5630,19 @@ class NextJsTypeScriptProjectOptions(
5247
5630
 
5248
5631
  @builtins.property
5249
5632
  def min_node_version(self) -> typing.Optional[builtins.str]:
5250
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
5633
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
5634
+
5635
+ The value indicates that the package is incompatible with any older versions of node.
5636
+ This requirement is enforced via the engines field.
5637
+
5638
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
5639
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
5640
+ Setting this option has very high impact on the consumers of your package,
5641
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
5642
+
5643
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
5251
5644
 
5252
- :default: - no "engines" specified
5645
+ :default: - no minimum version is enforced
5253
5646
 
5254
5647
  :stability: experimental
5255
5648
  '''
@@ -5326,6 +5719,17 @@ class NextJsTypeScriptProjectOptions(
5326
5719
  result = self._values.get("npm_token_secret")
5327
5720
  return typing.cast(typing.Optional[builtins.str], result)
5328
5721
 
5722
+ @builtins.property
5723
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
5724
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
5725
+
5726
+ :default: - false
5727
+
5728
+ :stability: experimental
5729
+ '''
5730
+ result = self._values.get("npm_trusted_publishing")
5731
+ return typing.cast(typing.Optional[builtins.bool], result)
5732
+
5329
5733
  @builtins.property
5330
5734
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
5331
5735
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -5389,7 +5793,7 @@ class NextJsTypeScriptProjectOptions(
5389
5793
  def pnpm_version(self) -> typing.Optional[builtins.str]:
5390
5794
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
5391
5795
 
5392
- :default: "7"
5796
+ :default: "9"
5393
5797
 
5394
5798
  :stability: experimental
5395
5799
  '''
@@ -5466,6 +5870,19 @@ class NextJsTypeScriptProjectOptions(
5466
5870
  result = self._values.get("yarn_berry_options")
5467
5871
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
5468
5872
 
5873
+ @builtins.property
5874
+ def bump_package(self) -> typing.Optional[builtins.str]:
5875
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
5876
+
5877
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
5878
+
5879
+ :default: - A recent version of "commit-and-tag-version"
5880
+
5881
+ :stability: experimental
5882
+ '''
5883
+ result = self._values.get("bump_package")
5884
+ return typing.cast(typing.Optional[builtins.str], result)
5885
+
5469
5886
  @builtins.property
5470
5887
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
5471
5888
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -5507,6 +5924,36 @@ class NextJsTypeScriptProjectOptions(
5507
5924
  result = self._values.get("min_major_version")
5508
5925
  return typing.cast(typing.Optional[jsii.Number], result)
5509
5926
 
5927
+ @builtins.property
5928
+ def next_version_command(self) -> typing.Optional[builtins.str]:
5929
+ '''(experimental) A shell command to control the next version to release.
5930
+
5931
+ If present, this shell command will be run before the bump is executed, and
5932
+ it determines what version to release. It will be executed in the following
5933
+ environment:
5934
+
5935
+ - Working directory: the project directory.
5936
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
5937
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
5938
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
5939
+
5940
+ The command should print one of the following to ``stdout``:
5941
+
5942
+ - Nothing: the next version number will be determined based on commit history.
5943
+ - ``x.y.z``: the next version number will be ``x.y.z``.
5944
+ - ``major|minor|patch``: the next version number will be the current version number
5945
+ with the indicated component bumped.
5946
+
5947
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
5948
+ script can be used to achieve the effects of ``minMajorVersion``.
5949
+
5950
+ :default: - The next version will be determined based on the commit history and project settings.
5951
+
5952
+ :stability: experimental
5953
+ '''
5954
+ result = self._values.get("next_version_command")
5955
+ return typing.cast(typing.Optional[builtins.str], result)
5956
+
5510
5957
  @builtins.property
5511
5958
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
5512
5959
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -5602,6 +6049,23 @@ class NextJsTypeScriptProjectOptions(
5602
6049
  result = self._values.get("release_branches")
5603
6050
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
5604
6051
 
6052
+ @builtins.property
6053
+ def release_environment(self) -> typing.Optional[builtins.str]:
6054
+ '''(experimental) The GitHub Actions environment used for the release.
6055
+
6056
+ This can be used to add an explicit approval step to the release
6057
+ or limit who can initiate a release through environment protection rules.
6058
+
6059
+ When multiple artifacts are released, the environment can be overwritten
6060
+ on a per artifact basis.
6061
+
6062
+ :default: - no environment used, unless set at the artifact level
6063
+
6064
+ :stability: experimental
6065
+ '''
6066
+ result = self._values.get("release_environment")
6067
+ return typing.cast(typing.Optional[builtins.str], result)
6068
+
5605
6069
  @builtins.property
5606
6070
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
5607
6071
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -5679,6 +6143,19 @@ class NextJsTypeScriptProjectOptions(
5679
6143
  result = self._values.get("release_trigger")
5680
6144
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
5681
6145
 
6146
+ @builtins.property
6147
+ def release_workflow_env(
6148
+ self,
6149
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
6150
+ '''(experimental) Build environment variables for release workflows.
6151
+
6152
+ :default: {}
6153
+
6154
+ :stability: experimental
6155
+ '''
6156
+ result = self._values.get("release_workflow_env")
6157
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
6158
+
5682
6159
  @builtins.property
5683
6160
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
5684
6161
  '''(experimental) The name of the default release workflow.
@@ -5705,7 +6182,7 @@ class NextJsTypeScriptProjectOptions(
5705
6182
  def versionrc_options(
5706
6183
  self,
5707
6184
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
5708
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
6185
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
5709
6186
 
5710
6187
  Given values either append to default configuration or overwrite values in it.
5711
6188
 
@@ -5774,6 +6251,32 @@ class NextJsTypeScriptProjectOptions(
5774
6251
  result = self._values.get("artifacts_directory")
5775
6252
  return typing.cast(typing.Optional[builtins.str], result)
5776
6253
 
6254
+ @builtins.property
6255
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
6256
+ '''(experimental) Run security audit on dependencies.
6257
+
6258
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
6259
+ in dependencies. By default, runs during every build and checks for "high" severity
6260
+ vulnerabilities or above in all dependencies (including dev dependencies).
6261
+
6262
+ :default: false
6263
+
6264
+ :stability: experimental
6265
+ '''
6266
+ result = self._values.get("audit_deps")
6267
+ return typing.cast(typing.Optional[builtins.bool], result)
6268
+
6269
+ @builtins.property
6270
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
6271
+ '''(experimental) Security audit options.
6272
+
6273
+ :default: - default options
6274
+
6275
+ :stability: experimental
6276
+ '''
6277
+ result = self._values.get("audit_deps_options")
6278
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
6279
+
5777
6280
  @builtins.property
5778
6281
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
5779
6282
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -5787,6 +6290,28 @@ class NextJsTypeScriptProjectOptions(
5787
6290
  result = self._values.get("auto_approve_upgrades")
5788
6291
  return typing.cast(typing.Optional[builtins.bool], result)
5789
6292
 
6293
+ @builtins.property
6294
+ def biome(self) -> typing.Optional[builtins.bool]:
6295
+ '''(experimental) Setup Biome.
6296
+
6297
+ :default: false
6298
+
6299
+ :stability: experimental
6300
+ '''
6301
+ result = self._values.get("biome")
6302
+ return typing.cast(typing.Optional[builtins.bool], result)
6303
+
6304
+ @builtins.property
6305
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
6306
+ '''(experimental) Biome options.
6307
+
6308
+ :default: - default options
6309
+
6310
+ :stability: experimental
6311
+ '''
6312
+ result = self._values.get("biome_options")
6313
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
6314
+
5790
6315
  @builtins.property
5791
6316
  def build_workflow(self) -> typing.Optional[builtins.bool]:
5792
6317
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -5844,7 +6369,7 @@ class NextJsTypeScriptProjectOptions(
5844
6369
 
5845
6370
  @builtins.property
5846
6371
  def code_cov(self) -> typing.Optional[builtins.bool]:
5847
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
6372
+ '''(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``.
5848
6373
 
5849
6374
  :default: false
5850
6375
 
@@ -5855,9 +6380,9 @@ class NextJsTypeScriptProjectOptions(
5855
6380
 
5856
6381
  @builtins.property
5857
6382
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
5858
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
6383
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
5859
6384
 
5860
- :default: - if this option is not specified, only public repositories are supported
6385
+ :default: - OIDC auth is used
5861
6386
 
5862
6387
  :stability: experimental
5863
6388
  '''
@@ -6170,7 +6695,7 @@ class NextJsTypeScriptProjectOptions(
6170
6695
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
6171
6696
  '''(experimental) The git identity to use in workflows.
6172
6697
 
6173
- :default: - GitHub Actions
6698
+ :default: - default GitHub Actions user
6174
6699
 
6175
6700
  :stability: experimental
6176
6701
  '''
@@ -6179,9 +6704,11 @@ class NextJsTypeScriptProjectOptions(
6179
6704
 
6180
6705
  @builtins.property
6181
6706
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
6182
- '''(experimental) The node version to use in GitHub workflows.
6707
+ '''(experimental) The node version used in GitHub Actions workflows.
6183
6708
 
6184
- :default: - same as ``minNodeVersion``
6709
+ Always use this option if your GitHub Actions workflows require a specific to run.
6710
+
6711
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
6185
6712
 
6186
6713
  :stability: experimental
6187
6714
  '''
@@ -6258,7 +6785,7 @@ class NextJsTypeScriptProjectOptions(
6258
6785
  def eslint(self) -> typing.Optional[builtins.bool]:
6259
6786
  '''(experimental) Setup eslint.
6260
6787
 
6261
- :default: true
6788
+ :default: - true, unless biome is enabled
6262
6789
 
6263
6790
  :stability: experimental
6264
6791
  '''
@@ -6600,7 +7127,11 @@ class ReactProject(
6600
7127
  srcdir: typing.Optional[builtins.str] = None,
6601
7128
  default_release_branch: builtins.str,
6602
7129
  artifacts_directory: typing.Optional[builtins.str] = None,
7130
+ audit_deps: typing.Optional[builtins.bool] = None,
7131
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
6603
7132
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
7133
+ biome: typing.Optional[builtins.bool] = None,
7134
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
6604
7135
  build_workflow: typing.Optional[builtins.bool] = None,
6605
7136
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
6606
7137
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6665,6 +7196,7 @@ class ReactProject(
6665
7196
  bugs_email: typing.Optional[builtins.str] = None,
6666
7197
  bugs_url: typing.Optional[builtins.str] = None,
6667
7198
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7199
+ bun_version: typing.Optional[builtins.str] = None,
6668
7200
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
6669
7201
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
6670
7202
  description: typing.Optional[builtins.str] = None,
@@ -6681,6 +7213,7 @@ class ReactProject(
6681
7213
  npm_registry: typing.Optional[builtins.str] = None,
6682
7214
  npm_registry_url: typing.Optional[builtins.str] = None,
6683
7215
  npm_token_secret: typing.Optional[builtins.str] = None,
7216
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
6684
7217
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
6685
7218
  package_name: typing.Optional[builtins.str] = None,
6686
7219
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6692,9 +7225,11 @@ class ReactProject(
6692
7225
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6693
7226
  stability: typing.Optional[builtins.str] = None,
6694
7227
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
7228
+ bump_package: typing.Optional[builtins.str] = None,
6695
7229
  jsii_release_version: typing.Optional[builtins.str] = None,
6696
7230
  major_version: typing.Optional[jsii.Number] = None,
6697
7231
  min_major_version: typing.Optional[jsii.Number] = None,
7232
+ next_version_command: typing.Optional[builtins.str] = None,
6698
7233
  npm_dist_tag: typing.Optional[builtins.str] = None,
6699
7234
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
6700
7235
  prerelease: typing.Optional[builtins.str] = None,
@@ -6702,12 +7237,14 @@ class ReactProject(
6702
7237
  publish_tasks: typing.Optional[builtins.bool] = None,
6703
7238
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
6704
7239
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
7240
+ release_environment: typing.Optional[builtins.str] = None,
6705
7241
  release_every_commit: typing.Optional[builtins.bool] = None,
6706
7242
  release_failure_issue: typing.Optional[builtins.bool] = None,
6707
7243
  release_failure_issue_label: typing.Optional[builtins.str] = None,
6708
7244
  release_schedule: typing.Optional[builtins.str] = None,
6709
7245
  release_tag_prefix: typing.Optional[builtins.str] = None,
6710
7246
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
7247
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6711
7248
  release_workflow_name: typing.Optional[builtins.str] = None,
6712
7249
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
6713
7250
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -6732,14 +7269,18 @@ class ReactProject(
6732
7269
  :param srcdir: (experimental) Source directory. Default: "src"
6733
7270
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
6734
7271
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
7272
+ :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
7273
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
6735
7274
  :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
7275
+ :param biome: (experimental) Setup Biome. Default: false
7276
+ :param biome_options: (experimental) Biome options. Default: - default options
6736
7277
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
6737
7278
  :param build_workflow_options: (experimental) Options for PR build workflow.
6738
7279
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
6739
7280
  :param bundler_options: (experimental) Options for ``Bundler``.
6740
7281
  :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
6741
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
6742
- :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
7282
+ :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
7283
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
6743
7284
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
6744
7285
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
6745
7286
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -6766,8 +7307,8 @@ class ReactProject(
6766
7307
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
6767
7308
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
6768
7309
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
6769
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
6770
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
7310
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
7311
+ :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/*``.
6771
7312
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
6772
7313
  :param rewire: (experimental) Rewire webpack configuration. Use this property to override webpack configuration properties provided by create-react-app, without needing to eject. This property will create a ``config-overrides.js`` file in your root directory, which will contain the desired rewiring code. To **override** the configuration, you can provide simple key value pairs. Keys take the form of js code directives that traverse to the desired property. Values should be JSON serializable objects. For example, the following config:: rewire: { "module.unknownContextCritical": false } Will translate to the following ``config-overrides.js`` file:: module.exports = function override(config, env) { config.module.unknownContextCritical = false; } Default: - No rewired config.
6773
7314
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
@@ -6797,6 +7338,7 @@ class ReactProject(
6797
7338
  :param bugs_email: (experimental) The email address to which issues should be reported.
6798
7339
  :param bugs_url: (experimental) The url to your project's issue tracker.
6799
7340
  :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.
7341
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
6800
7342
  :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
6801
7343
  :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: []
6802
7344
  :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
@@ -6806,27 +7348,30 @@ class ReactProject(
6806
7348
  :param keywords: (experimental) Keywords to include in ``package.json``.
6807
7349
  :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"
6808
7350
  :param licensed: (experimental) Indicates if a license should be added. Default: true
6809
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
6810
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
7351
+ :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
7352
+ :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
6811
7353
  :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``.
6812
7354
  :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
6813
7355
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
6814
7356
  :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"
6815
7357
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
7358
+ :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
6816
7359
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
6817
7360
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
6818
7361
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
6819
7362
  :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: []
6820
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
7363
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
6821
7364
  :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
6822
7365
  :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.
6823
7366
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
6824
7367
  :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: {}
6825
7368
  :param stability: (experimental) Package's Stability.
6826
7369
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
7370
+ :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"
6827
7371
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
6828
7372
  :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.
6829
7373
  :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
7374
+ :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.
6830
7375
  :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"
6831
7376
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
6832
7377
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -6834,15 +7379,17 @@ class ReactProject(
6834
7379
  :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
6835
7380
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
6836
7381
  :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.
7382
+ :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
6837
7383
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
6838
7384
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
6839
7385
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
6840
7386
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
6841
7387
  :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"
6842
7388
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
7389
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
6843
7390
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
6844
7391
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
6845
- :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
7392
+ :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
6846
7393
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
6847
7394
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
6848
7395
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -6866,7 +7413,11 @@ class ReactProject(
6866
7413
  srcdir=srcdir,
6867
7414
  default_release_branch=default_release_branch,
6868
7415
  artifacts_directory=artifacts_directory,
7416
+ audit_deps=audit_deps,
7417
+ audit_deps_options=audit_deps_options,
6869
7418
  auto_approve_upgrades=auto_approve_upgrades,
7419
+ biome=biome,
7420
+ biome_options=biome_options,
6870
7421
  build_workflow=build_workflow,
6871
7422
  build_workflow_options=build_workflow_options,
6872
7423
  build_workflow_triggers=build_workflow_triggers,
@@ -6931,6 +7482,7 @@ class ReactProject(
6931
7482
  bugs_email=bugs_email,
6932
7483
  bugs_url=bugs_url,
6933
7484
  bundled_deps=bundled_deps,
7485
+ bun_version=bun_version,
6934
7486
  code_artifact_options=code_artifact_options,
6935
7487
  deps=deps,
6936
7488
  description=description,
@@ -6947,6 +7499,7 @@ class ReactProject(
6947
7499
  npm_registry=npm_registry,
6948
7500
  npm_registry_url=npm_registry_url,
6949
7501
  npm_token_secret=npm_token_secret,
7502
+ npm_trusted_publishing=npm_trusted_publishing,
6950
7503
  package_manager=package_manager,
6951
7504
  package_name=package_name,
6952
7505
  peer_dependency_options=peer_dependency_options,
@@ -6958,9 +7511,11 @@ class ReactProject(
6958
7511
  scripts=scripts,
6959
7512
  stability=stability,
6960
7513
  yarn_berry_options=yarn_berry_options,
7514
+ bump_package=bump_package,
6961
7515
  jsii_release_version=jsii_release_version,
6962
7516
  major_version=major_version,
6963
7517
  min_major_version=min_major_version,
7518
+ next_version_command=next_version_command,
6964
7519
  npm_dist_tag=npm_dist_tag,
6965
7520
  post_build_steps=post_build_steps,
6966
7521
  prerelease=prerelease,
@@ -6968,12 +7523,14 @@ class ReactProject(
6968
7523
  publish_tasks=publish_tasks,
6969
7524
  releasable_commits=releasable_commits,
6970
7525
  release_branches=release_branches,
7526
+ release_environment=release_environment,
6971
7527
  release_every_commit=release_every_commit,
6972
7528
  release_failure_issue=release_failure_issue,
6973
7529
  release_failure_issue_label=release_failure_issue_label,
6974
7530
  release_schedule=release_schedule,
6975
7531
  release_tag_prefix=release_tag_prefix,
6976
7532
  release_trigger=release_trigger,
7533
+ release_workflow_env=release_workflow_env,
6977
7534
  release_workflow_name=release_workflow_name,
6978
7535
  release_workflow_setup_steps=release_workflow_setup_steps,
6979
7536
  versionrc_options=versionrc_options,
@@ -7296,7 +7853,11 @@ class ReactTypeScriptProject(
7296
7853
  rewire: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
7297
7854
  default_release_branch: builtins.str,
7298
7855
  artifacts_directory: typing.Optional[builtins.str] = None,
7856
+ audit_deps: typing.Optional[builtins.bool] = None,
7857
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
7299
7858
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
7859
+ biome: typing.Optional[builtins.bool] = None,
7860
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
7300
7861
  build_workflow: typing.Optional[builtins.bool] = None,
7301
7862
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
7302
7863
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7360,6 +7921,7 @@ class ReactTypeScriptProject(
7360
7921
  bugs_email: typing.Optional[builtins.str] = None,
7361
7922
  bugs_url: typing.Optional[builtins.str] = None,
7362
7923
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7924
+ bun_version: typing.Optional[builtins.str] = None,
7363
7925
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
7364
7926
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7365
7927
  description: typing.Optional[builtins.str] = None,
@@ -7376,6 +7938,7 @@ class ReactTypeScriptProject(
7376
7938
  npm_registry: typing.Optional[builtins.str] = None,
7377
7939
  npm_registry_url: typing.Optional[builtins.str] = None,
7378
7940
  npm_token_secret: typing.Optional[builtins.str] = None,
7941
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7379
7942
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
7380
7943
  package_name: typing.Optional[builtins.str] = None,
7381
7944
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7387,9 +7950,11 @@ class ReactTypeScriptProject(
7387
7950
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7388
7951
  stability: typing.Optional[builtins.str] = None,
7389
7952
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
7953
+ bump_package: typing.Optional[builtins.str] = None,
7390
7954
  jsii_release_version: typing.Optional[builtins.str] = None,
7391
7955
  major_version: typing.Optional[jsii.Number] = None,
7392
7956
  min_major_version: typing.Optional[jsii.Number] = None,
7957
+ next_version_command: typing.Optional[builtins.str] = None,
7393
7958
  npm_dist_tag: typing.Optional[builtins.str] = None,
7394
7959
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7395
7960
  prerelease: typing.Optional[builtins.str] = None,
@@ -7397,12 +7962,14 @@ class ReactTypeScriptProject(
7397
7962
  publish_tasks: typing.Optional[builtins.bool] = None,
7398
7963
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7399
7964
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
7965
+ release_environment: typing.Optional[builtins.str] = None,
7400
7966
  release_every_commit: typing.Optional[builtins.bool] = None,
7401
7967
  release_failure_issue: typing.Optional[builtins.bool] = None,
7402
7968
  release_failure_issue_label: typing.Optional[builtins.str] = None,
7403
7969
  release_schedule: typing.Optional[builtins.str] = None,
7404
7970
  release_tag_prefix: typing.Optional[builtins.str] = None,
7405
7971
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
7972
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7406
7973
  release_workflow_name: typing.Optional[builtins.str] = None,
7407
7974
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7408
7975
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -7428,7 +7995,7 @@ class ReactTypeScriptProject(
7428
7995
  :param docgen: (experimental) Docgen by Typedoc. Default: false
7429
7996
  :param docs_directory: (experimental) Docs directory. Default: "docs"
7430
7997
  :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)
7431
- :param eslint: (experimental) Setup eslint. Default: true
7998
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
7432
7999
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
7433
8000
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
7434
8001
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -7444,14 +8011,18 @@ class ReactTypeScriptProject(
7444
8011
  :param rewire: (experimental) Rewire webpack configuration. Use this property to override webpack configuration properties provided by create-react-app, without needing to eject. This property will create a ``config-overrides.js`` file in your root directory, which will contain the desired rewiring code. To **override** the configuration, you can provide simple key value pairs. Keys take the form of js code directives that traverse to the desired property. Values should be JSON serializable objects. For example, the following config:: rewire: { "module.unknownContextCritical": false } Will translate to the following ``config-overrides.js`` file:: module.exports = function override(config, env) { config.module.unknownContextCritical = false; } Default: - No rewired config.
7445
8012
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
7446
8013
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
8014
+ :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
8015
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
7447
8016
  :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
8017
+ :param biome: (experimental) Setup Biome. Default: false
8018
+ :param biome_options: (experimental) Biome options. Default: - default options
7448
8019
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
7449
8020
  :param build_workflow_options: (experimental) Options for PR build workflow.
7450
8021
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
7451
8022
  :param bundler_options: (experimental) Options for ``Bundler``.
7452
8023
  :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
7453
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
7454
- :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
8024
+ :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
8025
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
7455
8026
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
7456
8027
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
7457
8028
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -7478,8 +8049,8 @@ class ReactTypeScriptProject(
7478
8049
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
7479
8050
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
7480
8051
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
7481
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
7482
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
8052
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
8053
+ :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/*``.
7483
8054
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
7484
8055
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
7485
8056
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -7508,6 +8079,7 @@ class ReactTypeScriptProject(
7508
8079
  :param bugs_email: (experimental) The email address to which issues should be reported.
7509
8080
  :param bugs_url: (experimental) The url to your project's issue tracker.
7510
8081
  :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.
8082
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
7511
8083
  :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
7512
8084
  :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: []
7513
8085
  :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
@@ -7517,27 +8089,30 @@ class ReactTypeScriptProject(
7517
8089
  :param keywords: (experimental) Keywords to include in ``package.json``.
7518
8090
  :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"
7519
8091
  :param licensed: (experimental) Indicates if a license should be added. Default: true
7520
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
7521
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
8092
+ :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
8093
+ :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
7522
8094
  :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``.
7523
8095
  :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
7524
8096
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
7525
8097
  :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"
7526
8098
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
8099
+ :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
7527
8100
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
7528
8101
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
7529
8102
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
7530
8103
  :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: []
7531
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
8104
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
7532
8105
  :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
7533
8106
  :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.
7534
8107
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
7535
8108
  :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: {}
7536
8109
  :param stability: (experimental) Package's Stability.
7537
8110
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
8111
+ :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"
7538
8112
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
7539
8113
  :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.
7540
8114
  :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
8115
+ :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.
7541
8116
  :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"
7542
8117
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
7543
8118
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -7545,15 +8120,17 @@ class ReactTypeScriptProject(
7545
8120
  :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
7546
8121
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
7547
8122
  :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.
8123
+ :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
7548
8124
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
7549
8125
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
7550
8126
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
7551
8127
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
7552
8128
  :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"
7553
8129
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
8130
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
7554
8131
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
7555
8132
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
7556
- :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
8133
+ :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
7557
8134
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
7558
8135
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
7559
8136
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -7594,7 +8171,11 @@ class ReactTypeScriptProject(
7594
8171
  rewire=rewire,
7595
8172
  default_release_branch=default_release_branch,
7596
8173
  artifacts_directory=artifacts_directory,
8174
+ audit_deps=audit_deps,
8175
+ audit_deps_options=audit_deps_options,
7597
8176
  auto_approve_upgrades=auto_approve_upgrades,
8177
+ biome=biome,
8178
+ biome_options=biome_options,
7598
8179
  build_workflow=build_workflow,
7599
8180
  build_workflow_options=build_workflow_options,
7600
8181
  build_workflow_triggers=build_workflow_triggers,
@@ -7658,6 +8239,7 @@ class ReactTypeScriptProject(
7658
8239
  bugs_email=bugs_email,
7659
8240
  bugs_url=bugs_url,
7660
8241
  bundled_deps=bundled_deps,
8242
+ bun_version=bun_version,
7661
8243
  code_artifact_options=code_artifact_options,
7662
8244
  deps=deps,
7663
8245
  description=description,
@@ -7674,6 +8256,7 @@ class ReactTypeScriptProject(
7674
8256
  npm_registry=npm_registry,
7675
8257
  npm_registry_url=npm_registry_url,
7676
8258
  npm_token_secret=npm_token_secret,
8259
+ npm_trusted_publishing=npm_trusted_publishing,
7677
8260
  package_manager=package_manager,
7678
8261
  package_name=package_name,
7679
8262
  peer_dependency_options=peer_dependency_options,
@@ -7685,9 +8268,11 @@ class ReactTypeScriptProject(
7685
8268
  scripts=scripts,
7686
8269
  stability=stability,
7687
8270
  yarn_berry_options=yarn_berry_options,
8271
+ bump_package=bump_package,
7688
8272
  jsii_release_version=jsii_release_version,
7689
8273
  major_version=major_version,
7690
8274
  min_major_version=min_major_version,
8275
+ next_version_command=next_version_command,
7691
8276
  npm_dist_tag=npm_dist_tag,
7692
8277
  post_build_steps=post_build_steps,
7693
8278
  prerelease=prerelease,
@@ -7695,12 +8280,14 @@ class ReactTypeScriptProject(
7695
8280
  publish_tasks=publish_tasks,
7696
8281
  releasable_commits=releasable_commits,
7697
8282
  release_branches=release_branches,
8283
+ release_environment=release_environment,
7698
8284
  release_every_commit=release_every_commit,
7699
8285
  release_failure_issue=release_failure_issue,
7700
8286
  release_failure_issue_label=release_failure_issue_label,
7701
8287
  release_schedule=release_schedule,
7702
8288
  release_tag_prefix=release_tag_prefix,
7703
8289
  release_trigger=release_trigger,
8290
+ release_workflow_env=release_workflow_env,
7704
8291
  release_workflow_name=release_workflow_name,
7705
8292
  release_workflow_setup_steps=release_workflow_setup_steps,
7706
8293
  versionrc_options=versionrc_options,
@@ -7776,6 +8363,7 @@ class ReactTypeScriptProject(
7776
8363
  "bugs_email": "bugsEmail",
7777
8364
  "bugs_url": "bugsUrl",
7778
8365
  "bundled_deps": "bundledDeps",
8366
+ "bun_version": "bunVersion",
7779
8367
  "code_artifact_options": "codeArtifactOptions",
7780
8368
  "deps": "deps",
7781
8369
  "description": "description",
@@ -7792,6 +8380,7 @@ class ReactTypeScriptProject(
7792
8380
  "npm_registry": "npmRegistry",
7793
8381
  "npm_registry_url": "npmRegistryUrl",
7794
8382
  "npm_token_secret": "npmTokenSecret",
8383
+ "npm_trusted_publishing": "npmTrustedPublishing",
7795
8384
  "package_manager": "packageManager",
7796
8385
  "package_name": "packageName",
7797
8386
  "peer_dependency_options": "peerDependencyOptions",
@@ -7803,9 +8392,11 @@ class ReactTypeScriptProject(
7803
8392
  "scripts": "scripts",
7804
8393
  "stability": "stability",
7805
8394
  "yarn_berry_options": "yarnBerryOptions",
8395
+ "bump_package": "bumpPackage",
7806
8396
  "jsii_release_version": "jsiiReleaseVersion",
7807
8397
  "major_version": "majorVersion",
7808
8398
  "min_major_version": "minMajorVersion",
8399
+ "next_version_command": "nextVersionCommand",
7809
8400
  "npm_dist_tag": "npmDistTag",
7810
8401
  "post_build_steps": "postBuildSteps",
7811
8402
  "prerelease": "prerelease",
@@ -7813,12 +8404,14 @@ class ReactTypeScriptProject(
7813
8404
  "publish_tasks": "publishTasks",
7814
8405
  "releasable_commits": "releasableCommits",
7815
8406
  "release_branches": "releaseBranches",
8407
+ "release_environment": "releaseEnvironment",
7816
8408
  "release_every_commit": "releaseEveryCommit",
7817
8409
  "release_failure_issue": "releaseFailureIssue",
7818
8410
  "release_failure_issue_label": "releaseFailureIssueLabel",
7819
8411
  "release_schedule": "releaseSchedule",
7820
8412
  "release_tag_prefix": "releaseTagPrefix",
7821
8413
  "release_trigger": "releaseTrigger",
8414
+ "release_workflow_env": "releaseWorkflowEnv",
7822
8415
  "release_workflow_name": "releaseWorkflowName",
7823
8416
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
7824
8417
  "versionrc_options": "versionrcOptions",
@@ -7827,7 +8420,11 @@ class ReactTypeScriptProject(
7827
8420
  "workflow_runs_on_group": "workflowRunsOnGroup",
7828
8421
  "default_release_branch": "defaultReleaseBranch",
7829
8422
  "artifacts_directory": "artifactsDirectory",
8423
+ "audit_deps": "auditDeps",
8424
+ "audit_deps_options": "auditDepsOptions",
7830
8425
  "auto_approve_upgrades": "autoApproveUpgrades",
8426
+ "biome": "biome",
8427
+ "biome_options": "biomeOptions",
7831
8428
  "build_workflow": "buildWorkflow",
7832
8429
  "build_workflow_options": "buildWorkflowOptions",
7833
8430
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -7931,6 +8528,7 @@ class ReactTypeScriptProjectOptions(
7931
8528
  bugs_email: typing.Optional[builtins.str] = None,
7932
8529
  bugs_url: typing.Optional[builtins.str] = None,
7933
8530
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8531
+ bun_version: typing.Optional[builtins.str] = None,
7934
8532
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
7935
8533
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7936
8534
  description: typing.Optional[builtins.str] = None,
@@ -7947,6 +8545,7 @@ class ReactTypeScriptProjectOptions(
7947
8545
  npm_registry: typing.Optional[builtins.str] = None,
7948
8546
  npm_registry_url: typing.Optional[builtins.str] = None,
7949
8547
  npm_token_secret: typing.Optional[builtins.str] = None,
8548
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7950
8549
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
7951
8550
  package_name: typing.Optional[builtins.str] = None,
7952
8551
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7958,9 +8557,11 @@ class ReactTypeScriptProjectOptions(
7958
8557
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7959
8558
  stability: typing.Optional[builtins.str] = None,
7960
8559
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
8560
+ bump_package: typing.Optional[builtins.str] = None,
7961
8561
  jsii_release_version: typing.Optional[builtins.str] = None,
7962
8562
  major_version: typing.Optional[jsii.Number] = None,
7963
8563
  min_major_version: typing.Optional[jsii.Number] = None,
8564
+ next_version_command: typing.Optional[builtins.str] = None,
7964
8565
  npm_dist_tag: typing.Optional[builtins.str] = None,
7965
8566
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7966
8567
  prerelease: typing.Optional[builtins.str] = None,
@@ -7968,12 +8569,14 @@ class ReactTypeScriptProjectOptions(
7968
8569
  publish_tasks: typing.Optional[builtins.bool] = None,
7969
8570
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7970
8571
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
8572
+ release_environment: typing.Optional[builtins.str] = None,
7971
8573
  release_every_commit: typing.Optional[builtins.bool] = None,
7972
8574
  release_failure_issue: typing.Optional[builtins.bool] = None,
7973
8575
  release_failure_issue_label: typing.Optional[builtins.str] = None,
7974
8576
  release_schedule: typing.Optional[builtins.str] = None,
7975
8577
  release_tag_prefix: typing.Optional[builtins.str] = None,
7976
8578
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
8579
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7977
8580
  release_workflow_name: typing.Optional[builtins.str] = None,
7978
8581
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7979
8582
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -7982,7 +8585,11 @@ class ReactTypeScriptProjectOptions(
7982
8585
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
7983
8586
  default_release_branch: builtins.str,
7984
8587
  artifacts_directory: typing.Optional[builtins.str] = None,
8588
+ audit_deps: typing.Optional[builtins.bool] = None,
8589
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
7985
8590
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
8591
+ biome: typing.Optional[builtins.bool] = None,
8592
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
7986
8593
  build_workflow: typing.Optional[builtins.bool] = None,
7987
8594
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
7988
8595
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8079,6 +8686,7 @@ class ReactTypeScriptProjectOptions(
8079
8686
  :param bugs_email: (experimental) The email address to which issues should be reported.
8080
8687
  :param bugs_url: (experimental) The url to your project's issue tracker.
8081
8688
  :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.
8689
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
8082
8690
  :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
8083
8691
  :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: []
8084
8692
  :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
@@ -8088,27 +8696,30 @@ class ReactTypeScriptProjectOptions(
8088
8696
  :param keywords: (experimental) Keywords to include in ``package.json``.
8089
8697
  :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"
8090
8698
  :param licensed: (experimental) Indicates if a license should be added. Default: true
8091
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
8092
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
8699
+ :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
8700
+ :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
8093
8701
  :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``.
8094
8702
  :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
8095
8703
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
8096
8704
  :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"
8097
8705
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
8706
+ :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
8098
8707
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
8099
8708
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
8100
8709
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
8101
8710
  :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: []
8102
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
8711
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
8103
8712
  :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
8104
8713
  :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.
8105
8714
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
8106
8715
  :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: {}
8107
8716
  :param stability: (experimental) Package's Stability.
8108
8717
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
8718
+ :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"
8109
8719
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
8110
8720
  :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.
8111
8721
  :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
8722
+ :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.
8112
8723
  :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"
8113
8724
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
8114
8725
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -8116,28 +8727,34 @@ class ReactTypeScriptProjectOptions(
8116
8727
  :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
8117
8728
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
8118
8729
  :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.
8730
+ :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
8119
8731
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
8120
8732
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
8121
8733
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
8122
8734
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
8123
8735
  :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"
8124
8736
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
8737
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
8125
8738
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
8126
8739
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
8127
- :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
8740
+ :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
8128
8741
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
8129
8742
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
8130
8743
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
8131
8744
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
8132
8745
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
8746
+ :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
8747
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
8133
8748
  :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
8749
+ :param biome: (experimental) Setup Biome. Default: false
8750
+ :param biome_options: (experimental) Biome options. Default: - default options
8134
8751
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
8135
8752
  :param build_workflow_options: (experimental) Options for PR build workflow.
8136
8753
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
8137
8754
  :param bundler_options: (experimental) Options for ``Bundler``.
8138
8755
  :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
8139
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
8140
- :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
8756
+ :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
8757
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
8141
8758
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
8142
8759
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
8143
8760
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -8164,15 +8781,15 @@ class ReactTypeScriptProjectOptions(
8164
8781
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
8165
8782
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
8166
8783
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
8167
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
8168
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
8784
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
8785
+ :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/*``.
8169
8786
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
8170
8787
  :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
8171
8788
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
8172
8789
  :param docgen: (experimental) Docgen by Typedoc. Default: false
8173
8790
  :param docs_directory: (experimental) Docs directory. Default: "docs"
8174
8791
  :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)
8175
- :param eslint: (experimental) Setup eslint. Default: true
8792
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
8176
8793
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
8177
8794
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
8178
8795
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -8219,6 +8836,10 @@ class ReactTypeScriptProjectOptions(
8219
8836
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
8220
8837
  if isinstance(workflow_runs_on_group, dict):
8221
8838
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
8839
+ if isinstance(audit_deps_options, dict):
8840
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
8841
+ if isinstance(biome_options, dict):
8842
+ biome_options = _BiomeOptions_452ab984(**biome_options)
8222
8843
  if isinstance(build_workflow_options, dict):
8223
8844
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
8224
8845
  if isinstance(build_workflow_triggers, dict):
@@ -8292,6 +8913,7 @@ class ReactTypeScriptProjectOptions(
8292
8913
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
8293
8914
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
8294
8915
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
8916
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
8295
8917
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
8296
8918
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
8297
8919
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -8308,6 +8930,7 @@ class ReactTypeScriptProjectOptions(
8308
8930
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
8309
8931
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
8310
8932
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
8933
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
8311
8934
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
8312
8935
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
8313
8936
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -8319,9 +8942,11 @@ class ReactTypeScriptProjectOptions(
8319
8942
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
8320
8943
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
8321
8944
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
8945
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
8322
8946
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
8323
8947
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
8324
8948
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
8949
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
8325
8950
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
8326
8951
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
8327
8952
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -8329,12 +8954,14 @@ class ReactTypeScriptProjectOptions(
8329
8954
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
8330
8955
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
8331
8956
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
8957
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
8332
8958
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
8333
8959
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
8334
8960
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
8335
8961
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
8336
8962
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
8337
8963
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
8964
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
8338
8965
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
8339
8966
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
8340
8967
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -8343,7 +8970,11 @@ class ReactTypeScriptProjectOptions(
8343
8970
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
8344
8971
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
8345
8972
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
8973
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
8974
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
8346
8975
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
8976
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
8977
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
8347
8978
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
8348
8979
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
8349
8980
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -8479,6 +9110,8 @@ class ReactTypeScriptProjectOptions(
8479
9110
  self._values["bugs_url"] = bugs_url
8480
9111
  if bundled_deps is not None:
8481
9112
  self._values["bundled_deps"] = bundled_deps
9113
+ if bun_version is not None:
9114
+ self._values["bun_version"] = bun_version
8482
9115
  if code_artifact_options is not None:
8483
9116
  self._values["code_artifact_options"] = code_artifact_options
8484
9117
  if deps is not None:
@@ -8511,6 +9144,8 @@ class ReactTypeScriptProjectOptions(
8511
9144
  self._values["npm_registry_url"] = npm_registry_url
8512
9145
  if npm_token_secret is not None:
8513
9146
  self._values["npm_token_secret"] = npm_token_secret
9147
+ if npm_trusted_publishing is not None:
9148
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
8514
9149
  if package_manager is not None:
8515
9150
  self._values["package_manager"] = package_manager
8516
9151
  if package_name is not None:
@@ -8533,12 +9168,16 @@ class ReactTypeScriptProjectOptions(
8533
9168
  self._values["stability"] = stability
8534
9169
  if yarn_berry_options is not None:
8535
9170
  self._values["yarn_berry_options"] = yarn_berry_options
9171
+ if bump_package is not None:
9172
+ self._values["bump_package"] = bump_package
8536
9173
  if jsii_release_version is not None:
8537
9174
  self._values["jsii_release_version"] = jsii_release_version
8538
9175
  if major_version is not None:
8539
9176
  self._values["major_version"] = major_version
8540
9177
  if min_major_version is not None:
8541
9178
  self._values["min_major_version"] = min_major_version
9179
+ if next_version_command is not None:
9180
+ self._values["next_version_command"] = next_version_command
8542
9181
  if npm_dist_tag is not None:
8543
9182
  self._values["npm_dist_tag"] = npm_dist_tag
8544
9183
  if post_build_steps is not None:
@@ -8553,6 +9192,8 @@ class ReactTypeScriptProjectOptions(
8553
9192
  self._values["releasable_commits"] = releasable_commits
8554
9193
  if release_branches is not None:
8555
9194
  self._values["release_branches"] = release_branches
9195
+ if release_environment is not None:
9196
+ self._values["release_environment"] = release_environment
8556
9197
  if release_every_commit is not None:
8557
9198
  self._values["release_every_commit"] = release_every_commit
8558
9199
  if release_failure_issue is not None:
@@ -8565,6 +9206,8 @@ class ReactTypeScriptProjectOptions(
8565
9206
  self._values["release_tag_prefix"] = release_tag_prefix
8566
9207
  if release_trigger is not None:
8567
9208
  self._values["release_trigger"] = release_trigger
9209
+ if release_workflow_env is not None:
9210
+ self._values["release_workflow_env"] = release_workflow_env
8568
9211
  if release_workflow_name is not None:
8569
9212
  self._values["release_workflow_name"] = release_workflow_name
8570
9213
  if release_workflow_setup_steps is not None:
@@ -8579,8 +9222,16 @@ class ReactTypeScriptProjectOptions(
8579
9222
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
8580
9223
  if artifacts_directory is not None:
8581
9224
  self._values["artifacts_directory"] = artifacts_directory
9225
+ if audit_deps is not None:
9226
+ self._values["audit_deps"] = audit_deps
9227
+ if audit_deps_options is not None:
9228
+ self._values["audit_deps_options"] = audit_deps_options
8582
9229
  if auto_approve_upgrades is not None:
8583
9230
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
9231
+ if biome is not None:
9232
+ self._values["biome"] = biome
9233
+ if biome_options is not None:
9234
+ self._values["biome_options"] = biome_options
8584
9235
  if build_workflow is not None:
8585
9236
  self._values["build_workflow"] = build_workflow
8586
9237
  if build_workflow_options is not None:
@@ -9156,6 +9807,17 @@ class ReactTypeScriptProjectOptions(
9156
9807
  result = self._values.get("bundled_deps")
9157
9808
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
9158
9809
 
9810
+ @builtins.property
9811
+ def bun_version(self) -> typing.Optional[builtins.str]:
9812
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
9813
+
9814
+ :default: "latest"
9815
+
9816
+ :stability: experimental
9817
+ '''
9818
+ result = self._values.get("bun_version")
9819
+ return typing.cast(typing.Optional[builtins.str], result)
9820
+
9159
9821
  @builtins.property
9160
9822
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
9161
9823
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -9290,9 +9952,15 @@ class ReactTypeScriptProjectOptions(
9290
9952
 
9291
9953
  @builtins.property
9292
9954
  def max_node_version(self) -> typing.Optional[builtins.str]:
9293
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
9955
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
9956
+
9957
+ The value indicates that the package is incompatible with any newer versions of node.
9958
+ This requirement is enforced via the engines field.
9294
9959
 
9295
- :default: - no max
9960
+ You will normally not need to set this option.
9961
+ Consider this option only if your package is known to not function with newer versions of node.
9962
+
9963
+ :default: - no maximum version is enforced
9296
9964
 
9297
9965
  :stability: experimental
9298
9966
  '''
@@ -9301,9 +9969,19 @@ class ReactTypeScriptProjectOptions(
9301
9969
 
9302
9970
  @builtins.property
9303
9971
  def min_node_version(self) -> typing.Optional[builtins.str]:
9304
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
9972
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
9973
+
9974
+ The value indicates that the package is incompatible with any older versions of node.
9975
+ This requirement is enforced via the engines field.
9976
+
9977
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
9978
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
9979
+ Setting this option has very high impact on the consumers of your package,
9980
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
9305
9981
 
9306
- :default: - no "engines" specified
9982
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
9983
+
9984
+ :default: - no minimum version is enforced
9307
9985
 
9308
9986
  :stability: experimental
9309
9987
  '''
@@ -9380,6 +10058,17 @@ class ReactTypeScriptProjectOptions(
9380
10058
  result = self._values.get("npm_token_secret")
9381
10059
  return typing.cast(typing.Optional[builtins.str], result)
9382
10060
 
10061
+ @builtins.property
10062
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
10063
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
10064
+
10065
+ :default: - false
10066
+
10067
+ :stability: experimental
10068
+ '''
10069
+ result = self._values.get("npm_trusted_publishing")
10070
+ return typing.cast(typing.Optional[builtins.bool], result)
10071
+
9383
10072
  @builtins.property
9384
10073
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
9385
10074
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -9443,7 +10132,7 @@ class ReactTypeScriptProjectOptions(
9443
10132
  def pnpm_version(self) -> typing.Optional[builtins.str]:
9444
10133
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
9445
10134
 
9446
- :default: "7"
10135
+ :default: "9"
9447
10136
 
9448
10137
  :stability: experimental
9449
10138
  '''
@@ -9520,6 +10209,19 @@ class ReactTypeScriptProjectOptions(
9520
10209
  result = self._values.get("yarn_berry_options")
9521
10210
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
9522
10211
 
10212
+ @builtins.property
10213
+ def bump_package(self) -> typing.Optional[builtins.str]:
10214
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
10215
+
10216
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
10217
+
10218
+ :default: - A recent version of "commit-and-tag-version"
10219
+
10220
+ :stability: experimental
10221
+ '''
10222
+ result = self._values.get("bump_package")
10223
+ return typing.cast(typing.Optional[builtins.str], result)
10224
+
9523
10225
  @builtins.property
9524
10226
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
9525
10227
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -9561,6 +10263,36 @@ class ReactTypeScriptProjectOptions(
9561
10263
  result = self._values.get("min_major_version")
9562
10264
  return typing.cast(typing.Optional[jsii.Number], result)
9563
10265
 
10266
+ @builtins.property
10267
+ def next_version_command(self) -> typing.Optional[builtins.str]:
10268
+ '''(experimental) A shell command to control the next version to release.
10269
+
10270
+ If present, this shell command will be run before the bump is executed, and
10271
+ it determines what version to release. It will be executed in the following
10272
+ environment:
10273
+
10274
+ - Working directory: the project directory.
10275
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
10276
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
10277
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
10278
+
10279
+ The command should print one of the following to ``stdout``:
10280
+
10281
+ - Nothing: the next version number will be determined based on commit history.
10282
+ - ``x.y.z``: the next version number will be ``x.y.z``.
10283
+ - ``major|minor|patch``: the next version number will be the current version number
10284
+ with the indicated component bumped.
10285
+
10286
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
10287
+ script can be used to achieve the effects of ``minMajorVersion``.
10288
+
10289
+ :default: - The next version will be determined based on the commit history and project settings.
10290
+
10291
+ :stability: experimental
10292
+ '''
10293
+ result = self._values.get("next_version_command")
10294
+ return typing.cast(typing.Optional[builtins.str], result)
10295
+
9564
10296
  @builtins.property
9565
10297
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
9566
10298
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -9656,6 +10388,23 @@ class ReactTypeScriptProjectOptions(
9656
10388
  result = self._values.get("release_branches")
9657
10389
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
9658
10390
 
10391
+ @builtins.property
10392
+ def release_environment(self) -> typing.Optional[builtins.str]:
10393
+ '''(experimental) The GitHub Actions environment used for the release.
10394
+
10395
+ This can be used to add an explicit approval step to the release
10396
+ or limit who can initiate a release through environment protection rules.
10397
+
10398
+ When multiple artifacts are released, the environment can be overwritten
10399
+ on a per artifact basis.
10400
+
10401
+ :default: - no environment used, unless set at the artifact level
10402
+
10403
+ :stability: experimental
10404
+ '''
10405
+ result = self._values.get("release_environment")
10406
+ return typing.cast(typing.Optional[builtins.str], result)
10407
+
9659
10408
  @builtins.property
9660
10409
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
9661
10410
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -9733,6 +10482,19 @@ class ReactTypeScriptProjectOptions(
9733
10482
  result = self._values.get("release_trigger")
9734
10483
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
9735
10484
 
10485
+ @builtins.property
10486
+ def release_workflow_env(
10487
+ self,
10488
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
10489
+ '''(experimental) Build environment variables for release workflows.
10490
+
10491
+ :default: {}
10492
+
10493
+ :stability: experimental
10494
+ '''
10495
+ result = self._values.get("release_workflow_env")
10496
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
10497
+
9736
10498
  @builtins.property
9737
10499
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
9738
10500
  '''(experimental) The name of the default release workflow.
@@ -9759,7 +10521,7 @@ class ReactTypeScriptProjectOptions(
9759
10521
  def versionrc_options(
9760
10522
  self,
9761
10523
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
9762
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
10524
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
9763
10525
 
9764
10526
  Given values either append to default configuration or overwrite values in it.
9765
10527
 
@@ -9828,6 +10590,32 @@ class ReactTypeScriptProjectOptions(
9828
10590
  result = self._values.get("artifacts_directory")
9829
10591
  return typing.cast(typing.Optional[builtins.str], result)
9830
10592
 
10593
+ @builtins.property
10594
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
10595
+ '''(experimental) Run security audit on dependencies.
10596
+
10597
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
10598
+ in dependencies. By default, runs during every build and checks for "high" severity
10599
+ vulnerabilities or above in all dependencies (including dev dependencies).
10600
+
10601
+ :default: false
10602
+
10603
+ :stability: experimental
10604
+ '''
10605
+ result = self._values.get("audit_deps")
10606
+ return typing.cast(typing.Optional[builtins.bool], result)
10607
+
10608
+ @builtins.property
10609
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
10610
+ '''(experimental) Security audit options.
10611
+
10612
+ :default: - default options
10613
+
10614
+ :stability: experimental
10615
+ '''
10616
+ result = self._values.get("audit_deps_options")
10617
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
10618
+
9831
10619
  @builtins.property
9832
10620
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
9833
10621
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -9841,6 +10629,28 @@ class ReactTypeScriptProjectOptions(
9841
10629
  result = self._values.get("auto_approve_upgrades")
9842
10630
  return typing.cast(typing.Optional[builtins.bool], result)
9843
10631
 
10632
+ @builtins.property
10633
+ def biome(self) -> typing.Optional[builtins.bool]:
10634
+ '''(experimental) Setup Biome.
10635
+
10636
+ :default: false
10637
+
10638
+ :stability: experimental
10639
+ '''
10640
+ result = self._values.get("biome")
10641
+ return typing.cast(typing.Optional[builtins.bool], result)
10642
+
10643
+ @builtins.property
10644
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
10645
+ '''(experimental) Biome options.
10646
+
10647
+ :default: - default options
10648
+
10649
+ :stability: experimental
10650
+ '''
10651
+ result = self._values.get("biome_options")
10652
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
10653
+
9844
10654
  @builtins.property
9845
10655
  def build_workflow(self) -> typing.Optional[builtins.bool]:
9846
10656
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -9898,7 +10708,7 @@ class ReactTypeScriptProjectOptions(
9898
10708
 
9899
10709
  @builtins.property
9900
10710
  def code_cov(self) -> typing.Optional[builtins.bool]:
9901
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
10711
+ '''(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``.
9902
10712
 
9903
10713
  :default: false
9904
10714
 
@@ -9909,9 +10719,9 @@ class ReactTypeScriptProjectOptions(
9909
10719
 
9910
10720
  @builtins.property
9911
10721
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
9912
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
10722
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
9913
10723
 
9914
- :default: - if this option is not specified, only public repositories are supported
10724
+ :default: - OIDC auth is used
9915
10725
 
9916
10726
  :stability: experimental
9917
10727
  '''
@@ -10224,7 +11034,7 @@ class ReactTypeScriptProjectOptions(
10224
11034
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
10225
11035
  '''(experimental) The git identity to use in workflows.
10226
11036
 
10227
- :default: - GitHub Actions
11037
+ :default: - default GitHub Actions user
10228
11038
 
10229
11039
  :stability: experimental
10230
11040
  '''
@@ -10233,9 +11043,11 @@ class ReactTypeScriptProjectOptions(
10233
11043
 
10234
11044
  @builtins.property
10235
11045
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
10236
- '''(experimental) The node version to use in GitHub workflows.
11046
+ '''(experimental) The node version used in GitHub Actions workflows.
10237
11047
 
10238
- :default: - same as ``minNodeVersion``
11048
+ Always use this option if your GitHub Actions workflows require a specific to run.
11049
+
11050
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
10239
11051
 
10240
11052
  :stability: experimental
10241
11053
  '''
@@ -10312,7 +11124,7 @@ class ReactTypeScriptProjectOptions(
10312
11124
  def eslint(self) -> typing.Optional[builtins.bool]:
10313
11125
  '''(experimental) Setup eslint.
10314
11126
 
10315
- :default: true
11127
+ :default: - true, unless biome is enabled
10316
11128
 
10317
11129
  :stability: experimental
10318
11130
  '''
@@ -10713,6 +11525,7 @@ class ReactComponentOptions(ReactRewireOptions):
10713
11525
  "bugs_email": "bugsEmail",
10714
11526
  "bugs_url": "bugsUrl",
10715
11527
  "bundled_deps": "bundledDeps",
11528
+ "bun_version": "bunVersion",
10716
11529
  "code_artifact_options": "codeArtifactOptions",
10717
11530
  "deps": "deps",
10718
11531
  "description": "description",
@@ -10729,6 +11542,7 @@ class ReactComponentOptions(ReactRewireOptions):
10729
11542
  "npm_registry": "npmRegistry",
10730
11543
  "npm_registry_url": "npmRegistryUrl",
10731
11544
  "npm_token_secret": "npmTokenSecret",
11545
+ "npm_trusted_publishing": "npmTrustedPublishing",
10732
11546
  "package_manager": "packageManager",
10733
11547
  "package_name": "packageName",
10734
11548
  "peer_dependency_options": "peerDependencyOptions",
@@ -10740,9 +11554,11 @@ class ReactComponentOptions(ReactRewireOptions):
10740
11554
  "scripts": "scripts",
10741
11555
  "stability": "stability",
10742
11556
  "yarn_berry_options": "yarnBerryOptions",
11557
+ "bump_package": "bumpPackage",
10743
11558
  "jsii_release_version": "jsiiReleaseVersion",
10744
11559
  "major_version": "majorVersion",
10745
11560
  "min_major_version": "minMajorVersion",
11561
+ "next_version_command": "nextVersionCommand",
10746
11562
  "npm_dist_tag": "npmDistTag",
10747
11563
  "post_build_steps": "postBuildSteps",
10748
11564
  "prerelease": "prerelease",
@@ -10750,12 +11566,14 @@ class ReactComponentOptions(ReactRewireOptions):
10750
11566
  "publish_tasks": "publishTasks",
10751
11567
  "releasable_commits": "releasableCommits",
10752
11568
  "release_branches": "releaseBranches",
11569
+ "release_environment": "releaseEnvironment",
10753
11570
  "release_every_commit": "releaseEveryCommit",
10754
11571
  "release_failure_issue": "releaseFailureIssue",
10755
11572
  "release_failure_issue_label": "releaseFailureIssueLabel",
10756
11573
  "release_schedule": "releaseSchedule",
10757
11574
  "release_tag_prefix": "releaseTagPrefix",
10758
11575
  "release_trigger": "releaseTrigger",
11576
+ "release_workflow_env": "releaseWorkflowEnv",
10759
11577
  "release_workflow_name": "releaseWorkflowName",
10760
11578
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
10761
11579
  "versionrc_options": "versionrcOptions",
@@ -10764,7 +11582,11 @@ class ReactComponentOptions(ReactRewireOptions):
10764
11582
  "workflow_runs_on_group": "workflowRunsOnGroup",
10765
11583
  "default_release_branch": "defaultReleaseBranch",
10766
11584
  "artifacts_directory": "artifactsDirectory",
11585
+ "audit_deps": "auditDeps",
11586
+ "audit_deps_options": "auditDepsOptions",
10767
11587
  "auto_approve_upgrades": "autoApproveUpgrades",
11588
+ "biome": "biome",
11589
+ "biome_options": "biomeOptions",
10768
11590
  "build_workflow": "buildWorkflow",
10769
11591
  "build_workflow_options": "buildWorkflowOptions",
10770
11592
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -10849,6 +11671,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10849
11671
  bugs_email: typing.Optional[builtins.str] = None,
10850
11672
  bugs_url: typing.Optional[builtins.str] = None,
10851
11673
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
11674
+ bun_version: typing.Optional[builtins.str] = None,
10852
11675
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
10853
11676
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
10854
11677
  description: typing.Optional[builtins.str] = None,
@@ -10865,6 +11688,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10865
11688
  npm_registry: typing.Optional[builtins.str] = None,
10866
11689
  npm_registry_url: typing.Optional[builtins.str] = None,
10867
11690
  npm_token_secret: typing.Optional[builtins.str] = None,
11691
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
10868
11692
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
10869
11693
  package_name: typing.Optional[builtins.str] = None,
10870
11694
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -10876,9 +11700,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10876
11700
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10877
11701
  stability: typing.Optional[builtins.str] = None,
10878
11702
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
11703
+ bump_package: typing.Optional[builtins.str] = None,
10879
11704
  jsii_release_version: typing.Optional[builtins.str] = None,
10880
11705
  major_version: typing.Optional[jsii.Number] = None,
10881
11706
  min_major_version: typing.Optional[jsii.Number] = None,
11707
+ next_version_command: typing.Optional[builtins.str] = None,
10882
11708
  npm_dist_tag: typing.Optional[builtins.str] = None,
10883
11709
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
10884
11710
  prerelease: typing.Optional[builtins.str] = None,
@@ -10886,12 +11712,14 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10886
11712
  publish_tasks: typing.Optional[builtins.bool] = None,
10887
11713
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
10888
11714
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
11715
+ release_environment: typing.Optional[builtins.str] = None,
10889
11716
  release_every_commit: typing.Optional[builtins.bool] = None,
10890
11717
  release_failure_issue: typing.Optional[builtins.bool] = None,
10891
11718
  release_failure_issue_label: typing.Optional[builtins.str] = None,
10892
11719
  release_schedule: typing.Optional[builtins.str] = None,
10893
11720
  release_tag_prefix: typing.Optional[builtins.str] = None,
10894
11721
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
11722
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10895
11723
  release_workflow_name: typing.Optional[builtins.str] = None,
10896
11724
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
10897
11725
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -10900,7 +11728,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10900
11728
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
10901
11729
  default_release_branch: builtins.str,
10902
11730
  artifacts_directory: typing.Optional[builtins.str] = None,
11731
+ audit_deps: typing.Optional[builtins.bool] = None,
11732
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
10903
11733
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
11734
+ biome: typing.Optional[builtins.bool] = None,
11735
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
10904
11736
  build_workflow: typing.Optional[builtins.bool] = None,
10905
11737
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
10906
11738
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -10981,6 +11813,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10981
11813
  :param bugs_email: (experimental) The email address to which issues should be reported.
10982
11814
  :param bugs_url: (experimental) The url to your project's issue tracker.
10983
11815
  :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.
11816
+ :param bun_version: (experimental) The version of Bun to use if using Bun as a package manager. Default: "latest"
10984
11817
  :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
10985
11818
  :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: []
10986
11819
  :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
@@ -10990,27 +11823,30 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10990
11823
  :param keywords: (experimental) Keywords to include in ``package.json``.
10991
11824
  :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"
10992
11825
  :param licensed: (experimental) Indicates if a license should be added. Default: true
10993
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
10994
- :param min_node_version: (experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive). Default: - no "engines" specified
11826
+ :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
11827
+ :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
10995
11828
  :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``.
10996
11829
  :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
10997
11830
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
10998
11831
  :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"
10999
11832
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: "NPM_TOKEN"
11833
+ :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
11000
11834
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
11001
11835
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
11002
11836
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
11003
11837
  :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: []
11004
- :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "7"
11838
+ :param pnpm_version: (experimental) The version of PNPM to use if using PNPM as a package manager. Default: "9"
11005
11839
  :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
11006
11840
  :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.
11007
11841
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
11008
11842
  :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: {}
11009
11843
  :param stability: (experimental) Package's Stability.
11010
11844
  :param yarn_berry_options: (experimental) Options for Yarn Berry. Default: - Yarn Berry v4 with all default options
11845
+ :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"
11011
11846
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
11012
11847
  :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.
11013
11848
  :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
11849
+ :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.
11014
11850
  :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"
11015
11851
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
11016
11852
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -11018,28 +11854,34 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11018
11854
  :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
11019
11855
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
11020
11856
  :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.
11857
+ :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
11021
11858
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
11022
11859
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
11023
11860
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
11024
11861
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
11025
11862
  :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"
11026
11863
  :param release_trigger: (experimental) The release trigger to use. Default: - Continuous releases (``ReleaseTrigger.continuous()``)
11864
+ :param release_workflow_env: (experimental) Build environment variables for release workflows. Default: {}
11027
11865
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
11028
11866
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
11029
- :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
11867
+ :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
11030
11868
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
11031
11869
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
11032
11870
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
11033
11871
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
11034
11872
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
11873
+ :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
11874
+ :param audit_deps_options: (experimental) Security audit options. Default: - default options
11035
11875
  :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
11876
+ :param biome: (experimental) Setup Biome. Default: false
11877
+ :param biome_options: (experimental) Biome options. Default: - default options
11036
11878
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
11037
11879
  :param build_workflow_options: (experimental) Options for PR build workflow.
11038
11880
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
11039
11881
  :param bundler_options: (experimental) Options for ``Bundler``.
11040
11882
  :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
11041
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
11042
- :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
11883
+ :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
11884
+ :param code_cov_token_secret: (experimental) Define the secret name for a specified https://codecov.io/ token. Default: - OIDC auth is used
11043
11885
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
11044
11886
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
11045
11887
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -11066,8 +11908,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11066
11908
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
11067
11909
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
11068
11910
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
11069
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
11070
- :param workflow_node_version: (experimental) The node version to use in GitHub workflows. Default: - same as ``minNodeVersion``
11911
+ :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - default GitHub Actions user
11912
+ :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/*``.
11071
11913
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
11072
11914
  :param rewire: (experimental) Rewire webpack configuration. Use this property to override webpack configuration properties provided by create-react-app, without needing to eject. This property will create a ``config-overrides.js`` file in your root directory, which will contain the desired rewiring code. To **override** the configuration, you can provide simple key value pairs. Keys take the form of js code directives that traverse to the desired property. Values should be JSON serializable objects. For example, the following config:: rewire: { "module.unknownContextCritical": false } Will translate to the following ``config-overrides.js`` file:: module.exports = function override(config, env) { config.module.unknownContextCritical = false; } Default: - No rewired config.
11073
11915
  :param sample_code: (experimental) Generate one-time sample in ``src/`` and ``public/`` if there are no files there. Default: true
@@ -11105,6 +11947,10 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11105
11947
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
11106
11948
  if isinstance(workflow_runs_on_group, dict):
11107
11949
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
11950
+ if isinstance(audit_deps_options, dict):
11951
+ audit_deps_options = _AuditOptions_429c62df(**audit_deps_options)
11952
+ if isinstance(biome_options, dict):
11953
+ biome_options = _BiomeOptions_452ab984(**biome_options)
11108
11954
  if isinstance(build_workflow_options, dict):
11109
11955
  build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
11110
11956
  if isinstance(build_workflow_triggers, dict):
@@ -11168,6 +12014,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11168
12014
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
11169
12015
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
11170
12016
  check_type(argname="argument bundled_deps", value=bundled_deps, expected_type=type_hints["bundled_deps"])
12017
+ check_type(argname="argument bun_version", value=bun_version, expected_type=type_hints["bun_version"])
11171
12018
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
11172
12019
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
11173
12020
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -11184,6 +12031,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11184
12031
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
11185
12032
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
11186
12033
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
12034
+ check_type(argname="argument npm_trusted_publishing", value=npm_trusted_publishing, expected_type=type_hints["npm_trusted_publishing"])
11187
12035
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
11188
12036
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
11189
12037
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -11195,9 +12043,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11195
12043
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
11196
12044
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
11197
12045
  check_type(argname="argument yarn_berry_options", value=yarn_berry_options, expected_type=type_hints["yarn_berry_options"])
12046
+ check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
11198
12047
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
11199
12048
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
11200
12049
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
12050
+ check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
11201
12051
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
11202
12052
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
11203
12053
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -11205,12 +12055,14 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11205
12055
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
11206
12056
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
11207
12057
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
12058
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
11208
12059
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
11209
12060
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
11210
12061
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
11211
12062
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
11212
12063
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
11213
12064
  check_type(argname="argument release_trigger", value=release_trigger, expected_type=type_hints["release_trigger"])
12065
+ check_type(argname="argument release_workflow_env", value=release_workflow_env, expected_type=type_hints["release_workflow_env"])
11214
12066
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
11215
12067
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
11216
12068
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -11219,7 +12071,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11219
12071
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
11220
12072
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
11221
12073
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
12074
+ check_type(argname="argument audit_deps", value=audit_deps, expected_type=type_hints["audit_deps"])
12075
+ check_type(argname="argument audit_deps_options", value=audit_deps_options, expected_type=type_hints["audit_deps_options"])
11222
12076
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
12077
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
12078
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
11223
12079
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
11224
12080
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
11225
12081
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -11339,6 +12195,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11339
12195
  self._values["bugs_url"] = bugs_url
11340
12196
  if bundled_deps is not None:
11341
12197
  self._values["bundled_deps"] = bundled_deps
12198
+ if bun_version is not None:
12199
+ self._values["bun_version"] = bun_version
11342
12200
  if code_artifact_options is not None:
11343
12201
  self._values["code_artifact_options"] = code_artifact_options
11344
12202
  if deps is not None:
@@ -11371,6 +12229,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11371
12229
  self._values["npm_registry_url"] = npm_registry_url
11372
12230
  if npm_token_secret is not None:
11373
12231
  self._values["npm_token_secret"] = npm_token_secret
12232
+ if npm_trusted_publishing is not None:
12233
+ self._values["npm_trusted_publishing"] = npm_trusted_publishing
11374
12234
  if package_manager is not None:
11375
12235
  self._values["package_manager"] = package_manager
11376
12236
  if package_name is not None:
@@ -11393,12 +12253,16 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11393
12253
  self._values["stability"] = stability
11394
12254
  if yarn_berry_options is not None:
11395
12255
  self._values["yarn_berry_options"] = yarn_berry_options
12256
+ if bump_package is not None:
12257
+ self._values["bump_package"] = bump_package
11396
12258
  if jsii_release_version is not None:
11397
12259
  self._values["jsii_release_version"] = jsii_release_version
11398
12260
  if major_version is not None:
11399
12261
  self._values["major_version"] = major_version
11400
12262
  if min_major_version is not None:
11401
12263
  self._values["min_major_version"] = min_major_version
12264
+ if next_version_command is not None:
12265
+ self._values["next_version_command"] = next_version_command
11402
12266
  if npm_dist_tag is not None:
11403
12267
  self._values["npm_dist_tag"] = npm_dist_tag
11404
12268
  if post_build_steps is not None:
@@ -11413,6 +12277,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11413
12277
  self._values["releasable_commits"] = releasable_commits
11414
12278
  if release_branches is not None:
11415
12279
  self._values["release_branches"] = release_branches
12280
+ if release_environment is not None:
12281
+ self._values["release_environment"] = release_environment
11416
12282
  if release_every_commit is not None:
11417
12283
  self._values["release_every_commit"] = release_every_commit
11418
12284
  if release_failure_issue is not None:
@@ -11425,6 +12291,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11425
12291
  self._values["release_tag_prefix"] = release_tag_prefix
11426
12292
  if release_trigger is not None:
11427
12293
  self._values["release_trigger"] = release_trigger
12294
+ if release_workflow_env is not None:
12295
+ self._values["release_workflow_env"] = release_workflow_env
11428
12296
  if release_workflow_name is not None:
11429
12297
  self._values["release_workflow_name"] = release_workflow_name
11430
12298
  if release_workflow_setup_steps is not None:
@@ -11439,8 +12307,16 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11439
12307
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
11440
12308
  if artifacts_directory is not None:
11441
12309
  self._values["artifacts_directory"] = artifacts_directory
12310
+ if audit_deps is not None:
12311
+ self._values["audit_deps"] = audit_deps
12312
+ if audit_deps_options is not None:
12313
+ self._values["audit_deps_options"] = audit_deps_options
11442
12314
  if auto_approve_upgrades is not None:
11443
12315
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
12316
+ if biome is not None:
12317
+ self._values["biome"] = biome
12318
+ if biome_options is not None:
12319
+ self._values["biome_options"] = biome_options
11444
12320
  if build_workflow is not None:
11445
12321
  self._values["build_workflow"] = build_workflow
11446
12322
  if build_workflow_options is not None:
@@ -11984,6 +12860,17 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11984
12860
  result = self._values.get("bundled_deps")
11985
12861
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
11986
12862
 
12863
+ @builtins.property
12864
+ def bun_version(self) -> typing.Optional[builtins.str]:
12865
+ '''(experimental) The version of Bun to use if using Bun as a package manager.
12866
+
12867
+ :default: "latest"
12868
+
12869
+ :stability: experimental
12870
+ '''
12871
+ result = self._values.get("bun_version")
12872
+ return typing.cast(typing.Optional[builtins.str], result)
12873
+
11987
12874
  @builtins.property
11988
12875
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
11989
12876
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -12118,9 +13005,15 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12118
13005
 
12119
13006
  @builtins.property
12120
13007
  def max_node_version(self) -> typing.Optional[builtins.str]:
12121
- '''(experimental) Minimum node.js version to require via ``engines`` (inclusive).
13008
+ '''(experimental) The maximum node version supported by this package. Most projects should not use this option.
13009
+
13010
+ The value indicates that the package is incompatible with any newer versions of node.
13011
+ This requirement is enforced via the engines field.
12122
13012
 
12123
- :default: - no max
13013
+ You will normally not need to set this option.
13014
+ Consider this option only if your package is known to not function with newer versions of node.
13015
+
13016
+ :default: - no maximum version is enforced
12124
13017
 
12125
13018
  :stability: experimental
12126
13019
  '''
@@ -12129,9 +13022,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12129
13022
 
12130
13023
  @builtins.property
12131
13024
  def min_node_version(self) -> typing.Optional[builtins.str]:
12132
- '''(experimental) Minimum Node.js version to require via package.json ``engines`` (inclusive).
13025
+ '''(experimental) The minimum node version required by this package to function. Most projects should not use this option.
13026
+
13027
+ The value indicates that the package is incompatible with any older versions of node.
13028
+ This requirement is enforced via the engines field.
13029
+
13030
+ You will normally not need to set this option, even if your package is incompatible with EOL versions of node.
13031
+ Consider this option only if your package depends on a specific feature, that is not available in other LTS versions.
13032
+ Setting this option has very high impact on the consumers of your package,
13033
+ as package managers will actively prevent usage with node versions you have marked as incompatible.
12133
13034
 
12134
- :default: - no "engines" specified
13035
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
13036
+
13037
+ :default: - no minimum version is enforced
12135
13038
 
12136
13039
  :stability: experimental
12137
13040
  '''
@@ -12208,6 +13111,17 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12208
13111
  result = self._values.get("npm_token_secret")
12209
13112
  return typing.cast(typing.Optional[builtins.str], result)
12210
13113
 
13114
+ @builtins.property
13115
+ def npm_trusted_publishing(self) -> typing.Optional[builtins.bool]:
13116
+ '''(experimental) Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work.
13117
+
13118
+ :default: - false
13119
+
13120
+ :stability: experimental
13121
+ '''
13122
+ result = self._values.get("npm_trusted_publishing")
13123
+ return typing.cast(typing.Optional[builtins.bool], result)
13124
+
12211
13125
  @builtins.property
12212
13126
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
12213
13127
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -12271,7 +13185,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12271
13185
  def pnpm_version(self) -> typing.Optional[builtins.str]:
12272
13186
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
12273
13187
 
12274
- :default: "7"
13188
+ :default: "9"
12275
13189
 
12276
13190
  :stability: experimental
12277
13191
  '''
@@ -12348,6 +13262,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12348
13262
  result = self._values.get("yarn_berry_options")
12349
13263
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
12350
13264
 
13265
+ @builtins.property
13266
+ def bump_package(self) -> typing.Optional[builtins.str]:
13267
+ '''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
13268
+
13269
+ This can be any compatible package version, including the deprecated ``standard-version@9``.
13270
+
13271
+ :default: - A recent version of "commit-and-tag-version"
13272
+
13273
+ :stability: experimental
13274
+ '''
13275
+ result = self._values.get("bump_package")
13276
+ return typing.cast(typing.Optional[builtins.str], result)
13277
+
12351
13278
  @builtins.property
12352
13279
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
12353
13280
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -12389,6 +13316,36 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12389
13316
  result = self._values.get("min_major_version")
12390
13317
  return typing.cast(typing.Optional[jsii.Number], result)
12391
13318
 
13319
+ @builtins.property
13320
+ def next_version_command(self) -> typing.Optional[builtins.str]:
13321
+ '''(experimental) A shell command to control the next version to release.
13322
+
13323
+ If present, this shell command will be run before the bump is executed, and
13324
+ it determines what version to release. It will be executed in the following
13325
+ environment:
13326
+
13327
+ - Working directory: the project directory.
13328
+ - ``$VERSION``: the current version. Looks like ``1.2.3``.
13329
+ - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
13330
+ - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
13331
+
13332
+ The command should print one of the following to ``stdout``:
13333
+
13334
+ - Nothing: the next version number will be determined based on commit history.
13335
+ - ``x.y.z``: the next version number will be ``x.y.z``.
13336
+ - ``major|minor|patch``: the next version number will be the current version number
13337
+ with the indicated component bumped.
13338
+
13339
+ This setting cannot be specified together with ``minMajorVersion``; the invoked
13340
+ script can be used to achieve the effects of ``minMajorVersion``.
13341
+
13342
+ :default: - The next version will be determined based on the commit history and project settings.
13343
+
13344
+ :stability: experimental
13345
+ '''
13346
+ result = self._values.get("next_version_command")
13347
+ return typing.cast(typing.Optional[builtins.str], result)
13348
+
12392
13349
  @builtins.property
12393
13350
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
12394
13351
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -12484,6 +13441,23 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12484
13441
  result = self._values.get("release_branches")
12485
13442
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
12486
13443
 
13444
+ @builtins.property
13445
+ def release_environment(self) -> typing.Optional[builtins.str]:
13446
+ '''(experimental) The GitHub Actions environment used for the release.
13447
+
13448
+ This can be used to add an explicit approval step to the release
13449
+ or limit who can initiate a release through environment protection rules.
13450
+
13451
+ When multiple artifacts are released, the environment can be overwritten
13452
+ on a per artifact basis.
13453
+
13454
+ :default: - no environment used, unless set at the artifact level
13455
+
13456
+ :stability: experimental
13457
+ '''
13458
+ result = self._values.get("release_environment")
13459
+ return typing.cast(typing.Optional[builtins.str], result)
13460
+
12487
13461
  @builtins.property
12488
13462
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
12489
13463
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -12561,6 +13535,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12561
13535
  result = self._values.get("release_trigger")
12562
13536
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
12563
13537
 
13538
+ @builtins.property
13539
+ def release_workflow_env(
13540
+ self,
13541
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
13542
+ '''(experimental) Build environment variables for release workflows.
13543
+
13544
+ :default: {}
13545
+
13546
+ :stability: experimental
13547
+ '''
13548
+ result = self._values.get("release_workflow_env")
13549
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
13550
+
12564
13551
  @builtins.property
12565
13552
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
12566
13553
  '''(experimental) The name of the default release workflow.
@@ -12587,7 +13574,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12587
13574
  def versionrc_options(
12588
13575
  self,
12589
13576
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
12590
- '''(experimental) Custom configuration used when creating changelog with standard-version package.
13577
+ '''(experimental) Custom configuration used when creating changelog with commit-and-tag-version package.
12591
13578
 
12592
13579
  Given values either append to default configuration or overwrite values in it.
12593
13580
 
@@ -12656,6 +13643,32 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12656
13643
  result = self._values.get("artifacts_directory")
12657
13644
  return typing.cast(typing.Optional[builtins.str], result)
12658
13645
 
13646
+ @builtins.property
13647
+ def audit_deps(self) -> typing.Optional[builtins.bool]:
13648
+ '''(experimental) Run security audit on dependencies.
13649
+
13650
+ When enabled, creates an "audit" task that checks for known security vulnerabilities
13651
+ in dependencies. By default, runs during every build and checks for "high" severity
13652
+ vulnerabilities or above in all dependencies (including dev dependencies).
13653
+
13654
+ :default: false
13655
+
13656
+ :stability: experimental
13657
+ '''
13658
+ result = self._values.get("audit_deps")
13659
+ return typing.cast(typing.Optional[builtins.bool], result)
13660
+
13661
+ @builtins.property
13662
+ def audit_deps_options(self) -> typing.Optional[_AuditOptions_429c62df]:
13663
+ '''(experimental) Security audit options.
13664
+
13665
+ :default: - default options
13666
+
13667
+ :stability: experimental
13668
+ '''
13669
+ result = self._values.get("audit_deps_options")
13670
+ return typing.cast(typing.Optional[_AuditOptions_429c62df], result)
13671
+
12659
13672
  @builtins.property
12660
13673
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
12661
13674
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -12669,6 +13682,28 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12669
13682
  result = self._values.get("auto_approve_upgrades")
12670
13683
  return typing.cast(typing.Optional[builtins.bool], result)
12671
13684
 
13685
+ @builtins.property
13686
+ def biome(self) -> typing.Optional[builtins.bool]:
13687
+ '''(experimental) Setup Biome.
13688
+
13689
+ :default: false
13690
+
13691
+ :stability: experimental
13692
+ '''
13693
+ result = self._values.get("biome")
13694
+ return typing.cast(typing.Optional[builtins.bool], result)
13695
+
13696
+ @builtins.property
13697
+ def biome_options(self) -> typing.Optional[_BiomeOptions_452ab984]:
13698
+ '''(experimental) Biome options.
13699
+
13700
+ :default: - default options
13701
+
13702
+ :stability: experimental
13703
+ '''
13704
+ result = self._values.get("biome_options")
13705
+ return typing.cast(typing.Optional[_BiomeOptions_452ab984], result)
13706
+
12672
13707
  @builtins.property
12673
13708
  def build_workflow(self) -> typing.Optional[builtins.bool]:
12674
13709
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -12726,7 +13761,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12726
13761
 
12727
13762
  @builtins.property
12728
13763
  def code_cov(self) -> typing.Optional[builtins.bool]:
12729
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
13764
+ '''(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``.
12730
13765
 
12731
13766
  :default: false
12732
13767
 
@@ -12737,9 +13772,9 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12737
13772
 
12738
13773
  @builtins.property
12739
13774
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
12740
- '''(experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
13775
+ '''(experimental) Define the secret name for a specified https://codecov.io/ token.
12741
13776
 
12742
- :default: - if this option is not specified, only public repositories are supported
13777
+ :default: - OIDC auth is used
12743
13778
 
12744
13779
  :stability: experimental
12745
13780
  '''
@@ -13052,7 +14087,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
13052
14087
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
13053
14088
  '''(experimental) The git identity to use in workflows.
13054
14089
 
13055
- :default: - GitHub Actions
14090
+ :default: - default GitHub Actions user
13056
14091
 
13057
14092
  :stability: experimental
13058
14093
  '''
@@ -13061,9 +14096,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
13061
14096
 
13062
14097
  @builtins.property
13063
14098
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
13064
- '''(experimental) The node version to use in GitHub workflows.
14099
+ '''(experimental) The node version used in GitHub Actions workflows.
14100
+
14101
+ Always use this option if your GitHub Actions workflows require a specific to run.
13065
14102
 
13066
- :default: - same as ``minNodeVersion``
14103
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
13067
14104
 
13068
14105
  :stability: experimental
13069
14106
  '''
@@ -13240,6 +14277,7 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13240
14277
  bugs_email: typing.Optional[builtins.str] = None,
13241
14278
  bugs_url: typing.Optional[builtins.str] = None,
13242
14279
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14280
+ bun_version: typing.Optional[builtins.str] = None,
13243
14281
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13244
14282
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13245
14283
  description: typing.Optional[builtins.str] = None,
@@ -13256,6 +14294,7 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13256
14294
  npm_registry: typing.Optional[builtins.str] = None,
13257
14295
  npm_registry_url: typing.Optional[builtins.str] = None,
13258
14296
  npm_token_secret: typing.Optional[builtins.str] = None,
14297
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13259
14298
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13260
14299
  package_name: typing.Optional[builtins.str] = None,
13261
14300
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13267,9 +14306,11 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13267
14306
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13268
14307
  stability: typing.Optional[builtins.str] = None,
13269
14308
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
14309
+ bump_package: typing.Optional[builtins.str] = None,
13270
14310
  jsii_release_version: typing.Optional[builtins.str] = None,
13271
14311
  major_version: typing.Optional[jsii.Number] = None,
13272
14312
  min_major_version: typing.Optional[jsii.Number] = None,
14313
+ next_version_command: typing.Optional[builtins.str] = None,
13273
14314
  npm_dist_tag: typing.Optional[builtins.str] = None,
13274
14315
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13275
14316
  prerelease: typing.Optional[builtins.str] = None,
@@ -13277,12 +14318,14 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13277
14318
  publish_tasks: typing.Optional[builtins.bool] = None,
13278
14319
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13279
14320
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14321
+ release_environment: typing.Optional[builtins.str] = None,
13280
14322
  release_every_commit: typing.Optional[builtins.bool] = None,
13281
14323
  release_failure_issue: typing.Optional[builtins.bool] = None,
13282
14324
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13283
14325
  release_schedule: typing.Optional[builtins.str] = None,
13284
14326
  release_tag_prefix: typing.Optional[builtins.str] = None,
13285
14327
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14328
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13286
14329
  release_workflow_name: typing.Optional[builtins.str] = None,
13287
14330
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13288
14331
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13291,7 +14334,11 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13291
14334
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13292
14335
  default_release_branch: builtins.str,
13293
14336
  artifacts_directory: typing.Optional[builtins.str] = None,
14337
+ audit_deps: typing.Optional[builtins.bool] = None,
14338
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
13294
14339
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
14340
+ biome: typing.Optional[builtins.bool] = None,
14341
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
13295
14342
  build_workflow: typing.Optional[builtins.bool] = None,
13296
14343
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13297
14344
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13377,6 +14424,7 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13377
14424
  bugs_email: typing.Optional[builtins.str] = None,
13378
14425
  bugs_url: typing.Optional[builtins.str] = None,
13379
14426
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14427
+ bun_version: typing.Optional[builtins.str] = None,
13380
14428
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13381
14429
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13382
14430
  description: typing.Optional[builtins.str] = None,
@@ -13393,6 +14441,7 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13393
14441
  npm_registry: typing.Optional[builtins.str] = None,
13394
14442
  npm_registry_url: typing.Optional[builtins.str] = None,
13395
14443
  npm_token_secret: typing.Optional[builtins.str] = None,
14444
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13396
14445
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13397
14446
  package_name: typing.Optional[builtins.str] = None,
13398
14447
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13404,9 +14453,11 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13404
14453
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13405
14454
  stability: typing.Optional[builtins.str] = None,
13406
14455
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
14456
+ bump_package: typing.Optional[builtins.str] = None,
13407
14457
  jsii_release_version: typing.Optional[builtins.str] = None,
13408
14458
  major_version: typing.Optional[jsii.Number] = None,
13409
14459
  min_major_version: typing.Optional[jsii.Number] = None,
14460
+ next_version_command: typing.Optional[builtins.str] = None,
13410
14461
  npm_dist_tag: typing.Optional[builtins.str] = None,
13411
14462
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13412
14463
  prerelease: typing.Optional[builtins.str] = None,
@@ -13414,12 +14465,14 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13414
14465
  publish_tasks: typing.Optional[builtins.bool] = None,
13415
14466
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13416
14467
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14468
+ release_environment: typing.Optional[builtins.str] = None,
13417
14469
  release_every_commit: typing.Optional[builtins.bool] = None,
13418
14470
  release_failure_issue: typing.Optional[builtins.bool] = None,
13419
14471
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13420
14472
  release_schedule: typing.Optional[builtins.str] = None,
13421
14473
  release_tag_prefix: typing.Optional[builtins.str] = None,
13422
14474
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14475
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13423
14476
  release_workflow_name: typing.Optional[builtins.str] = None,
13424
14477
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13425
14478
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13428,7 +14481,11 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13428
14481
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13429
14482
  default_release_branch: builtins.str,
13430
14483
  artifacts_directory: typing.Optional[builtins.str] = None,
14484
+ audit_deps: typing.Optional[builtins.bool] = None,
14485
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
13431
14486
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
14487
+ biome: typing.Optional[builtins.bool] = None,
14488
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
13432
14489
  build_workflow: typing.Optional[builtins.bool] = None,
13433
14490
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13434
14491
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13593,6 +14650,7 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13593
14650
  bugs_email: typing.Optional[builtins.str] = None,
13594
14651
  bugs_url: typing.Optional[builtins.str] = None,
13595
14652
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14653
+ bun_version: typing.Optional[builtins.str] = None,
13596
14654
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13597
14655
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13598
14656
  description: typing.Optional[builtins.str] = None,
@@ -13609,6 +14667,7 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13609
14667
  npm_registry: typing.Optional[builtins.str] = None,
13610
14668
  npm_registry_url: typing.Optional[builtins.str] = None,
13611
14669
  npm_token_secret: typing.Optional[builtins.str] = None,
14670
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13612
14671
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13613
14672
  package_name: typing.Optional[builtins.str] = None,
13614
14673
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13620,9 +14679,11 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13620
14679
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13621
14680
  stability: typing.Optional[builtins.str] = None,
13622
14681
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
14682
+ bump_package: typing.Optional[builtins.str] = None,
13623
14683
  jsii_release_version: typing.Optional[builtins.str] = None,
13624
14684
  major_version: typing.Optional[jsii.Number] = None,
13625
14685
  min_major_version: typing.Optional[jsii.Number] = None,
14686
+ next_version_command: typing.Optional[builtins.str] = None,
13626
14687
  npm_dist_tag: typing.Optional[builtins.str] = None,
13627
14688
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13628
14689
  prerelease: typing.Optional[builtins.str] = None,
@@ -13630,12 +14691,14 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13630
14691
  publish_tasks: typing.Optional[builtins.bool] = None,
13631
14692
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13632
14693
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14694
+ release_environment: typing.Optional[builtins.str] = None,
13633
14695
  release_every_commit: typing.Optional[builtins.bool] = None,
13634
14696
  release_failure_issue: typing.Optional[builtins.bool] = None,
13635
14697
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13636
14698
  release_schedule: typing.Optional[builtins.str] = None,
13637
14699
  release_tag_prefix: typing.Optional[builtins.str] = None,
13638
14700
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14701
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13639
14702
  release_workflow_name: typing.Optional[builtins.str] = None,
13640
14703
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13641
14704
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13644,7 +14707,11 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13644
14707
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13645
14708
  default_release_branch: builtins.str,
13646
14709
  artifacts_directory: typing.Optional[builtins.str] = None,
14710
+ audit_deps: typing.Optional[builtins.bool] = None,
14711
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
13647
14712
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
14713
+ biome: typing.Optional[builtins.bool] = None,
14714
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
13648
14715
  build_workflow: typing.Optional[builtins.bool] = None,
13649
14716
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13650
14717
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13768,6 +14835,7 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13768
14835
  bugs_email: typing.Optional[builtins.str] = None,
13769
14836
  bugs_url: typing.Optional[builtins.str] = None,
13770
14837
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14838
+ bun_version: typing.Optional[builtins.str] = None,
13771
14839
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13772
14840
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13773
14841
  description: typing.Optional[builtins.str] = None,
@@ -13784,6 +14852,7 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13784
14852
  npm_registry: typing.Optional[builtins.str] = None,
13785
14853
  npm_registry_url: typing.Optional[builtins.str] = None,
13786
14854
  npm_token_secret: typing.Optional[builtins.str] = None,
14855
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13787
14856
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13788
14857
  package_name: typing.Optional[builtins.str] = None,
13789
14858
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13795,9 +14864,11 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13795
14864
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13796
14865
  stability: typing.Optional[builtins.str] = None,
13797
14866
  yarn_berry_options: typing.Optional[typing.Union[_YarnBerryOptions_b6942539, typing.Dict[builtins.str, typing.Any]]] = None,
14867
+ bump_package: typing.Optional[builtins.str] = None,
13798
14868
  jsii_release_version: typing.Optional[builtins.str] = None,
13799
14869
  major_version: typing.Optional[jsii.Number] = None,
13800
14870
  min_major_version: typing.Optional[jsii.Number] = None,
14871
+ next_version_command: typing.Optional[builtins.str] = None,
13801
14872
  npm_dist_tag: typing.Optional[builtins.str] = None,
13802
14873
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13803
14874
  prerelease: typing.Optional[builtins.str] = None,
@@ -13805,12 +14876,14 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13805
14876
  publish_tasks: typing.Optional[builtins.bool] = None,
13806
14877
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13807
14878
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
14879
+ release_environment: typing.Optional[builtins.str] = None,
13808
14880
  release_every_commit: typing.Optional[builtins.bool] = None,
13809
14881
  release_failure_issue: typing.Optional[builtins.bool] = None,
13810
14882
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13811
14883
  release_schedule: typing.Optional[builtins.str] = None,
13812
14884
  release_tag_prefix: typing.Optional[builtins.str] = None,
13813
14885
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14886
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13814
14887
  release_workflow_name: typing.Optional[builtins.str] = None,
13815
14888
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13816
14889
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13819,7 +14892,11 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13819
14892
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13820
14893
  default_release_branch: builtins.str,
13821
14894
  artifacts_directory: typing.Optional[builtins.str] = None,
14895
+ audit_deps: typing.Optional[builtins.bool] = None,
14896
+ audit_deps_options: typing.Optional[typing.Union[_AuditOptions_429c62df, typing.Dict[builtins.str, typing.Any]]] = None,
13822
14897
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
14898
+ biome: typing.Optional[builtins.bool] = None,
14899
+ biome_options: typing.Optional[typing.Union[_BiomeOptions_452ab984, typing.Dict[builtins.str, typing.Any]]] = None,
13823
14900
  build_workflow: typing.Optional[builtins.bool] = None,
13824
14901
  build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13825
14902
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,