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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
projen/web/__init__.py CHANGED
@@ -1,3 +1,6 @@
1
+ from pkgutil import extend_path
2
+ __path__ = extend_path(__path__, __name__)
3
+
1
4
  import abc
2
5
  import builtins
3
6
  import datetime
@@ -8,7 +11,22 @@ import jsii
8
11
  import publication
9
12
  import typing_extensions
10
13
 
11
- from typeguard import check_type
14
+ import typeguard
15
+ from importlib.metadata import version as _metadata_package_version
16
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
17
+
18
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
19
+ if TYPEGUARD_MAJOR_VERSION <= 2:
20
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
21
+ else:
22
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
23
+ pass
24
+ else:
25
+ if TYPEGUARD_MAJOR_VERSION == 3:
26
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
27
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
28
+ else:
29
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
12
30
 
13
31
  from .._jsii import *
14
32
 
@@ -43,6 +61,9 @@ from ..github.workflows import (
43
61
  JobStep as _JobStep_c3287c05, Triggers as _Triggers_e9ae7617
44
62
  )
45
63
  from ..javascript import (
64
+ AuditOptions as _AuditOptions_429c62df,
65
+ BiomeOptions as _BiomeOptions_452ab984,
66
+ BuildWorkflowOptions as _BuildWorkflowOptions_b756f97f,
46
67
  BundlerOptions as _BundlerOptions_d60b85ed,
47
68
  CodeArtifactOptions as _CodeArtifactOptions_e4782b3e,
48
69
  EslintOptions as _EslintOptions_824f60bb,
@@ -250,8 +271,13 @@ class NextJsProject(
250
271
  tailwind: typing.Optional[builtins.bool] = None,
251
272
  default_release_branch: builtins.str,
252
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,
253
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,
254
279
  build_workflow: typing.Optional[builtins.bool] = None,
280
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
255
281
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
256
282
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
257
283
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -313,6 +339,7 @@ class NextJsProject(
313
339
  bugs_email: typing.Optional[builtins.str] = None,
314
340
  bugs_url: typing.Optional[builtins.str] = None,
315
341
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
342
+ bun_version: typing.Optional[builtins.str] = None,
316
343
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
317
344
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
318
345
  description: typing.Optional[builtins.str] = None,
@@ -325,9 +352,11 @@ class NextJsProject(
325
352
  max_node_version: typing.Optional[builtins.str] = None,
326
353
  min_node_version: typing.Optional[builtins.str] = None,
327
354
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
355
+ npm_provenance: typing.Optional[builtins.bool] = None,
328
356
  npm_registry: typing.Optional[builtins.str] = None,
329
357
  npm_registry_url: typing.Optional[builtins.str] = None,
330
358
  npm_token_secret: typing.Optional[builtins.str] = None,
359
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
331
360
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
332
361
  package_name: typing.Optional[builtins.str] = None,
333
362
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -339,9 +368,11 @@ class NextJsProject(
339
368
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
340
369
  stability: typing.Optional[builtins.str] = None,
341
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,
342
372
  jsii_release_version: typing.Optional[builtins.str] = None,
343
373
  major_version: typing.Optional[jsii.Number] = None,
344
374
  min_major_version: typing.Optional[jsii.Number] = None,
375
+ next_version_command: typing.Optional[builtins.str] = None,
345
376
  npm_dist_tag: typing.Optional[builtins.str] = None,
346
377
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
347
378
  prerelease: typing.Optional[builtins.str] = None,
@@ -349,12 +380,14 @@ class NextJsProject(
349
380
  publish_tasks: typing.Optional[builtins.bool] = None,
350
381
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
351
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,
352
384
  release_every_commit: typing.Optional[builtins.bool] = None,
353
385
  release_failure_issue: typing.Optional[builtins.bool] = None,
354
386
  release_failure_issue_label: typing.Optional[builtins.str] = None,
355
387
  release_schedule: typing.Optional[builtins.str] = None,
356
388
  release_tag_prefix: typing.Optional[builtins.str] = None,
357
389
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
390
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
358
391
  release_workflow_name: typing.Optional[builtins.str] = None,
359
392
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
360
393
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -381,13 +414,18 @@ class NextJsProject(
381
414
  :param tailwind: (experimental) Setup Tailwind CSS as a PostCSS plugin. Default: true
382
415
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
383
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
384
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
385
422
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
386
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
423
+ :param build_workflow_options: (experimental) Options for PR build workflow.
424
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
387
425
  :param bundler_options: (experimental) Options for ``Bundler``.
388
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
389
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
390
- :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
391
429
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
392
430
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
393
431
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -397,14 +435,14 @@ class NextJsProject(
397
435
  :param gitignore: (experimental) Additional entries to .gitignore.
398
436
  :param jest: (experimental) Setup jest unit tests. Default: true
399
437
  :param jest_options: (experimental) Jest options. Default: - default options
400
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
438
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
401
439
  :param npmignore: (deprecated) Additional entries to .npmignore.
402
440
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
403
441
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
404
442
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
405
443
  :param prettier: (experimental) Setup prettier. Default: false
406
444
  :param prettier_options: (experimental) Prettier options. Default: - default options
407
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
445
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
408
446
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
409
447
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
410
448
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -414,8 +452,8 @@ class NextJsProject(
414
452
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
415
453
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
416
454
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
417
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
418
- :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/*``.
419
457
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
420
458
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
421
459
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -444,6 +482,7 @@ class NextJsProject(
444
482
  :param bugs_email: (experimental) The email address to which issues should be reported.
445
483
  :param bugs_url: (experimental) The url to your project's issue tracker.
446
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"
447
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
448
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: []
449
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
@@ -453,26 +492,30 @@ class NextJsProject(
453
492
  :param keywords: (experimental) Keywords to include in ``package.json``.
454
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"
455
494
  :param licensed: (experimental) Indicates if a license should be added. Default: true
456
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
457
- :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
458
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``.
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
459
499
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
460
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"
461
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
462
503
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
463
504
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
464
505
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
465
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: []
466
- :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"
467
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
468
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.
469
510
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
470
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: {}
471
512
  :param stability: (experimental) Package's Stability.
472
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"
473
515
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
474
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.
475
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.
476
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"
477
520
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
478
521
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -480,15 +523,17 @@ class NextJsProject(
480
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
481
524
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
482
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
483
527
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
484
528
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
485
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"
486
530
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
487
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"
488
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: {}
489
534
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
490
535
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
491
- :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
492
537
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
493
538
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
494
539
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -514,8 +559,13 @@ class NextJsProject(
514
559
  tailwind=tailwind,
515
560
  default_release_branch=default_release_branch,
516
561
  artifacts_directory=artifacts_directory,
562
+ audit_deps=audit_deps,
563
+ audit_deps_options=audit_deps_options,
517
564
  auto_approve_upgrades=auto_approve_upgrades,
565
+ biome=biome,
566
+ biome_options=biome_options,
518
567
  build_workflow=build_workflow,
568
+ build_workflow_options=build_workflow_options,
519
569
  build_workflow_triggers=build_workflow_triggers,
520
570
  bundler_options=bundler_options,
521
571
  check_licenses=check_licenses,
@@ -577,6 +627,7 @@ class NextJsProject(
577
627
  bugs_email=bugs_email,
578
628
  bugs_url=bugs_url,
579
629
  bundled_deps=bundled_deps,
630
+ bun_version=bun_version,
580
631
  code_artifact_options=code_artifact_options,
581
632
  deps=deps,
582
633
  description=description,
@@ -589,9 +640,11 @@ class NextJsProject(
589
640
  max_node_version=max_node_version,
590
641
  min_node_version=min_node_version,
591
642
  npm_access=npm_access,
643
+ npm_provenance=npm_provenance,
592
644
  npm_registry=npm_registry,
593
645
  npm_registry_url=npm_registry_url,
594
646
  npm_token_secret=npm_token_secret,
647
+ npm_trusted_publishing=npm_trusted_publishing,
595
648
  package_manager=package_manager,
596
649
  package_name=package_name,
597
650
  peer_dependency_options=peer_dependency_options,
@@ -603,9 +656,11 @@ class NextJsProject(
603
656
  scripts=scripts,
604
657
  stability=stability,
605
658
  yarn_berry_options=yarn_berry_options,
659
+ bump_package=bump_package,
606
660
  jsii_release_version=jsii_release_version,
607
661
  major_version=major_version,
608
662
  min_major_version=min_major_version,
663
+ next_version_command=next_version_command,
609
664
  npm_dist_tag=npm_dist_tag,
610
665
  post_build_steps=post_build_steps,
611
666
  prerelease=prerelease,
@@ -613,12 +668,14 @@ class NextJsProject(
613
668
  publish_tasks=publish_tasks,
614
669
  releasable_commits=releasable_commits,
615
670
  release_branches=release_branches,
671
+ release_environment=release_environment,
616
672
  release_every_commit=release_every_commit,
617
673
  release_failure_issue=release_failure_issue,
618
674
  release_failure_issue_label=release_failure_issue_label,
619
675
  release_schedule=release_schedule,
620
676
  release_tag_prefix=release_tag_prefix,
621
677
  release_trigger=release_trigger,
678
+ release_workflow_env=release_workflow_env,
622
679
  release_workflow_name=release_workflow_name,
623
680
  release_workflow_setup_steps=release_workflow_setup_steps,
624
681
  versionrc_options=versionrc_options,
@@ -715,6 +772,7 @@ class NextJsProject(
715
772
  "bugs_email": "bugsEmail",
716
773
  "bugs_url": "bugsUrl",
717
774
  "bundled_deps": "bundledDeps",
775
+ "bun_version": "bunVersion",
718
776
  "code_artifact_options": "codeArtifactOptions",
719
777
  "deps": "deps",
720
778
  "description": "description",
@@ -727,9 +785,11 @@ class NextJsProject(
727
785
  "max_node_version": "maxNodeVersion",
728
786
  "min_node_version": "minNodeVersion",
729
787
  "npm_access": "npmAccess",
788
+ "npm_provenance": "npmProvenance",
730
789
  "npm_registry": "npmRegistry",
731
790
  "npm_registry_url": "npmRegistryUrl",
732
791
  "npm_token_secret": "npmTokenSecret",
792
+ "npm_trusted_publishing": "npmTrustedPublishing",
733
793
  "package_manager": "packageManager",
734
794
  "package_name": "packageName",
735
795
  "peer_dependency_options": "peerDependencyOptions",
@@ -741,9 +801,11 @@ class NextJsProject(
741
801
  "scripts": "scripts",
742
802
  "stability": "stability",
743
803
  "yarn_berry_options": "yarnBerryOptions",
804
+ "bump_package": "bumpPackage",
744
805
  "jsii_release_version": "jsiiReleaseVersion",
745
806
  "major_version": "majorVersion",
746
807
  "min_major_version": "minMajorVersion",
808
+ "next_version_command": "nextVersionCommand",
747
809
  "npm_dist_tag": "npmDistTag",
748
810
  "post_build_steps": "postBuildSteps",
749
811
  "prerelease": "prerelease",
@@ -751,12 +813,14 @@ class NextJsProject(
751
813
  "publish_tasks": "publishTasks",
752
814
  "releasable_commits": "releasableCommits",
753
815
  "release_branches": "releaseBranches",
816
+ "release_environment": "releaseEnvironment",
754
817
  "release_every_commit": "releaseEveryCommit",
755
818
  "release_failure_issue": "releaseFailureIssue",
756
819
  "release_failure_issue_label": "releaseFailureIssueLabel",
757
820
  "release_schedule": "releaseSchedule",
758
821
  "release_tag_prefix": "releaseTagPrefix",
759
822
  "release_trigger": "releaseTrigger",
823
+ "release_workflow_env": "releaseWorkflowEnv",
760
824
  "release_workflow_name": "releaseWorkflowName",
761
825
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
762
826
  "versionrc_options": "versionrcOptions",
@@ -765,8 +829,13 @@ class NextJsProject(
765
829
  "workflow_runs_on_group": "workflowRunsOnGroup",
766
830
  "default_release_branch": "defaultReleaseBranch",
767
831
  "artifacts_directory": "artifactsDirectory",
832
+ "audit_deps": "auditDeps",
833
+ "audit_deps_options": "auditDepsOptions",
768
834
  "auto_approve_upgrades": "autoApproveUpgrades",
835
+ "biome": "biome",
836
+ "biome_options": "biomeOptions",
769
837
  "build_workflow": "buildWorkflow",
838
+ "build_workflow_options": "buildWorkflowOptions",
770
839
  "build_workflow_triggers": "buildWorkflowTriggers",
771
840
  "bundler_options": "bundlerOptions",
772
841
  "check_licenses": "checkLicenses",
@@ -850,6 +919,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
850
919
  bugs_email: typing.Optional[builtins.str] = None,
851
920
  bugs_url: typing.Optional[builtins.str] = None,
852
921
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
922
+ bun_version: typing.Optional[builtins.str] = None,
853
923
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
854
924
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
855
925
  description: typing.Optional[builtins.str] = None,
@@ -862,9 +932,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
862
932
  max_node_version: typing.Optional[builtins.str] = None,
863
933
  min_node_version: typing.Optional[builtins.str] = None,
864
934
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
935
+ npm_provenance: typing.Optional[builtins.bool] = None,
865
936
  npm_registry: typing.Optional[builtins.str] = None,
866
937
  npm_registry_url: typing.Optional[builtins.str] = None,
867
938
  npm_token_secret: typing.Optional[builtins.str] = None,
939
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
868
940
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
869
941
  package_name: typing.Optional[builtins.str] = None,
870
942
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -876,9 +948,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
876
948
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
877
949
  stability: typing.Optional[builtins.str] = None,
878
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,
879
952
  jsii_release_version: typing.Optional[builtins.str] = None,
880
953
  major_version: typing.Optional[jsii.Number] = None,
881
954
  min_major_version: typing.Optional[jsii.Number] = None,
955
+ next_version_command: typing.Optional[builtins.str] = None,
882
956
  npm_dist_tag: typing.Optional[builtins.str] = None,
883
957
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
884
958
  prerelease: typing.Optional[builtins.str] = None,
@@ -886,12 +960,14 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
886
960
  publish_tasks: typing.Optional[builtins.bool] = None,
887
961
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
888
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,
889
964
  release_every_commit: typing.Optional[builtins.bool] = None,
890
965
  release_failure_issue: typing.Optional[builtins.bool] = None,
891
966
  release_failure_issue_label: typing.Optional[builtins.str] = None,
892
967
  release_schedule: typing.Optional[builtins.str] = None,
893
968
  release_tag_prefix: typing.Optional[builtins.str] = None,
894
969
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
970
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
895
971
  release_workflow_name: typing.Optional[builtins.str] = None,
896
972
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
897
973
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -900,8 +976,13 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
900
976
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
901
977
  default_release_branch: builtins.str,
902
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,
903
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,
904
984
  build_workflow: typing.Optional[builtins.bool] = None,
985
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
905
986
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
906
987
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
907
988
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -981,6 +1062,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
981
1062
  :param bugs_email: (experimental) The email address to which issues should be reported.
982
1063
  :param bugs_url: (experimental) The url to your project's issue tracker.
983
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"
984
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
985
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: []
986
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
@@ -990,26 +1072,30 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
990
1072
  :param keywords: (experimental) Keywords to include in ``package.json``.
991
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"
992
1074
  :param licensed: (experimental) Indicates if a license should be added. Default: true
993
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
994
- :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
995
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``.
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
996
1079
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
997
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"
998
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
999
1083
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
1000
1084
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
1001
1085
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
1002
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: []
1003
- :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"
1004
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
1005
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.
1006
1090
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
1007
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: {}
1008
1092
  :param stability: (experimental) Package's Stability.
1009
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"
1010
1095
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
1011
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.
1012
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.
1013
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"
1014
1100
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
1015
1101
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -1017,27 +1103,34 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1017
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
1018
1104
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1019
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
1020
1107
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1021
1108
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1022
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"
1023
1110
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
1024
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"
1025
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: {}
1026
1114
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
1027
1115
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
1028
- :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
1029
1117
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
1030
1118
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
1031
1119
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
1032
1120
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
1033
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
1034
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
1035
1127
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
1036
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1128
+ :param build_workflow_options: (experimental) Options for PR build workflow.
1129
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
1037
1130
  :param bundler_options: (experimental) Options for ``Bundler``.
1038
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
1039
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
1040
- :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
1041
1134
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
1042
1135
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
1043
1136
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -1047,14 +1140,14 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1047
1140
  :param gitignore: (experimental) Additional entries to .gitignore.
1048
1141
  :param jest: (experimental) Setup jest unit tests. Default: true
1049
1142
  :param jest_options: (experimental) Jest options. Default: - default options
1050
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
1143
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
1051
1144
  :param npmignore: (deprecated) Additional entries to .npmignore.
1052
1145
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
1053
1146
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
1054
1147
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
1055
1148
  :param prettier: (experimental) Setup prettier. Default: false
1056
1149
  :param prettier_options: (experimental) Prettier options. Default: - default options
1057
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
1150
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
1058
1151
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
1059
1152
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
1060
1153
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -1064,8 +1157,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1064
1157
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
1065
1158
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
1066
1159
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
1067
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
1068
- :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/*``.
1069
1162
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
1070
1163
  :param sample_code: (experimental) Generate one-time sample in ``pages/`` and ``public/`` if there are no files there. Default: true
1071
1164
  :param srcdir: (experimental) Typescript sources directory. Default: "src"
@@ -1102,6 +1195,12 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1102
1195
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
1103
1196
  if isinstance(workflow_runs_on_group, dict):
1104
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)
1202
+ if isinstance(build_workflow_options, dict):
1203
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
1105
1204
  if isinstance(build_workflow_triggers, dict):
1106
1205
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
1107
1206
  if isinstance(bundler_options, dict):
@@ -1165,6 +1264,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1165
1264
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
1166
1265
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
1167
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"])
1168
1268
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
1169
1269
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
1170
1270
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -1177,9 +1277,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1177
1277
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
1178
1278
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
1179
1279
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
1280
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
1180
1281
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
1181
1282
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
1182
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"])
1183
1285
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
1184
1286
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
1185
1287
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -1191,9 +1293,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1191
1293
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
1192
1294
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
1193
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"])
1194
1297
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
1195
1298
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
1196
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"])
1197
1301
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
1198
1302
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
1199
1303
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -1201,12 +1305,14 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1201
1305
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
1202
1306
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
1203
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"])
1204
1309
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
1205
1310
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
1206
1311
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
1207
1312
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
1208
1313
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
1209
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"])
1210
1316
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
1211
1317
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
1212
1318
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -1215,8 +1321,13 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1215
1321
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
1216
1322
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
1217
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"])
1218
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"])
1219
1329
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
1330
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
1220
1331
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
1221
1332
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
1222
1333
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -1337,6 +1448,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1337
1448
  self._values["bugs_url"] = bugs_url
1338
1449
  if bundled_deps is not None:
1339
1450
  self._values["bundled_deps"] = bundled_deps
1451
+ if bun_version is not None:
1452
+ self._values["bun_version"] = bun_version
1340
1453
  if code_artifact_options is not None:
1341
1454
  self._values["code_artifact_options"] = code_artifact_options
1342
1455
  if deps is not None:
@@ -1361,12 +1474,16 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1361
1474
  self._values["min_node_version"] = min_node_version
1362
1475
  if npm_access is not None:
1363
1476
  self._values["npm_access"] = npm_access
1477
+ if npm_provenance is not None:
1478
+ self._values["npm_provenance"] = npm_provenance
1364
1479
  if npm_registry is not None:
1365
1480
  self._values["npm_registry"] = npm_registry
1366
1481
  if npm_registry_url is not None:
1367
1482
  self._values["npm_registry_url"] = npm_registry_url
1368
1483
  if npm_token_secret is not None:
1369
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
1370
1487
  if package_manager is not None:
1371
1488
  self._values["package_manager"] = package_manager
1372
1489
  if package_name is not None:
@@ -1389,12 +1506,16 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1389
1506
  self._values["stability"] = stability
1390
1507
  if yarn_berry_options is not None:
1391
1508
  self._values["yarn_berry_options"] = yarn_berry_options
1509
+ if bump_package is not None:
1510
+ self._values["bump_package"] = bump_package
1392
1511
  if jsii_release_version is not None:
1393
1512
  self._values["jsii_release_version"] = jsii_release_version
1394
1513
  if major_version is not None:
1395
1514
  self._values["major_version"] = major_version
1396
1515
  if min_major_version is not None:
1397
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
1398
1519
  if npm_dist_tag is not None:
1399
1520
  self._values["npm_dist_tag"] = npm_dist_tag
1400
1521
  if post_build_steps is not None:
@@ -1409,6 +1530,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1409
1530
  self._values["releasable_commits"] = releasable_commits
1410
1531
  if release_branches is not None:
1411
1532
  self._values["release_branches"] = release_branches
1533
+ if release_environment is not None:
1534
+ self._values["release_environment"] = release_environment
1412
1535
  if release_every_commit is not None:
1413
1536
  self._values["release_every_commit"] = release_every_commit
1414
1537
  if release_failure_issue is not None:
@@ -1421,6 +1544,8 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1421
1544
  self._values["release_tag_prefix"] = release_tag_prefix
1422
1545
  if release_trigger is not None:
1423
1546
  self._values["release_trigger"] = release_trigger
1547
+ if release_workflow_env is not None:
1548
+ self._values["release_workflow_env"] = release_workflow_env
1424
1549
  if release_workflow_name is not None:
1425
1550
  self._values["release_workflow_name"] = release_workflow_name
1426
1551
  if release_workflow_setup_steps is not None:
@@ -1435,10 +1560,20 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
1435
1560
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
1436
1561
  if artifacts_directory is not None:
1437
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
1438
1567
  if auto_approve_upgrades is not None:
1439
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
1440
1573
  if build_workflow is not None:
1441
1574
  self._values["build_workflow"] = build_workflow
1575
+ if build_workflow_options is not None:
1576
+ self._values["build_workflow_options"] = build_workflow_options
1442
1577
  if build_workflow_triggers is not None:
1443
1578
  self._values["build_workflow_triggers"] = build_workflow_triggers
1444
1579
  if bundler_options is not None:
@@ -2000,6 +2135,17 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2000
2135
  result = self._values.get("bundled_deps")
2001
2136
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2002
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
+
2003
2149
  @builtins.property
2004
2150
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
2005
2151
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -2134,9 +2280,15 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2134
2280
 
2135
2281
  @builtins.property
2136
2282
  def max_node_version(self) -> typing.Optional[builtins.str]:
2137
- '''(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.
2138
2287
 
2139
- :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
2140
2292
 
2141
2293
  :stability: experimental
2142
2294
  '''
@@ -2145,9 +2297,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2145
2297
 
2146
2298
  @builtins.property
2147
2299
  def min_node_version(self) -> typing.Optional[builtins.str]:
2148
- '''(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.
2149
2304
 
2150
- :default: - no "engines" specified
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.
2309
+
2310
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
2311
+
2312
+ :default: - no minimum version is enforced
2151
2313
 
2152
2314
  :stability: experimental
2153
2315
  '''
@@ -2169,6 +2331,24 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2169
2331
  result = self._values.get("npm_access")
2170
2332
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
2171
2333
 
2334
+ @builtins.property
2335
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
2336
+ '''(experimental) Should provenance statements be generated when the package is published.
2337
+
2338
+ A supported package manager is required to publish a package with npm provenance statements and
2339
+ you will need to use a supported CI/CD provider.
2340
+
2341
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
2342
+ which is using npm internally and supports provenance statements independently of the package manager used.
2343
+
2344
+ :default: - true for public packages, false otherwise
2345
+
2346
+ :see: https://docs.npmjs.com/generating-provenance-statements
2347
+ :stability: experimental
2348
+ '''
2349
+ result = self._values.get("npm_provenance")
2350
+ return typing.cast(typing.Optional[builtins.bool], result)
2351
+
2172
2352
  @builtins.property
2173
2353
  def npm_registry(self) -> typing.Optional[builtins.str]:
2174
2354
  '''(deprecated) The host name of the npm registry to publish to.
@@ -2206,6 +2386,17 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2206
2386
  result = self._values.get("npm_token_secret")
2207
2387
  return typing.cast(typing.Optional[builtins.str], result)
2208
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
+
2209
2400
  @builtins.property
2210
2401
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
2211
2402
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -2269,7 +2460,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2269
2460
  def pnpm_version(self) -> typing.Optional[builtins.str]:
2270
2461
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
2271
2462
 
2272
- :default: "7"
2463
+ :default: "9"
2273
2464
 
2274
2465
  :stability: experimental
2275
2466
  '''
@@ -2346,6 +2537,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2346
2537
  result = self._values.get("yarn_berry_options")
2347
2538
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
2348
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
+
2349
2553
  @builtins.property
2350
2554
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
2351
2555
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -2387,6 +2591,36 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2387
2591
  result = self._values.get("min_major_version")
2388
2592
  return typing.cast(typing.Optional[jsii.Number], result)
2389
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
+
2390
2624
  @builtins.property
2391
2625
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
2392
2626
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -2482,6 +2716,23 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2482
2716
  result = self._values.get("release_branches")
2483
2717
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
2484
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
+
2485
2736
  @builtins.property
2486
2737
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
2487
2738
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -2559,6 +2810,19 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2559
2810
  result = self._values.get("release_trigger")
2560
2811
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
2561
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
+
2562
2826
  @builtins.property
2563
2827
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
2564
2828
  '''(experimental) The name of the default release workflow.
@@ -2585,7 +2849,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2585
2849
  def versionrc_options(
2586
2850
  self,
2587
2851
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
2588
- '''(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.
2589
2853
 
2590
2854
  Given values either append to default configuration or overwrite values in it.
2591
2855
 
@@ -2654,6 +2918,32 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2654
2918
  result = self._values.get("artifacts_directory")
2655
2919
  return typing.cast(typing.Optional[builtins.str], result)
2656
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
+
2657
2947
  @builtins.property
2658
2948
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
2659
2949
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -2667,6 +2957,28 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2667
2957
  result = self._values.get("auto_approve_upgrades")
2668
2958
  return typing.cast(typing.Optional[builtins.bool], result)
2669
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
+
2670
2982
  @builtins.property
2671
2983
  def build_workflow(self) -> typing.Optional[builtins.bool]:
2672
2984
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -2678,13 +2990,24 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2678
2990
  result = self._values.get("build_workflow")
2679
2991
  return typing.cast(typing.Optional[builtins.bool], result)
2680
2992
 
2993
+ @builtins.property
2994
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
2995
+ '''(experimental) Options for PR build workflow.
2996
+
2997
+ :stability: experimental
2998
+ '''
2999
+ result = self._values.get("build_workflow_options")
3000
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
3001
+
2681
3002
  @builtins.property
2682
3003
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
2683
- '''(experimental) Build workflow triggers.
3004
+ '''(deprecated) Build workflow triggers.
2684
3005
 
2685
3006
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
2686
3007
 
2687
- :stability: experimental
3008
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
3009
+
3010
+ :stability: deprecated
2688
3011
  '''
2689
3012
  result = self._values.get("build_workflow_triggers")
2690
3013
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -2713,7 +3036,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2713
3036
 
2714
3037
  @builtins.property
2715
3038
  def code_cov(self) -> typing.Optional[builtins.bool]:
2716
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
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``.
2717
3040
 
2718
3041
  :default: false
2719
3042
 
@@ -2724,9 +3047,9 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2724
3047
 
2725
3048
  @builtins.property
2726
3049
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
2727
- '''(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.
2728
3051
 
2729
- :default: - if this option is not specified, only public repositories are supported
3052
+ :default: - OIDC auth is used
2730
3053
 
2731
3054
  :stability: experimental
2732
3055
  '''
@@ -2838,7 +3161,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2838
3161
 
2839
3162
  @builtins.property
2840
3163
  def mutable_build(self) -> typing.Optional[builtins.bool]:
2841
- '''(experimental) Automatically update files modified during builds to pull-request branches.
3164
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
2842
3165
 
2843
3166
  This means
2844
3167
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -2848,7 +3171,9 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2848
3171
 
2849
3172
  :default: true
2850
3173
 
2851
- :stability: experimental
3174
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
3175
+
3176
+ :stability: deprecated
2852
3177
  '''
2853
3178
  result = self._values.get("mutable_build")
2854
3179
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -2921,7 +3246,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
2921
3246
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
2922
3247
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
2923
3248
 
2924
- :default: true
3249
+ :default: - true if not a subproject
2925
3250
 
2926
3251
  :stability: experimental
2927
3252
  '''
@@ -3037,7 +3362,7 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
3037
3362
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
3038
3363
  '''(experimental) The git identity to use in workflows.
3039
3364
 
3040
- :default: - GitHub Actions
3365
+ :default: - default GitHub Actions user
3041
3366
 
3042
3367
  :stability: experimental
3043
3368
  '''
@@ -3046,9 +3371,11 @@ class NextJsProjectOptions(NextJsCommonProjectOptions, _NodeProjectOptions_d12f6
3046
3371
 
3047
3372
  @builtins.property
3048
3373
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
3049
- '''(experimental) The node version to use in GitHub workflows.
3374
+ '''(experimental) The node version used in GitHub Actions workflows.
3375
+
3376
+ Always use this option if your GitHub Actions workflows require a specific to run.
3050
3377
 
3051
- :default: - same as ``minNodeVersion``
3378
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
3052
3379
 
3053
3380
  :stability: experimental
3054
3381
  '''
@@ -3136,8 +3463,13 @@ class NextJsTypeScriptProject(
3136
3463
  typescript_version: typing.Optional[builtins.str] = None,
3137
3464
  default_release_branch: builtins.str,
3138
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,
3139
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,
3140
3471
  build_workflow: typing.Optional[builtins.bool] = None,
3472
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
3141
3473
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
3142
3474
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
3143
3475
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3199,6 +3531,7 @@ class NextJsTypeScriptProject(
3199
3531
  bugs_email: typing.Optional[builtins.str] = None,
3200
3532
  bugs_url: typing.Optional[builtins.str] = None,
3201
3533
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3534
+ bun_version: typing.Optional[builtins.str] = None,
3202
3535
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
3203
3536
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3204
3537
  description: typing.Optional[builtins.str] = None,
@@ -3211,9 +3544,11 @@ class NextJsTypeScriptProject(
3211
3544
  max_node_version: typing.Optional[builtins.str] = None,
3212
3545
  min_node_version: typing.Optional[builtins.str] = None,
3213
3546
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
3547
+ npm_provenance: typing.Optional[builtins.bool] = None,
3214
3548
  npm_registry: typing.Optional[builtins.str] = None,
3215
3549
  npm_registry_url: typing.Optional[builtins.str] = None,
3216
3550
  npm_token_secret: typing.Optional[builtins.str] = None,
3551
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
3217
3552
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
3218
3553
  package_name: typing.Optional[builtins.str] = None,
3219
3554
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3225,9 +3560,11 @@ class NextJsTypeScriptProject(
3225
3560
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3226
3561
  stability: typing.Optional[builtins.str] = None,
3227
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,
3228
3564
  jsii_release_version: typing.Optional[builtins.str] = None,
3229
3565
  major_version: typing.Optional[jsii.Number] = None,
3230
3566
  min_major_version: typing.Optional[jsii.Number] = None,
3567
+ next_version_command: typing.Optional[builtins.str] = None,
3231
3568
  npm_dist_tag: typing.Optional[builtins.str] = None,
3232
3569
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3233
3570
  prerelease: typing.Optional[builtins.str] = None,
@@ -3235,12 +3572,14 @@ class NextJsTypeScriptProject(
3235
3572
  publish_tasks: typing.Optional[builtins.bool] = None,
3236
3573
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
3237
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,
3238
3576
  release_every_commit: typing.Optional[builtins.bool] = None,
3239
3577
  release_failure_issue: typing.Optional[builtins.bool] = None,
3240
3578
  release_failure_issue_label: typing.Optional[builtins.str] = None,
3241
3579
  release_schedule: typing.Optional[builtins.str] = None,
3242
3580
  release_tag_prefix: typing.Optional[builtins.str] = None,
3243
3581
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
3582
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3244
3583
  release_workflow_name: typing.Optional[builtins.str] = None,
3245
3584
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3246
3585
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -3268,7 +3607,7 @@ class NextJsTypeScriptProject(
3268
3607
  :param docgen: (experimental) Docgen by Typedoc. Default: false
3269
3608
  :param docs_directory: (experimental) Docs directory. Default: "docs"
3270
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)
3271
- :param eslint: (experimental) Setup eslint. Default: true
3610
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
3272
3611
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
3273
3612
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
3274
3613
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -3283,13 +3622,18 @@ class NextJsTypeScriptProject(
3283
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"
3284
3623
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
3285
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
3286
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
3287
3630
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
3288
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
3631
+ :param build_workflow_options: (experimental) Options for PR build workflow.
3632
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
3289
3633
  :param bundler_options: (experimental) Options for ``Bundler``.
3290
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
3291
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
3292
- :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
3293
3637
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
3294
3638
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
3295
3639
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -3299,14 +3643,14 @@ class NextJsTypeScriptProject(
3299
3643
  :param gitignore: (experimental) Additional entries to .gitignore.
3300
3644
  :param jest: (experimental) Setup jest unit tests. Default: true
3301
3645
  :param jest_options: (experimental) Jest options. Default: - default options
3302
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
3646
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
3303
3647
  :param npmignore: (deprecated) Additional entries to .npmignore.
3304
3648
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
3305
3649
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
3306
3650
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
3307
3651
  :param prettier: (experimental) Setup prettier. Default: false
3308
3652
  :param prettier_options: (experimental) Prettier options. Default: - default options
3309
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
3653
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
3310
3654
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
3311
3655
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
3312
3656
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -3316,8 +3660,8 @@ class NextJsTypeScriptProject(
3316
3660
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
3317
3661
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
3318
3662
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
3319
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
3320
- :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/*``.
3321
3665
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
3322
3666
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
3323
3667
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -3346,6 +3690,7 @@ class NextJsTypeScriptProject(
3346
3690
  :param bugs_email: (experimental) The email address to which issues should be reported.
3347
3691
  :param bugs_url: (experimental) The url to your project's issue tracker.
3348
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"
3349
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
3350
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: []
3351
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
@@ -3355,26 +3700,30 @@ class NextJsTypeScriptProject(
3355
3700
  :param keywords: (experimental) Keywords to include in ``package.json``.
3356
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"
3357
3702
  :param licensed: (experimental) Indicates if a license should be added. Default: true
3358
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
3359
- :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
3360
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``.
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
3361
3707
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
3362
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"
3363
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
3364
3711
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
3365
3712
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
3366
3713
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
3367
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: []
3368
- :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"
3369
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
3370
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.
3371
3718
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
3372
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: {}
3373
3720
  :param stability: (experimental) Package's Stability.
3374
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"
3375
3723
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
3376
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.
3377
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.
3378
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"
3379
3728
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
3380
3729
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -3382,15 +3731,17 @@ class NextJsTypeScriptProject(
3382
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
3383
3732
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
3384
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
3385
3735
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
3386
3736
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
3387
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"
3388
3738
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
3389
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"
3390
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: {}
3391
3742
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
3392
3743
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
3393
- :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
3394
3745
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
3395
3746
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
3396
3747
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -3432,8 +3783,13 @@ class NextJsTypeScriptProject(
3432
3783
  typescript_version=typescript_version,
3433
3784
  default_release_branch=default_release_branch,
3434
3785
  artifacts_directory=artifacts_directory,
3786
+ audit_deps=audit_deps,
3787
+ audit_deps_options=audit_deps_options,
3435
3788
  auto_approve_upgrades=auto_approve_upgrades,
3789
+ biome=biome,
3790
+ biome_options=biome_options,
3436
3791
  build_workflow=build_workflow,
3792
+ build_workflow_options=build_workflow_options,
3437
3793
  build_workflow_triggers=build_workflow_triggers,
3438
3794
  bundler_options=bundler_options,
3439
3795
  check_licenses=check_licenses,
@@ -3495,6 +3851,7 @@ class NextJsTypeScriptProject(
3495
3851
  bugs_email=bugs_email,
3496
3852
  bugs_url=bugs_url,
3497
3853
  bundled_deps=bundled_deps,
3854
+ bun_version=bun_version,
3498
3855
  code_artifact_options=code_artifact_options,
3499
3856
  deps=deps,
3500
3857
  description=description,
@@ -3507,9 +3864,11 @@ class NextJsTypeScriptProject(
3507
3864
  max_node_version=max_node_version,
3508
3865
  min_node_version=min_node_version,
3509
3866
  npm_access=npm_access,
3867
+ npm_provenance=npm_provenance,
3510
3868
  npm_registry=npm_registry,
3511
3869
  npm_registry_url=npm_registry_url,
3512
3870
  npm_token_secret=npm_token_secret,
3871
+ npm_trusted_publishing=npm_trusted_publishing,
3513
3872
  package_manager=package_manager,
3514
3873
  package_name=package_name,
3515
3874
  peer_dependency_options=peer_dependency_options,
@@ -3521,9 +3880,11 @@ class NextJsTypeScriptProject(
3521
3880
  scripts=scripts,
3522
3881
  stability=stability,
3523
3882
  yarn_berry_options=yarn_berry_options,
3883
+ bump_package=bump_package,
3524
3884
  jsii_release_version=jsii_release_version,
3525
3885
  major_version=major_version,
3526
3886
  min_major_version=min_major_version,
3887
+ next_version_command=next_version_command,
3527
3888
  npm_dist_tag=npm_dist_tag,
3528
3889
  post_build_steps=post_build_steps,
3529
3890
  prerelease=prerelease,
@@ -3531,12 +3892,14 @@ class NextJsTypeScriptProject(
3531
3892
  publish_tasks=publish_tasks,
3532
3893
  releasable_commits=releasable_commits,
3533
3894
  release_branches=release_branches,
3895
+ release_environment=release_environment,
3534
3896
  release_every_commit=release_every_commit,
3535
3897
  release_failure_issue=release_failure_issue,
3536
3898
  release_failure_issue_label=release_failure_issue_label,
3537
3899
  release_schedule=release_schedule,
3538
3900
  release_tag_prefix=release_tag_prefix,
3539
3901
  release_trigger=release_trigger,
3902
+ release_workflow_env=release_workflow_env,
3540
3903
  release_workflow_name=release_workflow_name,
3541
3904
  release_workflow_setup_steps=release_workflow_setup_steps,
3542
3905
  versionrc_options=versionrc_options,
@@ -3633,6 +3996,7 @@ class NextJsTypeScriptProject(
3633
3996
  "bugs_email": "bugsEmail",
3634
3997
  "bugs_url": "bugsUrl",
3635
3998
  "bundled_deps": "bundledDeps",
3999
+ "bun_version": "bunVersion",
3636
4000
  "code_artifact_options": "codeArtifactOptions",
3637
4001
  "deps": "deps",
3638
4002
  "description": "description",
@@ -3645,9 +4009,11 @@ class NextJsTypeScriptProject(
3645
4009
  "max_node_version": "maxNodeVersion",
3646
4010
  "min_node_version": "minNodeVersion",
3647
4011
  "npm_access": "npmAccess",
4012
+ "npm_provenance": "npmProvenance",
3648
4013
  "npm_registry": "npmRegistry",
3649
4014
  "npm_registry_url": "npmRegistryUrl",
3650
4015
  "npm_token_secret": "npmTokenSecret",
4016
+ "npm_trusted_publishing": "npmTrustedPublishing",
3651
4017
  "package_manager": "packageManager",
3652
4018
  "package_name": "packageName",
3653
4019
  "peer_dependency_options": "peerDependencyOptions",
@@ -3659,9 +4025,11 @@ class NextJsTypeScriptProject(
3659
4025
  "scripts": "scripts",
3660
4026
  "stability": "stability",
3661
4027
  "yarn_berry_options": "yarnBerryOptions",
4028
+ "bump_package": "bumpPackage",
3662
4029
  "jsii_release_version": "jsiiReleaseVersion",
3663
4030
  "major_version": "majorVersion",
3664
4031
  "min_major_version": "minMajorVersion",
4032
+ "next_version_command": "nextVersionCommand",
3665
4033
  "npm_dist_tag": "npmDistTag",
3666
4034
  "post_build_steps": "postBuildSteps",
3667
4035
  "prerelease": "prerelease",
@@ -3669,12 +4037,14 @@ class NextJsTypeScriptProject(
3669
4037
  "publish_tasks": "publishTasks",
3670
4038
  "releasable_commits": "releasableCommits",
3671
4039
  "release_branches": "releaseBranches",
4040
+ "release_environment": "releaseEnvironment",
3672
4041
  "release_every_commit": "releaseEveryCommit",
3673
4042
  "release_failure_issue": "releaseFailureIssue",
3674
4043
  "release_failure_issue_label": "releaseFailureIssueLabel",
3675
4044
  "release_schedule": "releaseSchedule",
3676
4045
  "release_tag_prefix": "releaseTagPrefix",
3677
4046
  "release_trigger": "releaseTrigger",
4047
+ "release_workflow_env": "releaseWorkflowEnv",
3678
4048
  "release_workflow_name": "releaseWorkflowName",
3679
4049
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
3680
4050
  "versionrc_options": "versionrcOptions",
@@ -3683,8 +4053,13 @@ class NextJsTypeScriptProject(
3683
4053
  "workflow_runs_on_group": "workflowRunsOnGroup",
3684
4054
  "default_release_branch": "defaultReleaseBranch",
3685
4055
  "artifacts_directory": "artifactsDirectory",
4056
+ "audit_deps": "auditDeps",
4057
+ "audit_deps_options": "auditDepsOptions",
3686
4058
  "auto_approve_upgrades": "autoApproveUpgrades",
4059
+ "biome": "biome",
4060
+ "biome_options": "biomeOptions",
3687
4061
  "build_workflow": "buildWorkflow",
4062
+ "build_workflow_options": "buildWorkflowOptions",
3688
4063
  "build_workflow_triggers": "buildWorkflowTriggers",
3689
4064
  "bundler_options": "bundlerOptions",
3690
4065
  "check_licenses": "checkLicenses",
@@ -3787,6 +4162,7 @@ class NextJsTypeScriptProjectOptions(
3787
4162
  bugs_email: typing.Optional[builtins.str] = None,
3788
4163
  bugs_url: typing.Optional[builtins.str] = None,
3789
4164
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
4165
+ bun_version: typing.Optional[builtins.str] = None,
3790
4166
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
3791
4167
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
3792
4168
  description: typing.Optional[builtins.str] = None,
@@ -3799,9 +4175,11 @@ class NextJsTypeScriptProjectOptions(
3799
4175
  max_node_version: typing.Optional[builtins.str] = None,
3800
4176
  min_node_version: typing.Optional[builtins.str] = None,
3801
4177
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
4178
+ npm_provenance: typing.Optional[builtins.bool] = None,
3802
4179
  npm_registry: typing.Optional[builtins.str] = None,
3803
4180
  npm_registry_url: typing.Optional[builtins.str] = None,
3804
4181
  npm_token_secret: typing.Optional[builtins.str] = None,
4182
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
3805
4183
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
3806
4184
  package_name: typing.Optional[builtins.str] = None,
3807
4185
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3813,9 +4191,11 @@ class NextJsTypeScriptProjectOptions(
3813
4191
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3814
4192
  stability: typing.Optional[builtins.str] = None,
3815
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,
3816
4195
  jsii_release_version: typing.Optional[builtins.str] = None,
3817
4196
  major_version: typing.Optional[jsii.Number] = None,
3818
4197
  min_major_version: typing.Optional[jsii.Number] = None,
4198
+ next_version_command: typing.Optional[builtins.str] = None,
3819
4199
  npm_dist_tag: typing.Optional[builtins.str] = None,
3820
4200
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3821
4201
  prerelease: typing.Optional[builtins.str] = None,
@@ -3823,12 +4203,14 @@ class NextJsTypeScriptProjectOptions(
3823
4203
  publish_tasks: typing.Optional[builtins.bool] = None,
3824
4204
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
3825
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,
3826
4207
  release_every_commit: typing.Optional[builtins.bool] = None,
3827
4208
  release_failure_issue: typing.Optional[builtins.bool] = None,
3828
4209
  release_failure_issue_label: typing.Optional[builtins.str] = None,
3829
4210
  release_schedule: typing.Optional[builtins.str] = None,
3830
4211
  release_tag_prefix: typing.Optional[builtins.str] = None,
3831
4212
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
4213
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3832
4214
  release_workflow_name: typing.Optional[builtins.str] = None,
3833
4215
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3834
4216
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -3837,8 +4219,13 @@ class NextJsTypeScriptProjectOptions(
3837
4219
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
3838
4220
  default_release_branch: builtins.str,
3839
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,
3840
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,
3841
4227
  build_workflow: typing.Optional[builtins.bool] = None,
4228
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
3842
4229
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
3843
4230
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
3844
4231
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3934,6 +4321,7 @@ class NextJsTypeScriptProjectOptions(
3934
4321
  :param bugs_email: (experimental) The email address to which issues should be reported.
3935
4322
  :param bugs_url: (experimental) The url to your project's issue tracker.
3936
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"
3937
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
3938
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: []
3939
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
@@ -3943,26 +4331,30 @@ class NextJsTypeScriptProjectOptions(
3943
4331
  :param keywords: (experimental) Keywords to include in ``package.json``.
3944
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"
3945
4333
  :param licensed: (experimental) Indicates if a license should be added. Default: true
3946
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
3947
- :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
3948
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``.
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
3949
4338
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
3950
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"
3951
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
3952
4342
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
3953
4343
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
3954
4344
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
3955
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: []
3956
- :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"
3957
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
3958
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.
3959
4349
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
3960
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: {}
3961
4351
  :param stability: (experimental) Package's Stability.
3962
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"
3963
4354
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
3964
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.
3965
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.
3966
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"
3967
4359
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
3968
4360
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -3970,27 +4362,34 @@ class NextJsTypeScriptProjectOptions(
3970
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
3971
4363
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
3972
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
3973
4366
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
3974
4367
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
3975
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"
3976
4369
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
3977
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"
3978
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: {}
3979
4373
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
3980
4374
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
3981
- :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
3982
4376
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
3983
4377
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
3984
4378
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
3985
4379
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
3986
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
3987
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
3988
4386
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
3989
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
4387
+ :param build_workflow_options: (experimental) Options for PR build workflow.
4388
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
3990
4389
  :param bundler_options: (experimental) Options for ``Bundler``.
3991
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
3992
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
3993
- :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
3994
4393
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
3995
4394
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
3996
4395
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -4000,14 +4399,14 @@ class NextJsTypeScriptProjectOptions(
4000
4399
  :param gitignore: (experimental) Additional entries to .gitignore.
4001
4400
  :param jest: (experimental) Setup jest unit tests. Default: true
4002
4401
  :param jest_options: (experimental) Jest options. Default: - default options
4003
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
4402
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
4004
4403
  :param npmignore: (deprecated) Additional entries to .npmignore.
4005
4404
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
4006
4405
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
4007
4406
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
4008
4407
  :param prettier: (experimental) Setup prettier. Default: false
4009
4408
  :param prettier_options: (experimental) Prettier options. Default: - default options
4010
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
4409
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
4011
4410
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
4012
4411
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
4013
4412
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -4017,15 +4416,15 @@ class NextJsTypeScriptProjectOptions(
4017
4416
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
4018
4417
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
4019
4418
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
4020
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
4021
- :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/*``.
4022
4421
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
4023
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
4024
4423
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
4025
4424
  :param docgen: (experimental) Docgen by Typedoc. Default: false
4026
4425
  :param docs_directory: (experimental) Docs directory. Default: "docs"
4027
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)
4028
- :param eslint: (experimental) Setup eslint. Default: true
4427
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
4029
4428
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
4030
4429
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
4031
4430
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -4071,6 +4470,12 @@ class NextJsTypeScriptProjectOptions(
4071
4470
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
4072
4471
  if isinstance(workflow_runs_on_group, dict):
4073
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)
4477
+ if isinstance(build_workflow_options, dict):
4478
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
4074
4479
  if isinstance(build_workflow_triggers, dict):
4075
4480
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
4076
4481
  if isinstance(bundler_options, dict):
@@ -4144,6 +4549,7 @@ class NextJsTypeScriptProjectOptions(
4144
4549
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
4145
4550
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
4146
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"])
4147
4553
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
4148
4554
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
4149
4555
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -4156,9 +4562,11 @@ class NextJsTypeScriptProjectOptions(
4156
4562
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
4157
4563
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
4158
4564
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
4565
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
4159
4566
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
4160
4567
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
4161
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"])
4162
4570
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
4163
4571
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
4164
4572
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -4170,9 +4578,11 @@ class NextJsTypeScriptProjectOptions(
4170
4578
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
4171
4579
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
4172
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"])
4173
4582
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
4174
4583
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
4175
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"])
4176
4586
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
4177
4587
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
4178
4588
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -4180,12 +4590,14 @@ class NextJsTypeScriptProjectOptions(
4180
4590
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
4181
4591
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
4182
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"])
4183
4594
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
4184
4595
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
4185
4596
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
4186
4597
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
4187
4598
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
4188
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"])
4189
4601
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
4190
4602
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
4191
4603
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -4194,8 +4606,13 @@ class NextJsTypeScriptProjectOptions(
4194
4606
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
4195
4607
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
4196
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"])
4197
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"])
4198
4614
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
4615
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
4199
4616
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
4200
4617
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
4201
4618
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -4332,6 +4749,8 @@ class NextJsTypeScriptProjectOptions(
4332
4749
  self._values["bugs_url"] = bugs_url
4333
4750
  if bundled_deps is not None:
4334
4751
  self._values["bundled_deps"] = bundled_deps
4752
+ if bun_version is not None:
4753
+ self._values["bun_version"] = bun_version
4335
4754
  if code_artifact_options is not None:
4336
4755
  self._values["code_artifact_options"] = code_artifact_options
4337
4756
  if deps is not None:
@@ -4356,12 +4775,16 @@ class NextJsTypeScriptProjectOptions(
4356
4775
  self._values["min_node_version"] = min_node_version
4357
4776
  if npm_access is not None:
4358
4777
  self._values["npm_access"] = npm_access
4778
+ if npm_provenance is not None:
4779
+ self._values["npm_provenance"] = npm_provenance
4359
4780
  if npm_registry is not None:
4360
4781
  self._values["npm_registry"] = npm_registry
4361
4782
  if npm_registry_url is not None:
4362
4783
  self._values["npm_registry_url"] = npm_registry_url
4363
4784
  if npm_token_secret is not None:
4364
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
4365
4788
  if package_manager is not None:
4366
4789
  self._values["package_manager"] = package_manager
4367
4790
  if package_name is not None:
@@ -4384,12 +4807,16 @@ class NextJsTypeScriptProjectOptions(
4384
4807
  self._values["stability"] = stability
4385
4808
  if yarn_berry_options is not None:
4386
4809
  self._values["yarn_berry_options"] = yarn_berry_options
4810
+ if bump_package is not None:
4811
+ self._values["bump_package"] = bump_package
4387
4812
  if jsii_release_version is not None:
4388
4813
  self._values["jsii_release_version"] = jsii_release_version
4389
4814
  if major_version is not None:
4390
4815
  self._values["major_version"] = major_version
4391
4816
  if min_major_version is not None:
4392
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
4393
4820
  if npm_dist_tag is not None:
4394
4821
  self._values["npm_dist_tag"] = npm_dist_tag
4395
4822
  if post_build_steps is not None:
@@ -4404,6 +4831,8 @@ class NextJsTypeScriptProjectOptions(
4404
4831
  self._values["releasable_commits"] = releasable_commits
4405
4832
  if release_branches is not None:
4406
4833
  self._values["release_branches"] = release_branches
4834
+ if release_environment is not None:
4835
+ self._values["release_environment"] = release_environment
4407
4836
  if release_every_commit is not None:
4408
4837
  self._values["release_every_commit"] = release_every_commit
4409
4838
  if release_failure_issue is not None:
@@ -4416,6 +4845,8 @@ class NextJsTypeScriptProjectOptions(
4416
4845
  self._values["release_tag_prefix"] = release_tag_prefix
4417
4846
  if release_trigger is not None:
4418
4847
  self._values["release_trigger"] = release_trigger
4848
+ if release_workflow_env is not None:
4849
+ self._values["release_workflow_env"] = release_workflow_env
4419
4850
  if release_workflow_name is not None:
4420
4851
  self._values["release_workflow_name"] = release_workflow_name
4421
4852
  if release_workflow_setup_steps is not None:
@@ -4430,10 +4861,20 @@ class NextJsTypeScriptProjectOptions(
4430
4861
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
4431
4862
  if artifacts_directory is not None:
4432
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
4433
4868
  if auto_approve_upgrades is not None:
4434
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
4435
4874
  if build_workflow is not None:
4436
4875
  self._values["build_workflow"] = build_workflow
4876
+ if build_workflow_options is not None:
4877
+ self._values["build_workflow_options"] = build_workflow_options
4437
4878
  if build_workflow_triggers is not None:
4438
4879
  self._values["build_workflow_triggers"] = build_workflow_triggers
4439
4880
  if bundler_options is not None:
@@ -5027,6 +5468,17 @@ class NextJsTypeScriptProjectOptions(
5027
5468
  result = self._values.get("bundled_deps")
5028
5469
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5029
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
+
5030
5482
  @builtins.property
5031
5483
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
5032
5484
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -5161,9 +5613,15 @@ class NextJsTypeScriptProjectOptions(
5161
5613
 
5162
5614
  @builtins.property
5163
5615
  def max_node_version(self) -> typing.Optional[builtins.str]:
5164
- '''(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.
5165
5617
 
5166
- :default: - no max
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.
5623
+
5624
+ :default: - no maximum version is enforced
5167
5625
 
5168
5626
  :stability: experimental
5169
5627
  '''
@@ -5172,9 +5630,19 @@ class NextJsTypeScriptProjectOptions(
5172
5630
 
5173
5631
  @builtins.property
5174
5632
  def min_node_version(self) -> typing.Optional[builtins.str]:
5175
- '''(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.
5176
5642
 
5177
- :default: - no "engines" specified
5643
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
5644
+
5645
+ :default: - no minimum version is enforced
5178
5646
 
5179
5647
  :stability: experimental
5180
5648
  '''
@@ -5196,6 +5664,24 @@ class NextJsTypeScriptProjectOptions(
5196
5664
  result = self._values.get("npm_access")
5197
5665
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
5198
5666
 
5667
+ @builtins.property
5668
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
5669
+ '''(experimental) Should provenance statements be generated when the package is published.
5670
+
5671
+ A supported package manager is required to publish a package with npm provenance statements and
5672
+ you will need to use a supported CI/CD provider.
5673
+
5674
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
5675
+ which is using npm internally and supports provenance statements independently of the package manager used.
5676
+
5677
+ :default: - true for public packages, false otherwise
5678
+
5679
+ :see: https://docs.npmjs.com/generating-provenance-statements
5680
+ :stability: experimental
5681
+ '''
5682
+ result = self._values.get("npm_provenance")
5683
+ return typing.cast(typing.Optional[builtins.bool], result)
5684
+
5199
5685
  @builtins.property
5200
5686
  def npm_registry(self) -> typing.Optional[builtins.str]:
5201
5687
  '''(deprecated) The host name of the npm registry to publish to.
@@ -5233,6 +5719,17 @@ class NextJsTypeScriptProjectOptions(
5233
5719
  result = self._values.get("npm_token_secret")
5234
5720
  return typing.cast(typing.Optional[builtins.str], result)
5235
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
+
5236
5733
  @builtins.property
5237
5734
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
5238
5735
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -5296,7 +5793,7 @@ class NextJsTypeScriptProjectOptions(
5296
5793
  def pnpm_version(self) -> typing.Optional[builtins.str]:
5297
5794
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
5298
5795
 
5299
- :default: "7"
5796
+ :default: "9"
5300
5797
 
5301
5798
  :stability: experimental
5302
5799
  '''
@@ -5373,6 +5870,19 @@ class NextJsTypeScriptProjectOptions(
5373
5870
  result = self._values.get("yarn_berry_options")
5374
5871
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
5375
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
+
5376
5886
  @builtins.property
5377
5887
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
5378
5888
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -5414,6 +5924,36 @@ class NextJsTypeScriptProjectOptions(
5414
5924
  result = self._values.get("min_major_version")
5415
5925
  return typing.cast(typing.Optional[jsii.Number], result)
5416
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
+
5417
5957
  @builtins.property
5418
5958
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
5419
5959
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -5509,6 +6049,23 @@ class NextJsTypeScriptProjectOptions(
5509
6049
  result = self._values.get("release_branches")
5510
6050
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
5511
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
+
5512
6069
  @builtins.property
5513
6070
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
5514
6071
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -5586,6 +6143,19 @@ class NextJsTypeScriptProjectOptions(
5586
6143
  result = self._values.get("release_trigger")
5587
6144
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
5588
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
+
5589
6159
  @builtins.property
5590
6160
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
5591
6161
  '''(experimental) The name of the default release workflow.
@@ -5612,7 +6182,7 @@ class NextJsTypeScriptProjectOptions(
5612
6182
  def versionrc_options(
5613
6183
  self,
5614
6184
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
5615
- '''(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.
5616
6186
 
5617
6187
  Given values either append to default configuration or overwrite values in it.
5618
6188
 
@@ -5681,6 +6251,32 @@ class NextJsTypeScriptProjectOptions(
5681
6251
  result = self._values.get("artifacts_directory")
5682
6252
  return typing.cast(typing.Optional[builtins.str], result)
5683
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
+
5684
6280
  @builtins.property
5685
6281
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
5686
6282
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -5694,6 +6290,28 @@ class NextJsTypeScriptProjectOptions(
5694
6290
  result = self._values.get("auto_approve_upgrades")
5695
6291
  return typing.cast(typing.Optional[builtins.bool], result)
5696
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
+
5697
6315
  @builtins.property
5698
6316
  def build_workflow(self) -> typing.Optional[builtins.bool]:
5699
6317
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -5705,13 +6323,24 @@ class NextJsTypeScriptProjectOptions(
5705
6323
  result = self._values.get("build_workflow")
5706
6324
  return typing.cast(typing.Optional[builtins.bool], result)
5707
6325
 
6326
+ @builtins.property
6327
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
6328
+ '''(experimental) Options for PR build workflow.
6329
+
6330
+ :stability: experimental
6331
+ '''
6332
+ result = self._values.get("build_workflow_options")
6333
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
6334
+
5708
6335
  @builtins.property
5709
6336
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
5710
- '''(experimental) Build workflow triggers.
6337
+ '''(deprecated) Build workflow triggers.
5711
6338
 
5712
6339
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
5713
6340
 
5714
- :stability: experimental
6341
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
6342
+
6343
+ :stability: deprecated
5715
6344
  '''
5716
6345
  result = self._values.get("build_workflow_triggers")
5717
6346
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -5740,7 +6369,7 @@ class NextJsTypeScriptProjectOptions(
5740
6369
 
5741
6370
  @builtins.property
5742
6371
  def code_cov(self) -> typing.Optional[builtins.bool]:
5743
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
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``.
5744
6373
 
5745
6374
  :default: false
5746
6375
 
@@ -5751,9 +6380,9 @@ class NextJsTypeScriptProjectOptions(
5751
6380
 
5752
6381
  @builtins.property
5753
6382
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
5754
- '''(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.
5755
6384
 
5756
- :default: - if this option is not specified, only public repositories are supported
6385
+ :default: - OIDC auth is used
5757
6386
 
5758
6387
  :stability: experimental
5759
6388
  '''
@@ -5865,7 +6494,7 @@ class NextJsTypeScriptProjectOptions(
5865
6494
 
5866
6495
  @builtins.property
5867
6496
  def mutable_build(self) -> typing.Optional[builtins.bool]:
5868
- '''(experimental) Automatically update files modified during builds to pull-request branches.
6497
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
5869
6498
 
5870
6499
  This means
5871
6500
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -5875,7 +6504,9 @@ class NextJsTypeScriptProjectOptions(
5875
6504
 
5876
6505
  :default: true
5877
6506
 
5878
- :stability: experimental
6507
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
6508
+
6509
+ :stability: deprecated
5879
6510
  '''
5880
6511
  result = self._values.get("mutable_build")
5881
6512
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -5948,7 +6579,7 @@ class NextJsTypeScriptProjectOptions(
5948
6579
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
5949
6580
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
5950
6581
 
5951
- :default: true
6582
+ :default: - true if not a subproject
5952
6583
 
5953
6584
  :stability: experimental
5954
6585
  '''
@@ -6064,7 +6695,7 @@ class NextJsTypeScriptProjectOptions(
6064
6695
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
6065
6696
  '''(experimental) The git identity to use in workflows.
6066
6697
 
6067
- :default: - GitHub Actions
6698
+ :default: - default GitHub Actions user
6068
6699
 
6069
6700
  :stability: experimental
6070
6701
  '''
@@ -6073,9 +6704,11 @@ class NextJsTypeScriptProjectOptions(
6073
6704
 
6074
6705
  @builtins.property
6075
6706
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
6076
- '''(experimental) The node version to use in GitHub workflows.
6707
+ '''(experimental) The node version used in GitHub Actions workflows.
6708
+
6709
+ Always use this option if your GitHub Actions workflows require a specific to run.
6077
6710
 
6078
- :default: - same as ``minNodeVersion``
6711
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
6079
6712
 
6080
6713
  :stability: experimental
6081
6714
  '''
@@ -6152,7 +6785,7 @@ class NextJsTypeScriptProjectOptions(
6152
6785
  def eslint(self) -> typing.Optional[builtins.bool]:
6153
6786
  '''(experimental) Setup eslint.
6154
6787
 
6155
- :default: true
6788
+ :default: - true, unless biome is enabled
6156
6789
 
6157
6790
  :stability: experimental
6158
6791
  '''
@@ -6494,8 +7127,13 @@ class ReactProject(
6494
7127
  srcdir: typing.Optional[builtins.str] = None,
6495
7128
  default_release_branch: builtins.str,
6496
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,
6497
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,
6498
7135
  build_workflow: typing.Optional[builtins.bool] = None,
7136
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
6499
7137
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
6500
7138
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
6501
7139
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6558,6 +7196,7 @@ class ReactProject(
6558
7196
  bugs_email: typing.Optional[builtins.str] = None,
6559
7197
  bugs_url: typing.Optional[builtins.str] = None,
6560
7198
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7199
+ bun_version: typing.Optional[builtins.str] = None,
6561
7200
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
6562
7201
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
6563
7202
  description: typing.Optional[builtins.str] = None,
@@ -6570,9 +7209,11 @@ class ReactProject(
6570
7209
  max_node_version: typing.Optional[builtins.str] = None,
6571
7210
  min_node_version: typing.Optional[builtins.str] = None,
6572
7211
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
7212
+ npm_provenance: typing.Optional[builtins.bool] = None,
6573
7213
  npm_registry: typing.Optional[builtins.str] = None,
6574
7214
  npm_registry_url: typing.Optional[builtins.str] = None,
6575
7215
  npm_token_secret: typing.Optional[builtins.str] = None,
7216
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
6576
7217
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
6577
7218
  package_name: typing.Optional[builtins.str] = None,
6578
7219
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6584,9 +7225,11 @@ class ReactProject(
6584
7225
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6585
7226
  stability: typing.Optional[builtins.str] = None,
6586
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,
6587
7229
  jsii_release_version: typing.Optional[builtins.str] = None,
6588
7230
  major_version: typing.Optional[jsii.Number] = None,
6589
7231
  min_major_version: typing.Optional[jsii.Number] = None,
7232
+ next_version_command: typing.Optional[builtins.str] = None,
6590
7233
  npm_dist_tag: typing.Optional[builtins.str] = None,
6591
7234
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
6592
7235
  prerelease: typing.Optional[builtins.str] = None,
@@ -6594,12 +7237,14 @@ class ReactProject(
6594
7237
  publish_tasks: typing.Optional[builtins.bool] = None,
6595
7238
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
6596
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,
6597
7241
  release_every_commit: typing.Optional[builtins.bool] = None,
6598
7242
  release_failure_issue: typing.Optional[builtins.bool] = None,
6599
7243
  release_failure_issue_label: typing.Optional[builtins.str] = None,
6600
7244
  release_schedule: typing.Optional[builtins.str] = None,
6601
7245
  release_tag_prefix: typing.Optional[builtins.str] = None,
6602
7246
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
7247
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6603
7248
  release_workflow_name: typing.Optional[builtins.str] = None,
6604
7249
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
6605
7250
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -6624,13 +7269,18 @@ class ReactProject(
6624
7269
  :param srcdir: (experimental) Source directory. Default: "src"
6625
7270
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
6626
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
6627
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
6628
7277
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
6629
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
7278
+ :param build_workflow_options: (experimental) Options for PR build workflow.
7279
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
6630
7280
  :param bundler_options: (experimental) Options for ``Bundler``.
6631
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
6632
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
6633
- :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
6634
7284
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
6635
7285
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
6636
7286
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -6640,14 +7290,14 @@ class ReactProject(
6640
7290
  :param gitignore: (experimental) Additional entries to .gitignore.
6641
7291
  :param jest: (experimental) Setup jest unit tests. Default: true
6642
7292
  :param jest_options: (experimental) Jest options. Default: - default options
6643
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
7293
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
6644
7294
  :param npmignore: (deprecated) Additional entries to .npmignore.
6645
7295
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
6646
7296
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
6647
7297
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
6648
7298
  :param prettier: (experimental) Setup prettier. Default: false
6649
7299
  :param prettier_options: (experimental) Prettier options. Default: - default options
6650
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
7300
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
6651
7301
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
6652
7302
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
6653
7303
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -6657,8 +7307,8 @@ class ReactProject(
6657
7307
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
6658
7308
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
6659
7309
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
6660
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
6661
- :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/*``.
6662
7312
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
6663
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.
6664
7314
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
@@ -6688,6 +7338,7 @@ class ReactProject(
6688
7338
  :param bugs_email: (experimental) The email address to which issues should be reported.
6689
7339
  :param bugs_url: (experimental) The url to your project's issue tracker.
6690
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"
6691
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
6692
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: []
6693
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
@@ -6697,26 +7348,30 @@ class ReactProject(
6697
7348
  :param keywords: (experimental) Keywords to include in ``package.json``.
6698
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"
6699
7350
  :param licensed: (experimental) Indicates if a license should be added. Default: true
6700
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
6701
- :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
6702
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``.
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
6703
7355
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
6704
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"
6705
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
6706
7359
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
6707
7360
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
6708
7361
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
6709
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: []
6710
- :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"
6711
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
6712
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.
6713
7366
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
6714
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: {}
6715
7368
  :param stability: (experimental) Package's Stability.
6716
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"
6717
7371
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
6718
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.
6719
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.
6720
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"
6721
7376
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
6722
7377
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -6724,15 +7379,17 @@ class ReactProject(
6724
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
6725
7380
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
6726
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
6727
7383
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
6728
7384
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
6729
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"
6730
7386
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
6731
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"
6732
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: {}
6733
7390
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
6734
7391
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
6735
- :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
6736
7393
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
6737
7394
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
6738
7395
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -6756,8 +7413,13 @@ class ReactProject(
6756
7413
  srcdir=srcdir,
6757
7414
  default_release_branch=default_release_branch,
6758
7415
  artifacts_directory=artifacts_directory,
7416
+ audit_deps=audit_deps,
7417
+ audit_deps_options=audit_deps_options,
6759
7418
  auto_approve_upgrades=auto_approve_upgrades,
7419
+ biome=biome,
7420
+ biome_options=biome_options,
6760
7421
  build_workflow=build_workflow,
7422
+ build_workflow_options=build_workflow_options,
6761
7423
  build_workflow_triggers=build_workflow_triggers,
6762
7424
  bundler_options=bundler_options,
6763
7425
  check_licenses=check_licenses,
@@ -6820,6 +7482,7 @@ class ReactProject(
6820
7482
  bugs_email=bugs_email,
6821
7483
  bugs_url=bugs_url,
6822
7484
  bundled_deps=bundled_deps,
7485
+ bun_version=bun_version,
6823
7486
  code_artifact_options=code_artifact_options,
6824
7487
  deps=deps,
6825
7488
  description=description,
@@ -6832,9 +7495,11 @@ class ReactProject(
6832
7495
  max_node_version=max_node_version,
6833
7496
  min_node_version=min_node_version,
6834
7497
  npm_access=npm_access,
7498
+ npm_provenance=npm_provenance,
6835
7499
  npm_registry=npm_registry,
6836
7500
  npm_registry_url=npm_registry_url,
6837
7501
  npm_token_secret=npm_token_secret,
7502
+ npm_trusted_publishing=npm_trusted_publishing,
6838
7503
  package_manager=package_manager,
6839
7504
  package_name=package_name,
6840
7505
  peer_dependency_options=peer_dependency_options,
@@ -6846,9 +7511,11 @@ class ReactProject(
6846
7511
  scripts=scripts,
6847
7512
  stability=stability,
6848
7513
  yarn_berry_options=yarn_berry_options,
7514
+ bump_package=bump_package,
6849
7515
  jsii_release_version=jsii_release_version,
6850
7516
  major_version=major_version,
6851
7517
  min_major_version=min_major_version,
7518
+ next_version_command=next_version_command,
6852
7519
  npm_dist_tag=npm_dist_tag,
6853
7520
  post_build_steps=post_build_steps,
6854
7521
  prerelease=prerelease,
@@ -6856,12 +7523,14 @@ class ReactProject(
6856
7523
  publish_tasks=publish_tasks,
6857
7524
  releasable_commits=releasable_commits,
6858
7525
  release_branches=release_branches,
7526
+ release_environment=release_environment,
6859
7527
  release_every_commit=release_every_commit,
6860
7528
  release_failure_issue=release_failure_issue,
6861
7529
  release_failure_issue_label=release_failure_issue_label,
6862
7530
  release_schedule=release_schedule,
6863
7531
  release_tag_prefix=release_tag_prefix,
6864
7532
  release_trigger=release_trigger,
7533
+ release_workflow_env=release_workflow_env,
6865
7534
  release_workflow_name=release_workflow_name,
6866
7535
  release_workflow_setup_steps=release_workflow_setup_steps,
6867
7536
  versionrc_options=versionrc_options,
@@ -7184,8 +7853,13 @@ class ReactTypeScriptProject(
7184
7853
  rewire: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
7185
7854
  default_release_branch: builtins.str,
7186
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,
7187
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,
7188
7861
  build_workflow: typing.Optional[builtins.bool] = None,
7862
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
7189
7863
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
7190
7864
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
7191
7865
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7247,6 +7921,7 @@ class ReactTypeScriptProject(
7247
7921
  bugs_email: typing.Optional[builtins.str] = None,
7248
7922
  bugs_url: typing.Optional[builtins.str] = None,
7249
7923
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7924
+ bun_version: typing.Optional[builtins.str] = None,
7250
7925
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
7251
7926
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7252
7927
  description: typing.Optional[builtins.str] = None,
@@ -7259,9 +7934,11 @@ class ReactTypeScriptProject(
7259
7934
  max_node_version: typing.Optional[builtins.str] = None,
7260
7935
  min_node_version: typing.Optional[builtins.str] = None,
7261
7936
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
7937
+ npm_provenance: typing.Optional[builtins.bool] = None,
7262
7938
  npm_registry: typing.Optional[builtins.str] = None,
7263
7939
  npm_registry_url: typing.Optional[builtins.str] = None,
7264
7940
  npm_token_secret: typing.Optional[builtins.str] = None,
7941
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7265
7942
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
7266
7943
  package_name: typing.Optional[builtins.str] = None,
7267
7944
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7273,9 +7950,11 @@ class ReactTypeScriptProject(
7273
7950
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7274
7951
  stability: typing.Optional[builtins.str] = None,
7275
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,
7276
7954
  jsii_release_version: typing.Optional[builtins.str] = None,
7277
7955
  major_version: typing.Optional[jsii.Number] = None,
7278
7956
  min_major_version: typing.Optional[jsii.Number] = None,
7957
+ next_version_command: typing.Optional[builtins.str] = None,
7279
7958
  npm_dist_tag: typing.Optional[builtins.str] = None,
7280
7959
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7281
7960
  prerelease: typing.Optional[builtins.str] = None,
@@ -7283,12 +7962,14 @@ class ReactTypeScriptProject(
7283
7962
  publish_tasks: typing.Optional[builtins.bool] = None,
7284
7963
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7285
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,
7286
7966
  release_every_commit: typing.Optional[builtins.bool] = None,
7287
7967
  release_failure_issue: typing.Optional[builtins.bool] = None,
7288
7968
  release_failure_issue_label: typing.Optional[builtins.str] = None,
7289
7969
  release_schedule: typing.Optional[builtins.str] = None,
7290
7970
  release_tag_prefix: typing.Optional[builtins.str] = None,
7291
7971
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
7972
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7292
7973
  release_workflow_name: typing.Optional[builtins.str] = None,
7293
7974
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7294
7975
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -7314,7 +7995,7 @@ class ReactTypeScriptProject(
7314
7995
  :param docgen: (experimental) Docgen by Typedoc. Default: false
7315
7996
  :param docs_directory: (experimental) Docs directory. Default: "docs"
7316
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)
7317
- :param eslint: (experimental) Setup eslint. Default: true
7998
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
7318
7999
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
7319
8000
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
7320
8001
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -7330,13 +8011,18 @@ class ReactTypeScriptProject(
7330
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.
7331
8012
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
7332
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
7333
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
7334
8019
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
7335
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
8020
+ :param build_workflow_options: (experimental) Options for PR build workflow.
8021
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
7336
8022
  :param bundler_options: (experimental) Options for ``Bundler``.
7337
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
7338
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
7339
- :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
7340
8026
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
7341
8027
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
7342
8028
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -7346,14 +8032,14 @@ class ReactTypeScriptProject(
7346
8032
  :param gitignore: (experimental) Additional entries to .gitignore.
7347
8033
  :param jest: (experimental) Setup jest unit tests. Default: true
7348
8034
  :param jest_options: (experimental) Jest options. Default: - default options
7349
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
8035
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
7350
8036
  :param npmignore: (deprecated) Additional entries to .npmignore.
7351
8037
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
7352
8038
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
7353
8039
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
7354
8040
  :param prettier: (experimental) Setup prettier. Default: false
7355
8041
  :param prettier_options: (experimental) Prettier options. Default: - default options
7356
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
8042
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
7357
8043
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
7358
8044
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
7359
8045
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -7363,8 +8049,8 @@ class ReactTypeScriptProject(
7363
8049
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
7364
8050
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
7365
8051
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
7366
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
7367
- :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/*``.
7368
8054
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
7369
8055
  :param auto_approve_options: (experimental) Enable and configure the 'auto approve' workflow. Default: - auto approve is disabled
7370
8056
  :param auto_merge: (experimental) Enable automatic merging on GitHub. Has no effect if ``github.mergify`` is set to false. Default: true
@@ -7393,6 +8079,7 @@ class ReactTypeScriptProject(
7393
8079
  :param bugs_email: (experimental) The email address to which issues should be reported.
7394
8080
  :param bugs_url: (experimental) The url to your project's issue tracker.
7395
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"
7396
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
7397
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: []
7398
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
@@ -7402,26 +8089,30 @@ class ReactTypeScriptProject(
7402
8089
  :param keywords: (experimental) Keywords to include in ``package.json``.
7403
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"
7404
8091
  :param licensed: (experimental) Indicates if a license should be added. Default: true
7405
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
7406
- :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
7407
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``.
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
7408
8096
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
7409
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"
7410
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
7411
8100
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
7412
8101
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
7413
8102
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
7414
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: []
7415
- :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"
7416
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
7417
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.
7418
8107
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
7419
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: {}
7420
8109
  :param stability: (experimental) Package's Stability.
7421
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"
7422
8112
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
7423
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.
7424
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.
7425
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"
7426
8117
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
7427
8118
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -7429,15 +8120,17 @@ class ReactTypeScriptProject(
7429
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
7430
8121
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
7431
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
7432
8124
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
7433
8125
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
7434
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"
7435
8127
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
7436
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"
7437
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: {}
7438
8131
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
7439
8132
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
7440
- :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
7441
8134
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
7442
8135
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
7443
8136
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
@@ -7478,8 +8171,13 @@ class ReactTypeScriptProject(
7478
8171
  rewire=rewire,
7479
8172
  default_release_branch=default_release_branch,
7480
8173
  artifacts_directory=artifacts_directory,
8174
+ audit_deps=audit_deps,
8175
+ audit_deps_options=audit_deps_options,
7481
8176
  auto_approve_upgrades=auto_approve_upgrades,
8177
+ biome=biome,
8178
+ biome_options=biome_options,
7482
8179
  build_workflow=build_workflow,
8180
+ build_workflow_options=build_workflow_options,
7483
8181
  build_workflow_triggers=build_workflow_triggers,
7484
8182
  bundler_options=bundler_options,
7485
8183
  check_licenses=check_licenses,
@@ -7541,6 +8239,7 @@ class ReactTypeScriptProject(
7541
8239
  bugs_email=bugs_email,
7542
8240
  bugs_url=bugs_url,
7543
8241
  bundled_deps=bundled_deps,
8242
+ bun_version=bun_version,
7544
8243
  code_artifact_options=code_artifact_options,
7545
8244
  deps=deps,
7546
8245
  description=description,
@@ -7553,9 +8252,11 @@ class ReactTypeScriptProject(
7553
8252
  max_node_version=max_node_version,
7554
8253
  min_node_version=min_node_version,
7555
8254
  npm_access=npm_access,
8255
+ npm_provenance=npm_provenance,
7556
8256
  npm_registry=npm_registry,
7557
8257
  npm_registry_url=npm_registry_url,
7558
8258
  npm_token_secret=npm_token_secret,
8259
+ npm_trusted_publishing=npm_trusted_publishing,
7559
8260
  package_manager=package_manager,
7560
8261
  package_name=package_name,
7561
8262
  peer_dependency_options=peer_dependency_options,
@@ -7567,9 +8268,11 @@ class ReactTypeScriptProject(
7567
8268
  scripts=scripts,
7568
8269
  stability=stability,
7569
8270
  yarn_berry_options=yarn_berry_options,
8271
+ bump_package=bump_package,
7570
8272
  jsii_release_version=jsii_release_version,
7571
8273
  major_version=major_version,
7572
8274
  min_major_version=min_major_version,
8275
+ next_version_command=next_version_command,
7573
8276
  npm_dist_tag=npm_dist_tag,
7574
8277
  post_build_steps=post_build_steps,
7575
8278
  prerelease=prerelease,
@@ -7577,12 +8280,14 @@ class ReactTypeScriptProject(
7577
8280
  publish_tasks=publish_tasks,
7578
8281
  releasable_commits=releasable_commits,
7579
8282
  release_branches=release_branches,
8283
+ release_environment=release_environment,
7580
8284
  release_every_commit=release_every_commit,
7581
8285
  release_failure_issue=release_failure_issue,
7582
8286
  release_failure_issue_label=release_failure_issue_label,
7583
8287
  release_schedule=release_schedule,
7584
8288
  release_tag_prefix=release_tag_prefix,
7585
8289
  release_trigger=release_trigger,
8290
+ release_workflow_env=release_workflow_env,
7586
8291
  release_workflow_name=release_workflow_name,
7587
8292
  release_workflow_setup_steps=release_workflow_setup_steps,
7588
8293
  versionrc_options=versionrc_options,
@@ -7658,6 +8363,7 @@ class ReactTypeScriptProject(
7658
8363
  "bugs_email": "bugsEmail",
7659
8364
  "bugs_url": "bugsUrl",
7660
8365
  "bundled_deps": "bundledDeps",
8366
+ "bun_version": "bunVersion",
7661
8367
  "code_artifact_options": "codeArtifactOptions",
7662
8368
  "deps": "deps",
7663
8369
  "description": "description",
@@ -7670,9 +8376,11 @@ class ReactTypeScriptProject(
7670
8376
  "max_node_version": "maxNodeVersion",
7671
8377
  "min_node_version": "minNodeVersion",
7672
8378
  "npm_access": "npmAccess",
8379
+ "npm_provenance": "npmProvenance",
7673
8380
  "npm_registry": "npmRegistry",
7674
8381
  "npm_registry_url": "npmRegistryUrl",
7675
8382
  "npm_token_secret": "npmTokenSecret",
8383
+ "npm_trusted_publishing": "npmTrustedPublishing",
7676
8384
  "package_manager": "packageManager",
7677
8385
  "package_name": "packageName",
7678
8386
  "peer_dependency_options": "peerDependencyOptions",
@@ -7684,9 +8392,11 @@ class ReactTypeScriptProject(
7684
8392
  "scripts": "scripts",
7685
8393
  "stability": "stability",
7686
8394
  "yarn_berry_options": "yarnBerryOptions",
8395
+ "bump_package": "bumpPackage",
7687
8396
  "jsii_release_version": "jsiiReleaseVersion",
7688
8397
  "major_version": "majorVersion",
7689
8398
  "min_major_version": "minMajorVersion",
8399
+ "next_version_command": "nextVersionCommand",
7690
8400
  "npm_dist_tag": "npmDistTag",
7691
8401
  "post_build_steps": "postBuildSteps",
7692
8402
  "prerelease": "prerelease",
@@ -7694,12 +8404,14 @@ class ReactTypeScriptProject(
7694
8404
  "publish_tasks": "publishTasks",
7695
8405
  "releasable_commits": "releasableCommits",
7696
8406
  "release_branches": "releaseBranches",
8407
+ "release_environment": "releaseEnvironment",
7697
8408
  "release_every_commit": "releaseEveryCommit",
7698
8409
  "release_failure_issue": "releaseFailureIssue",
7699
8410
  "release_failure_issue_label": "releaseFailureIssueLabel",
7700
8411
  "release_schedule": "releaseSchedule",
7701
8412
  "release_tag_prefix": "releaseTagPrefix",
7702
8413
  "release_trigger": "releaseTrigger",
8414
+ "release_workflow_env": "releaseWorkflowEnv",
7703
8415
  "release_workflow_name": "releaseWorkflowName",
7704
8416
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
7705
8417
  "versionrc_options": "versionrcOptions",
@@ -7708,8 +8420,13 @@ class ReactTypeScriptProject(
7708
8420
  "workflow_runs_on_group": "workflowRunsOnGroup",
7709
8421
  "default_release_branch": "defaultReleaseBranch",
7710
8422
  "artifacts_directory": "artifactsDirectory",
8423
+ "audit_deps": "auditDeps",
8424
+ "audit_deps_options": "auditDepsOptions",
7711
8425
  "auto_approve_upgrades": "autoApproveUpgrades",
8426
+ "biome": "biome",
8427
+ "biome_options": "biomeOptions",
7712
8428
  "build_workflow": "buildWorkflow",
8429
+ "build_workflow_options": "buildWorkflowOptions",
7713
8430
  "build_workflow_triggers": "buildWorkflowTriggers",
7714
8431
  "bundler_options": "bundlerOptions",
7715
8432
  "check_licenses": "checkLicenses",
@@ -7811,6 +8528,7 @@ class ReactTypeScriptProjectOptions(
7811
8528
  bugs_email: typing.Optional[builtins.str] = None,
7812
8529
  bugs_url: typing.Optional[builtins.str] = None,
7813
8530
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
8531
+ bun_version: typing.Optional[builtins.str] = None,
7814
8532
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
7815
8533
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
7816
8534
  description: typing.Optional[builtins.str] = None,
@@ -7823,9 +8541,11 @@ class ReactTypeScriptProjectOptions(
7823
8541
  max_node_version: typing.Optional[builtins.str] = None,
7824
8542
  min_node_version: typing.Optional[builtins.str] = None,
7825
8543
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
8544
+ npm_provenance: typing.Optional[builtins.bool] = None,
7826
8545
  npm_registry: typing.Optional[builtins.str] = None,
7827
8546
  npm_registry_url: typing.Optional[builtins.str] = None,
7828
8547
  npm_token_secret: typing.Optional[builtins.str] = None,
8548
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
7829
8549
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
7830
8550
  package_name: typing.Optional[builtins.str] = None,
7831
8551
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7837,9 +8557,11 @@ class ReactTypeScriptProjectOptions(
7837
8557
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7838
8558
  stability: typing.Optional[builtins.str] = None,
7839
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,
7840
8561
  jsii_release_version: typing.Optional[builtins.str] = None,
7841
8562
  major_version: typing.Optional[jsii.Number] = None,
7842
8563
  min_major_version: typing.Optional[jsii.Number] = None,
8564
+ next_version_command: typing.Optional[builtins.str] = None,
7843
8565
  npm_dist_tag: typing.Optional[builtins.str] = None,
7844
8566
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7845
8567
  prerelease: typing.Optional[builtins.str] = None,
@@ -7847,12 +8569,14 @@ class ReactTypeScriptProjectOptions(
7847
8569
  publish_tasks: typing.Optional[builtins.bool] = None,
7848
8570
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
7849
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,
7850
8573
  release_every_commit: typing.Optional[builtins.bool] = None,
7851
8574
  release_failure_issue: typing.Optional[builtins.bool] = None,
7852
8575
  release_failure_issue_label: typing.Optional[builtins.str] = None,
7853
8576
  release_schedule: typing.Optional[builtins.str] = None,
7854
8577
  release_tag_prefix: typing.Optional[builtins.str] = None,
7855
8578
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
8579
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7856
8580
  release_workflow_name: typing.Optional[builtins.str] = None,
7857
8581
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
7858
8582
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -7861,8 +8585,13 @@ class ReactTypeScriptProjectOptions(
7861
8585
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
7862
8586
  default_release_branch: builtins.str,
7863
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,
7864
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,
7865
8593
  build_workflow: typing.Optional[builtins.bool] = None,
8594
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
7866
8595
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
7867
8596
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
7868
8597
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7957,6 +8686,7 @@ class ReactTypeScriptProjectOptions(
7957
8686
  :param bugs_email: (experimental) The email address to which issues should be reported.
7958
8687
  :param bugs_url: (experimental) The url to your project's issue tracker.
7959
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"
7960
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
7961
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: []
7962
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
@@ -7966,26 +8696,30 @@ class ReactTypeScriptProjectOptions(
7966
8696
  :param keywords: (experimental) Keywords to include in ``package.json``.
7967
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"
7968
8698
  :param licensed: (experimental) Indicates if a license should be added. Default: true
7969
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
7970
- :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
7971
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``.
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
7972
8703
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
7973
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"
7974
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
7975
8707
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
7976
8708
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
7977
8709
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
7978
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: []
7979
- :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"
7980
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
7981
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.
7982
8714
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
7983
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: {}
7984
8716
  :param stability: (experimental) Package's Stability.
7985
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"
7986
8719
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
7987
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.
7988
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.
7989
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"
7990
8724
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
7991
8725
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -7993,27 +8727,34 @@ class ReactTypeScriptProjectOptions(
7993
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
7994
8728
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
7995
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
7996
8731
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
7997
8732
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
7998
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"
7999
8734
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
8000
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"
8001
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: {}
8002
8738
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
8003
8739
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
8004
- :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
8005
8741
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
8006
8742
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
8007
8743
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
8008
8744
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
8009
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
8010
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
8011
8751
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
8012
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
8752
+ :param build_workflow_options: (experimental) Options for PR build workflow.
8753
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
8013
8754
  :param bundler_options: (experimental) Options for ``Bundler``.
8014
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
8015
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
8016
- :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
8017
8758
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
8018
8759
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
8019
8760
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -8023,14 +8764,14 @@ class ReactTypeScriptProjectOptions(
8023
8764
  :param gitignore: (experimental) Additional entries to .gitignore.
8024
8765
  :param jest: (experimental) Setup jest unit tests. Default: true
8025
8766
  :param jest_options: (experimental) Jest options. Default: - default options
8026
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
8767
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
8027
8768
  :param npmignore: (deprecated) Additional entries to .npmignore.
8028
8769
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
8029
8770
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
8030
8771
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
8031
8772
  :param prettier: (experimental) Setup prettier. Default: false
8032
8773
  :param prettier_options: (experimental) Prettier options. Default: - default options
8033
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
8774
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
8034
8775
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
8035
8776
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
8036
8777
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -8040,15 +8781,15 @@ class ReactTypeScriptProjectOptions(
8040
8781
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
8041
8782
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
8042
8783
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
8043
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
8044
- :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/*``.
8045
8786
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
8046
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
8047
8788
  :param disable_tsconfig_dev: (experimental) Do not generate a ``tsconfig.dev.json`` file. Default: false
8048
8789
  :param docgen: (experimental) Docgen by Typedoc. Default: false
8049
8790
  :param docs_directory: (experimental) Docs directory. Default: "docs"
8050
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)
8051
- :param eslint: (experimental) Setup eslint. Default: true
8792
+ :param eslint: (experimental) Setup eslint. Default: - true, unless biome is enabled
8052
8793
  :param eslint_options: (experimental) Eslint options. Default: - opinionated default options
8053
8794
  :param libdir: (experimental) Typescript artifacts output directory. Default: "lib"
8054
8795
  :param projenrc_ts: (experimental) Use TypeScript for your projenrc file (``.projenrc.ts``). Default: false
@@ -8095,6 +8836,12 @@ class ReactTypeScriptProjectOptions(
8095
8836
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
8096
8837
  if isinstance(workflow_runs_on_group, dict):
8097
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)
8843
+ if isinstance(build_workflow_options, dict):
8844
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
8098
8845
  if isinstance(build_workflow_triggers, dict):
8099
8846
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
8100
8847
  if isinstance(bundler_options, dict):
@@ -8166,6 +8913,7 @@ class ReactTypeScriptProjectOptions(
8166
8913
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
8167
8914
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
8168
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"])
8169
8917
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
8170
8918
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
8171
8919
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -8178,9 +8926,11 @@ class ReactTypeScriptProjectOptions(
8178
8926
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
8179
8927
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
8180
8928
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
8929
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
8181
8930
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
8182
8931
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
8183
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"])
8184
8934
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
8185
8935
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
8186
8936
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -8192,9 +8942,11 @@ class ReactTypeScriptProjectOptions(
8192
8942
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
8193
8943
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
8194
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"])
8195
8946
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
8196
8947
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
8197
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"])
8198
8950
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
8199
8951
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
8200
8952
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -8202,12 +8954,14 @@ class ReactTypeScriptProjectOptions(
8202
8954
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
8203
8955
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
8204
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"])
8205
8958
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
8206
8959
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
8207
8960
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
8208
8961
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
8209
8962
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
8210
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"])
8211
8965
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
8212
8966
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
8213
8967
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -8216,8 +8970,13 @@ class ReactTypeScriptProjectOptions(
8216
8970
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
8217
8971
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
8218
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"])
8219
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"])
8220
8978
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
8979
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
8221
8980
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
8222
8981
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
8223
8982
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -8351,6 +9110,8 @@ class ReactTypeScriptProjectOptions(
8351
9110
  self._values["bugs_url"] = bugs_url
8352
9111
  if bundled_deps is not None:
8353
9112
  self._values["bundled_deps"] = bundled_deps
9113
+ if bun_version is not None:
9114
+ self._values["bun_version"] = bun_version
8354
9115
  if code_artifact_options is not None:
8355
9116
  self._values["code_artifact_options"] = code_artifact_options
8356
9117
  if deps is not None:
@@ -8375,12 +9136,16 @@ class ReactTypeScriptProjectOptions(
8375
9136
  self._values["min_node_version"] = min_node_version
8376
9137
  if npm_access is not None:
8377
9138
  self._values["npm_access"] = npm_access
9139
+ if npm_provenance is not None:
9140
+ self._values["npm_provenance"] = npm_provenance
8378
9141
  if npm_registry is not None:
8379
9142
  self._values["npm_registry"] = npm_registry
8380
9143
  if npm_registry_url is not None:
8381
9144
  self._values["npm_registry_url"] = npm_registry_url
8382
9145
  if npm_token_secret is not None:
8383
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
8384
9149
  if package_manager is not None:
8385
9150
  self._values["package_manager"] = package_manager
8386
9151
  if package_name is not None:
@@ -8403,12 +9168,16 @@ class ReactTypeScriptProjectOptions(
8403
9168
  self._values["stability"] = stability
8404
9169
  if yarn_berry_options is not None:
8405
9170
  self._values["yarn_berry_options"] = yarn_berry_options
9171
+ if bump_package is not None:
9172
+ self._values["bump_package"] = bump_package
8406
9173
  if jsii_release_version is not None:
8407
9174
  self._values["jsii_release_version"] = jsii_release_version
8408
9175
  if major_version is not None:
8409
9176
  self._values["major_version"] = major_version
8410
9177
  if min_major_version is not None:
8411
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
8412
9181
  if npm_dist_tag is not None:
8413
9182
  self._values["npm_dist_tag"] = npm_dist_tag
8414
9183
  if post_build_steps is not None:
@@ -8423,6 +9192,8 @@ class ReactTypeScriptProjectOptions(
8423
9192
  self._values["releasable_commits"] = releasable_commits
8424
9193
  if release_branches is not None:
8425
9194
  self._values["release_branches"] = release_branches
9195
+ if release_environment is not None:
9196
+ self._values["release_environment"] = release_environment
8426
9197
  if release_every_commit is not None:
8427
9198
  self._values["release_every_commit"] = release_every_commit
8428
9199
  if release_failure_issue is not None:
@@ -8435,6 +9206,8 @@ class ReactTypeScriptProjectOptions(
8435
9206
  self._values["release_tag_prefix"] = release_tag_prefix
8436
9207
  if release_trigger is not None:
8437
9208
  self._values["release_trigger"] = release_trigger
9209
+ if release_workflow_env is not None:
9210
+ self._values["release_workflow_env"] = release_workflow_env
8438
9211
  if release_workflow_name is not None:
8439
9212
  self._values["release_workflow_name"] = release_workflow_name
8440
9213
  if release_workflow_setup_steps is not None:
@@ -8449,10 +9222,20 @@ class ReactTypeScriptProjectOptions(
8449
9222
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
8450
9223
  if artifacts_directory is not None:
8451
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
8452
9229
  if auto_approve_upgrades is not None:
8453
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
8454
9235
  if build_workflow is not None:
8455
9236
  self._values["build_workflow"] = build_workflow
9237
+ if build_workflow_options is not None:
9238
+ self._values["build_workflow_options"] = build_workflow_options
8456
9239
  if build_workflow_triggers is not None:
8457
9240
  self._values["build_workflow_triggers"] = build_workflow_triggers
8458
9241
  if bundler_options is not None:
@@ -9024,6 +9807,17 @@ class ReactTypeScriptProjectOptions(
9024
9807
  result = self._values.get("bundled_deps")
9025
9808
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
9026
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
+
9027
9821
  @builtins.property
9028
9822
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
9029
9823
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -9158,9 +9952,15 @@ class ReactTypeScriptProjectOptions(
9158
9952
 
9159
9953
  @builtins.property
9160
9954
  def max_node_version(self) -> typing.Optional[builtins.str]:
9161
- '''(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.
9162
9956
 
9163
- :default: - no max
9957
+ The value indicates that the package is incompatible with any newer versions of node.
9958
+ This requirement is enforced via the engines field.
9959
+
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
9164
9964
 
9165
9965
  :stability: experimental
9166
9966
  '''
@@ -9169,9 +9969,19 @@ class ReactTypeScriptProjectOptions(
9169
9969
 
9170
9970
  @builtins.property
9171
9971
  def min_node_version(self) -> typing.Optional[builtins.str]:
9172
- '''(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.
9173
9981
 
9174
- :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
9175
9985
 
9176
9986
  :stability: experimental
9177
9987
  '''
@@ -9193,6 +10003,24 @@ class ReactTypeScriptProjectOptions(
9193
10003
  result = self._values.get("npm_access")
9194
10004
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
9195
10005
 
10006
+ @builtins.property
10007
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
10008
+ '''(experimental) Should provenance statements be generated when the package is published.
10009
+
10010
+ A supported package manager is required to publish a package with npm provenance statements and
10011
+ you will need to use a supported CI/CD provider.
10012
+
10013
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
10014
+ which is using npm internally and supports provenance statements independently of the package manager used.
10015
+
10016
+ :default: - true for public packages, false otherwise
10017
+
10018
+ :see: https://docs.npmjs.com/generating-provenance-statements
10019
+ :stability: experimental
10020
+ '''
10021
+ result = self._values.get("npm_provenance")
10022
+ return typing.cast(typing.Optional[builtins.bool], result)
10023
+
9196
10024
  @builtins.property
9197
10025
  def npm_registry(self) -> typing.Optional[builtins.str]:
9198
10026
  '''(deprecated) The host name of the npm registry to publish to.
@@ -9230,6 +10058,17 @@ class ReactTypeScriptProjectOptions(
9230
10058
  result = self._values.get("npm_token_secret")
9231
10059
  return typing.cast(typing.Optional[builtins.str], result)
9232
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
+
9233
10072
  @builtins.property
9234
10073
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
9235
10074
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -9293,7 +10132,7 @@ class ReactTypeScriptProjectOptions(
9293
10132
  def pnpm_version(self) -> typing.Optional[builtins.str]:
9294
10133
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
9295
10134
 
9296
- :default: "7"
10135
+ :default: "9"
9297
10136
 
9298
10137
  :stability: experimental
9299
10138
  '''
@@ -9370,6 +10209,19 @@ class ReactTypeScriptProjectOptions(
9370
10209
  result = self._values.get("yarn_berry_options")
9371
10210
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
9372
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
+
9373
10225
  @builtins.property
9374
10226
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
9375
10227
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -9411,6 +10263,36 @@ class ReactTypeScriptProjectOptions(
9411
10263
  result = self._values.get("min_major_version")
9412
10264
  return typing.cast(typing.Optional[jsii.Number], result)
9413
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
+
9414
10296
  @builtins.property
9415
10297
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
9416
10298
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -9506,6 +10388,23 @@ class ReactTypeScriptProjectOptions(
9506
10388
  result = self._values.get("release_branches")
9507
10389
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
9508
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
+
9509
10408
  @builtins.property
9510
10409
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
9511
10410
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -9583,6 +10482,19 @@ class ReactTypeScriptProjectOptions(
9583
10482
  result = self._values.get("release_trigger")
9584
10483
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
9585
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
+
9586
10498
  @builtins.property
9587
10499
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
9588
10500
  '''(experimental) The name of the default release workflow.
@@ -9609,7 +10521,7 @@ class ReactTypeScriptProjectOptions(
9609
10521
  def versionrc_options(
9610
10522
  self,
9611
10523
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
9612
- '''(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.
9613
10525
 
9614
10526
  Given values either append to default configuration or overwrite values in it.
9615
10527
 
@@ -9678,6 +10590,32 @@ class ReactTypeScriptProjectOptions(
9678
10590
  result = self._values.get("artifacts_directory")
9679
10591
  return typing.cast(typing.Optional[builtins.str], result)
9680
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
+
9681
10619
  @builtins.property
9682
10620
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
9683
10621
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -9691,6 +10629,28 @@ class ReactTypeScriptProjectOptions(
9691
10629
  result = self._values.get("auto_approve_upgrades")
9692
10630
  return typing.cast(typing.Optional[builtins.bool], result)
9693
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
+
9694
10654
  @builtins.property
9695
10655
  def build_workflow(self) -> typing.Optional[builtins.bool]:
9696
10656
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -9702,13 +10662,24 @@ class ReactTypeScriptProjectOptions(
9702
10662
  result = self._values.get("build_workflow")
9703
10663
  return typing.cast(typing.Optional[builtins.bool], result)
9704
10664
 
10665
+ @builtins.property
10666
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
10667
+ '''(experimental) Options for PR build workflow.
10668
+
10669
+ :stability: experimental
10670
+ '''
10671
+ result = self._values.get("build_workflow_options")
10672
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
10673
+
9705
10674
  @builtins.property
9706
10675
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
9707
- '''(experimental) Build workflow triggers.
10676
+ '''(deprecated) Build workflow triggers.
9708
10677
 
9709
10678
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
9710
10679
 
9711
- :stability: experimental
10680
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
10681
+
10682
+ :stability: deprecated
9712
10683
  '''
9713
10684
  result = self._values.get("build_workflow_triggers")
9714
10685
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -9737,7 +10708,7 @@ class ReactTypeScriptProjectOptions(
9737
10708
 
9738
10709
  @builtins.property
9739
10710
  def code_cov(self) -> typing.Optional[builtins.bool]:
9740
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
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``.
9741
10712
 
9742
10713
  :default: false
9743
10714
 
@@ -9748,9 +10719,9 @@ class ReactTypeScriptProjectOptions(
9748
10719
 
9749
10720
  @builtins.property
9750
10721
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
9751
- '''(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.
9752
10723
 
9753
- :default: - if this option is not specified, only public repositories are supported
10724
+ :default: - OIDC auth is used
9754
10725
 
9755
10726
  :stability: experimental
9756
10727
  '''
@@ -9862,7 +10833,7 @@ class ReactTypeScriptProjectOptions(
9862
10833
 
9863
10834
  @builtins.property
9864
10835
  def mutable_build(self) -> typing.Optional[builtins.bool]:
9865
- '''(experimental) Automatically update files modified during builds to pull-request branches.
10836
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
9866
10837
 
9867
10838
  This means
9868
10839
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -9872,7 +10843,9 @@ class ReactTypeScriptProjectOptions(
9872
10843
 
9873
10844
  :default: true
9874
10845
 
9875
- :stability: experimental
10846
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
10847
+
10848
+ :stability: deprecated
9876
10849
  '''
9877
10850
  result = self._values.get("mutable_build")
9878
10851
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -9945,7 +10918,7 @@ class ReactTypeScriptProjectOptions(
9945
10918
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
9946
10919
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
9947
10920
 
9948
- :default: true
10921
+ :default: - true if not a subproject
9949
10922
 
9950
10923
  :stability: experimental
9951
10924
  '''
@@ -10061,7 +11034,7 @@ class ReactTypeScriptProjectOptions(
10061
11034
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
10062
11035
  '''(experimental) The git identity to use in workflows.
10063
11036
 
10064
- :default: - GitHub Actions
11037
+ :default: - default GitHub Actions user
10065
11038
 
10066
11039
  :stability: experimental
10067
11040
  '''
@@ -10070,9 +11043,11 @@ class ReactTypeScriptProjectOptions(
10070
11043
 
10071
11044
  @builtins.property
10072
11045
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
10073
- '''(experimental) The node version to use in GitHub workflows.
11046
+ '''(experimental) The node version used in GitHub Actions workflows.
11047
+
11048
+ Always use this option if your GitHub Actions workflows require a specific to run.
10074
11049
 
10075
- :default: - same as ``minNodeVersion``
11050
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
10076
11051
 
10077
11052
  :stability: experimental
10078
11053
  '''
@@ -10149,7 +11124,7 @@ class ReactTypeScriptProjectOptions(
10149
11124
  def eslint(self) -> typing.Optional[builtins.bool]:
10150
11125
  '''(experimental) Setup eslint.
10151
11126
 
10152
- :default: true
11127
+ :default: - true, unless biome is enabled
10153
11128
 
10154
11129
  :stability: experimental
10155
11130
  '''
@@ -10550,6 +11525,7 @@ class ReactComponentOptions(ReactRewireOptions):
10550
11525
  "bugs_email": "bugsEmail",
10551
11526
  "bugs_url": "bugsUrl",
10552
11527
  "bundled_deps": "bundledDeps",
11528
+ "bun_version": "bunVersion",
10553
11529
  "code_artifact_options": "codeArtifactOptions",
10554
11530
  "deps": "deps",
10555
11531
  "description": "description",
@@ -10562,9 +11538,11 @@ class ReactComponentOptions(ReactRewireOptions):
10562
11538
  "max_node_version": "maxNodeVersion",
10563
11539
  "min_node_version": "minNodeVersion",
10564
11540
  "npm_access": "npmAccess",
11541
+ "npm_provenance": "npmProvenance",
10565
11542
  "npm_registry": "npmRegistry",
10566
11543
  "npm_registry_url": "npmRegistryUrl",
10567
11544
  "npm_token_secret": "npmTokenSecret",
11545
+ "npm_trusted_publishing": "npmTrustedPublishing",
10568
11546
  "package_manager": "packageManager",
10569
11547
  "package_name": "packageName",
10570
11548
  "peer_dependency_options": "peerDependencyOptions",
@@ -10576,9 +11554,11 @@ class ReactComponentOptions(ReactRewireOptions):
10576
11554
  "scripts": "scripts",
10577
11555
  "stability": "stability",
10578
11556
  "yarn_berry_options": "yarnBerryOptions",
11557
+ "bump_package": "bumpPackage",
10579
11558
  "jsii_release_version": "jsiiReleaseVersion",
10580
11559
  "major_version": "majorVersion",
10581
11560
  "min_major_version": "minMajorVersion",
11561
+ "next_version_command": "nextVersionCommand",
10582
11562
  "npm_dist_tag": "npmDistTag",
10583
11563
  "post_build_steps": "postBuildSteps",
10584
11564
  "prerelease": "prerelease",
@@ -10586,12 +11566,14 @@ class ReactComponentOptions(ReactRewireOptions):
10586
11566
  "publish_tasks": "publishTasks",
10587
11567
  "releasable_commits": "releasableCommits",
10588
11568
  "release_branches": "releaseBranches",
11569
+ "release_environment": "releaseEnvironment",
10589
11570
  "release_every_commit": "releaseEveryCommit",
10590
11571
  "release_failure_issue": "releaseFailureIssue",
10591
11572
  "release_failure_issue_label": "releaseFailureIssueLabel",
10592
11573
  "release_schedule": "releaseSchedule",
10593
11574
  "release_tag_prefix": "releaseTagPrefix",
10594
11575
  "release_trigger": "releaseTrigger",
11576
+ "release_workflow_env": "releaseWorkflowEnv",
10595
11577
  "release_workflow_name": "releaseWorkflowName",
10596
11578
  "release_workflow_setup_steps": "releaseWorkflowSetupSteps",
10597
11579
  "versionrc_options": "versionrcOptions",
@@ -10600,8 +11582,13 @@ class ReactComponentOptions(ReactRewireOptions):
10600
11582
  "workflow_runs_on_group": "workflowRunsOnGroup",
10601
11583
  "default_release_branch": "defaultReleaseBranch",
10602
11584
  "artifacts_directory": "artifactsDirectory",
11585
+ "audit_deps": "auditDeps",
11586
+ "audit_deps_options": "auditDepsOptions",
10603
11587
  "auto_approve_upgrades": "autoApproveUpgrades",
11588
+ "biome": "biome",
11589
+ "biome_options": "biomeOptions",
10604
11590
  "build_workflow": "buildWorkflow",
11591
+ "build_workflow_options": "buildWorkflowOptions",
10605
11592
  "build_workflow_triggers": "buildWorkflowTriggers",
10606
11593
  "bundler_options": "bundlerOptions",
10607
11594
  "check_licenses": "checkLicenses",
@@ -10684,6 +11671,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10684
11671
  bugs_email: typing.Optional[builtins.str] = None,
10685
11672
  bugs_url: typing.Optional[builtins.str] = None,
10686
11673
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
11674
+ bun_version: typing.Optional[builtins.str] = None,
10687
11675
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
10688
11676
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
10689
11677
  description: typing.Optional[builtins.str] = None,
@@ -10696,9 +11684,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10696
11684
  max_node_version: typing.Optional[builtins.str] = None,
10697
11685
  min_node_version: typing.Optional[builtins.str] = None,
10698
11686
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
11687
+ npm_provenance: typing.Optional[builtins.bool] = None,
10699
11688
  npm_registry: typing.Optional[builtins.str] = None,
10700
11689
  npm_registry_url: typing.Optional[builtins.str] = None,
10701
11690
  npm_token_secret: typing.Optional[builtins.str] = None,
11691
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
10702
11692
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
10703
11693
  package_name: typing.Optional[builtins.str] = None,
10704
11694
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -10710,9 +11700,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10710
11700
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10711
11701
  stability: typing.Optional[builtins.str] = None,
10712
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,
10713
11704
  jsii_release_version: typing.Optional[builtins.str] = None,
10714
11705
  major_version: typing.Optional[jsii.Number] = None,
10715
11706
  min_major_version: typing.Optional[jsii.Number] = None,
11707
+ next_version_command: typing.Optional[builtins.str] = None,
10716
11708
  npm_dist_tag: typing.Optional[builtins.str] = None,
10717
11709
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
10718
11710
  prerelease: typing.Optional[builtins.str] = None,
@@ -10720,12 +11712,14 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10720
11712
  publish_tasks: typing.Optional[builtins.bool] = None,
10721
11713
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
10722
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,
10723
11716
  release_every_commit: typing.Optional[builtins.bool] = None,
10724
11717
  release_failure_issue: typing.Optional[builtins.bool] = None,
10725
11718
  release_failure_issue_label: typing.Optional[builtins.str] = None,
10726
11719
  release_schedule: typing.Optional[builtins.str] = None,
10727
11720
  release_tag_prefix: typing.Optional[builtins.str] = None,
10728
11721
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
11722
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10729
11723
  release_workflow_name: typing.Optional[builtins.str] = None,
10730
11724
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
10731
11725
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -10734,8 +11728,13 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10734
11728
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
10735
11729
  default_release_branch: builtins.str,
10736
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,
10737
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,
10738
11736
  build_workflow: typing.Optional[builtins.bool] = None,
11737
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
10739
11738
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
10740
11739
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
10741
11740
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -10814,6 +11813,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10814
11813
  :param bugs_email: (experimental) The email address to which issues should be reported.
10815
11814
  :param bugs_url: (experimental) The url to your project's issue tracker.
10816
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"
10817
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
10818
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: []
10819
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
@@ -10823,26 +11823,30 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10823
11823
  :param keywords: (experimental) Keywords to include in ``package.json``.
10824
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"
10825
11825
  :param licensed: (experimental) Indicates if a license should be added. Default: true
10826
- :param max_node_version: (experimental) Minimum node.js version to require via ``engines`` (inclusive). Default: - no max
10827
- :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
10828
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``.
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
10829
11830
  :param npm_registry: (deprecated) The host name of the npm registry to publish to. Cannot be set together with ``npmRegistryUrl``.
10830
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"
10831
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
10832
11834
  :param package_manager: (experimental) The Node Package Manager used to execute scripts. Default: NodePackageManager.YARN_CLASSIC
10833
11835
  :param package_name: (experimental) The "name" in package.json. Default: - defaults to project name
10834
11836
  :param peer_dependency_options: (experimental) Options for ``peerDeps``.
10835
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: []
10836
- :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"
10837
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
10838
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.
10839
11841
  :param scoped_packages_options: (experimental) Options for privately hosted scoped packages. Default: - fetch all scoped packages from the public npm registry
10840
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: {}
10841
11843
  :param stability: (experimental) Package's Stability.
10842
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"
10843
11846
  :param jsii_release_version: (experimental) Version requirement of ``publib`` which is used to publish modules to npm. Default: "latest"
10844
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.
10845
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.
10846
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"
10847
11851
  :param post_build_steps: (experimental) Steps to execute after build as part of the release workflow. Default: []
10848
11852
  :param prerelease: (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). Default: - normal semantic versions
@@ -10850,27 +11854,34 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10850
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
10851
11855
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
10852
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
10853
11858
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
10854
11859
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
10855
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"
10856
11861
  :param release_schedule: (deprecated) CRON schedule to trigger new releases. Default: - no scheduled releases
10857
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"
10858
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: {}
10859
11865
  :param release_workflow_name: (experimental) The name of the default release workflow. Default: "release"
10860
11866
  :param release_workflow_setup_steps: (experimental) A set of workflow steps to execute in order to setup the workflow container.
10861
- :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
10862
11868
  :param workflow_container_image: (experimental) Container image to use for GitHub workflows. Default: - default image
10863
11869
  :param workflow_runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
10864
11870
  :param workflow_runs_on_group: (experimental) Github Runner Group selection options.
10865
11871
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
10866
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
10867
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
10868
11878
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
10869
- :param build_workflow_triggers: (experimental) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
11879
+ :param build_workflow_options: (experimental) Options for PR build workflow.
11880
+ :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
10870
11881
  :param bundler_options: (experimental) Options for ``Bundler``.
10871
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
10872
- :param code_cov: (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``. Default: false
10873
- :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
10874
11885
  :param copyright_owner: (experimental) License copyright owner. Default: - defaults to the value of authorName or "" if ``authorName`` is undefined.
10875
11886
  :param copyright_period: (experimental) The copyright years to put in the LICENSE file. Default: - current year
10876
11887
  :param dependabot: (experimental) Use dependabot to handle dependency upgrades. Cannot be used in conjunction with ``depsUpgrade``. Default: false
@@ -10880,14 +11891,14 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10880
11891
  :param gitignore: (experimental) Additional entries to .gitignore.
10881
11892
  :param jest: (experimental) Setup jest unit tests. Default: true
10882
11893
  :param jest_options: (experimental) Jest options. Default: - default options
10883
- :param mutable_build: (experimental) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
11894
+ :param mutable_build: (deprecated) Automatically update files modified during builds to pull-request branches. This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged. Implies that PR builds do not have anti-tamper checks. Default: true
10884
11895
  :param npmignore: (deprecated) Additional entries to .npmignore.
10885
11896
  :param npmignore_enabled: (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. Default: true
10886
11897
  :param npm_ignore_options: (experimental) Configuration options for .npmignore file.
10887
11898
  :param package: (experimental) Defines a ``package`` task that will produce an npm tarball under the artifacts directory (e.g. ``dist``). Default: true
10888
11899
  :param prettier: (experimental) Setup prettier. Default: false
10889
11900
  :param prettier_options: (experimental) Prettier options. Default: - default options
10890
- :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: true
11901
+ :param projen_dev_dependency: (experimental) Indicates of "projen" should be installed as a devDependency. Default: - true if not a subproject
10891
11902
  :param projenrc_js: (experimental) Generate (once) .projenrc.js (in JavaScript). Set to ``false`` in order to disable .projenrc.js generation. Default: - true if projenrcJson is false
10892
11903
  :param projenrc_js_options: (experimental) Options for .projenrc.js. Default: - default options
10893
11904
  :param projen_version: (experimental) Version of projen to install. Default: - Defaults to the latest version.
@@ -10897,8 +11908,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10897
11908
  :param release_to_npm: (experimental) Automatically release to npm when new versions are introduced. Default: false
10898
11909
  :param release_workflow: (deprecated) DEPRECATED: renamed to ``release``. Default: - true if not a subproject
10899
11910
  :param workflow_bootstrap_steps: (experimental) Workflow steps to use in order to bootstrap this repo. Default: "yarn install --frozen-lockfile && yarn projen"
10900
- :param workflow_git_identity: (experimental) The git identity to use in workflows. Default: - GitHub Actions
10901
- :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/*``.
10902
11913
  :param workflow_package_cache: (experimental) Enable Node.js package cache in GitHub workflows. Default: false
10903
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.
10904
11915
  :param sample_code: (experimental) Generate one-time sample in ``src/`` and ``public/`` if there are no files there. Default: true
@@ -10936,6 +11947,12 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10936
11947
  yarn_berry_options = _YarnBerryOptions_b6942539(**yarn_berry_options)
10937
11948
  if isinstance(workflow_runs_on_group, dict):
10938
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)
11954
+ if isinstance(build_workflow_options, dict):
11955
+ build_workflow_options = _BuildWorkflowOptions_b756f97f(**build_workflow_options)
10939
11956
  if isinstance(build_workflow_triggers, dict):
10940
11957
  build_workflow_triggers = _Triggers_e9ae7617(**build_workflow_triggers)
10941
11958
  if isinstance(bundler_options, dict):
@@ -10997,6 +12014,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
10997
12014
  check_type(argname="argument bugs_email", value=bugs_email, expected_type=type_hints["bugs_email"])
10998
12015
  check_type(argname="argument bugs_url", value=bugs_url, expected_type=type_hints["bugs_url"])
10999
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"])
11000
12018
  check_type(argname="argument code_artifact_options", value=code_artifact_options, expected_type=type_hints["code_artifact_options"])
11001
12019
  check_type(argname="argument deps", value=deps, expected_type=type_hints["deps"])
11002
12020
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -11009,9 +12027,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11009
12027
  check_type(argname="argument max_node_version", value=max_node_version, expected_type=type_hints["max_node_version"])
11010
12028
  check_type(argname="argument min_node_version", value=min_node_version, expected_type=type_hints["min_node_version"])
11011
12029
  check_type(argname="argument npm_access", value=npm_access, expected_type=type_hints["npm_access"])
12030
+ check_type(argname="argument npm_provenance", value=npm_provenance, expected_type=type_hints["npm_provenance"])
11012
12031
  check_type(argname="argument npm_registry", value=npm_registry, expected_type=type_hints["npm_registry"])
11013
12032
  check_type(argname="argument npm_registry_url", value=npm_registry_url, expected_type=type_hints["npm_registry_url"])
11014
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"])
11015
12035
  check_type(argname="argument package_manager", value=package_manager, expected_type=type_hints["package_manager"])
11016
12036
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
11017
12037
  check_type(argname="argument peer_dependency_options", value=peer_dependency_options, expected_type=type_hints["peer_dependency_options"])
@@ -11023,9 +12043,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11023
12043
  check_type(argname="argument scripts", value=scripts, expected_type=type_hints["scripts"])
11024
12044
  check_type(argname="argument stability", value=stability, expected_type=type_hints["stability"])
11025
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"])
11026
12047
  check_type(argname="argument jsii_release_version", value=jsii_release_version, expected_type=type_hints["jsii_release_version"])
11027
12048
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
11028
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"])
11029
12051
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
11030
12052
  check_type(argname="argument post_build_steps", value=post_build_steps, expected_type=type_hints["post_build_steps"])
11031
12053
  check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
@@ -11033,12 +12055,14 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11033
12055
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
11034
12056
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
11035
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"])
11036
12059
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
11037
12060
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
11038
12061
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
11039
12062
  check_type(argname="argument release_schedule", value=release_schedule, expected_type=type_hints["release_schedule"])
11040
12063
  check_type(argname="argument release_tag_prefix", value=release_tag_prefix, expected_type=type_hints["release_tag_prefix"])
11041
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"])
11042
12066
  check_type(argname="argument release_workflow_name", value=release_workflow_name, expected_type=type_hints["release_workflow_name"])
11043
12067
  check_type(argname="argument release_workflow_setup_steps", value=release_workflow_setup_steps, expected_type=type_hints["release_workflow_setup_steps"])
11044
12068
  check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
@@ -11047,8 +12071,13 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11047
12071
  check_type(argname="argument workflow_runs_on_group", value=workflow_runs_on_group, expected_type=type_hints["workflow_runs_on_group"])
11048
12072
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
11049
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"])
11050
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"])
11051
12079
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
12080
+ check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
11052
12081
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
11053
12082
  check_type(argname="argument bundler_options", value=bundler_options, expected_type=type_hints["bundler_options"])
11054
12083
  check_type(argname="argument check_licenses", value=check_licenses, expected_type=type_hints["check_licenses"])
@@ -11166,6 +12195,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11166
12195
  self._values["bugs_url"] = bugs_url
11167
12196
  if bundled_deps is not None:
11168
12197
  self._values["bundled_deps"] = bundled_deps
12198
+ if bun_version is not None:
12199
+ self._values["bun_version"] = bun_version
11169
12200
  if code_artifact_options is not None:
11170
12201
  self._values["code_artifact_options"] = code_artifact_options
11171
12202
  if deps is not None:
@@ -11190,12 +12221,16 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11190
12221
  self._values["min_node_version"] = min_node_version
11191
12222
  if npm_access is not None:
11192
12223
  self._values["npm_access"] = npm_access
12224
+ if npm_provenance is not None:
12225
+ self._values["npm_provenance"] = npm_provenance
11193
12226
  if npm_registry is not None:
11194
12227
  self._values["npm_registry"] = npm_registry
11195
12228
  if npm_registry_url is not None:
11196
12229
  self._values["npm_registry_url"] = npm_registry_url
11197
12230
  if npm_token_secret is not None:
11198
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
11199
12234
  if package_manager is not None:
11200
12235
  self._values["package_manager"] = package_manager
11201
12236
  if package_name is not None:
@@ -11218,12 +12253,16 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11218
12253
  self._values["stability"] = stability
11219
12254
  if yarn_berry_options is not None:
11220
12255
  self._values["yarn_berry_options"] = yarn_berry_options
12256
+ if bump_package is not None:
12257
+ self._values["bump_package"] = bump_package
11221
12258
  if jsii_release_version is not None:
11222
12259
  self._values["jsii_release_version"] = jsii_release_version
11223
12260
  if major_version is not None:
11224
12261
  self._values["major_version"] = major_version
11225
12262
  if min_major_version is not None:
11226
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
11227
12266
  if npm_dist_tag is not None:
11228
12267
  self._values["npm_dist_tag"] = npm_dist_tag
11229
12268
  if post_build_steps is not None:
@@ -11238,6 +12277,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11238
12277
  self._values["releasable_commits"] = releasable_commits
11239
12278
  if release_branches is not None:
11240
12279
  self._values["release_branches"] = release_branches
12280
+ if release_environment is not None:
12281
+ self._values["release_environment"] = release_environment
11241
12282
  if release_every_commit is not None:
11242
12283
  self._values["release_every_commit"] = release_every_commit
11243
12284
  if release_failure_issue is not None:
@@ -11250,6 +12291,8 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11250
12291
  self._values["release_tag_prefix"] = release_tag_prefix
11251
12292
  if release_trigger is not None:
11252
12293
  self._values["release_trigger"] = release_trigger
12294
+ if release_workflow_env is not None:
12295
+ self._values["release_workflow_env"] = release_workflow_env
11253
12296
  if release_workflow_name is not None:
11254
12297
  self._values["release_workflow_name"] = release_workflow_name
11255
12298
  if release_workflow_setup_steps is not None:
@@ -11264,10 +12307,20 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11264
12307
  self._values["workflow_runs_on_group"] = workflow_runs_on_group
11265
12308
  if artifacts_directory is not None:
11266
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
11267
12314
  if auto_approve_upgrades is not None:
11268
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
11269
12320
  if build_workflow is not None:
11270
12321
  self._values["build_workflow"] = build_workflow
12322
+ if build_workflow_options is not None:
12323
+ self._values["build_workflow_options"] = build_workflow_options
11271
12324
  if build_workflow_triggers is not None:
11272
12325
  self._values["build_workflow_triggers"] = build_workflow_triggers
11273
12326
  if bundler_options is not None:
@@ -11807,6 +12860,17 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11807
12860
  result = self._values.get("bundled_deps")
11808
12861
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
11809
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
+
11810
12874
  @builtins.property
11811
12875
  def code_artifact_options(self) -> typing.Optional[_CodeArtifactOptions_e4782b3e]:
11812
12876
  '''(experimental) Options for npm packages using AWS CodeArtifact.
@@ -11941,9 +13005,15 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11941
13005
 
11942
13006
  @builtins.property
11943
13007
  def max_node_version(self) -> typing.Optional[builtins.str]:
11944
- '''(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.
11945
13012
 
11946
- :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
11947
13017
 
11948
13018
  :stability: experimental
11949
13019
  '''
@@ -11952,9 +13022,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11952
13022
 
11953
13023
  @builtins.property
11954
13024
  def min_node_version(self) -> typing.Optional[builtins.str]:
11955
- '''(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.
11956
13029
 
11957
- :default: - no "engines" specified
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.
13034
+
13035
+ To change the node version of your CI/CD workflows, use ``workflowNodeVersion``.
13036
+
13037
+ :default: - no minimum version is enforced
11958
13038
 
11959
13039
  :stability: experimental
11960
13040
  '''
@@ -11976,6 +13056,24 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
11976
13056
  result = self._values.get("npm_access")
11977
13057
  return typing.cast(typing.Optional[_NpmAccess_134fa228], result)
11978
13058
 
13059
+ @builtins.property
13060
+ def npm_provenance(self) -> typing.Optional[builtins.bool]:
13061
+ '''(experimental) Should provenance statements be generated when the package is published.
13062
+
13063
+ A supported package manager is required to publish a package with npm provenance statements and
13064
+ you will need to use a supported CI/CD provider.
13065
+
13066
+ Note that the projen ``Release`` and ``Publisher`` components are using ``publib`` to publish packages,
13067
+ which is using npm internally and supports provenance statements independently of the package manager used.
13068
+
13069
+ :default: - true for public packages, false otherwise
13070
+
13071
+ :see: https://docs.npmjs.com/generating-provenance-statements
13072
+ :stability: experimental
13073
+ '''
13074
+ result = self._values.get("npm_provenance")
13075
+ return typing.cast(typing.Optional[builtins.bool], result)
13076
+
11979
13077
  @builtins.property
11980
13078
  def npm_registry(self) -> typing.Optional[builtins.str]:
11981
13079
  '''(deprecated) The host name of the npm registry to publish to.
@@ -12013,6 +13111,17 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12013
13111
  result = self._values.get("npm_token_secret")
12014
13112
  return typing.cast(typing.Optional[builtins.str], result)
12015
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
+
12016
13125
  @builtins.property
12017
13126
  def package_manager(self) -> typing.Optional[_NodePackageManager_3eb53bf6]:
12018
13127
  '''(experimental) The Node Package Manager used to execute scripts.
@@ -12076,7 +13185,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12076
13185
  def pnpm_version(self) -> typing.Optional[builtins.str]:
12077
13186
  '''(experimental) The version of PNPM to use if using PNPM as a package manager.
12078
13187
 
12079
- :default: "7"
13188
+ :default: "9"
12080
13189
 
12081
13190
  :stability: experimental
12082
13191
  '''
@@ -12153,6 +13262,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12153
13262
  result = self._values.get("yarn_berry_options")
12154
13263
  return typing.cast(typing.Optional[_YarnBerryOptions_b6942539], result)
12155
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
+
12156
13278
  @builtins.property
12157
13279
  def jsii_release_version(self) -> typing.Optional[builtins.str]:
12158
13280
  '''(experimental) Version requirement of ``publib`` which is used to publish modules to npm.
@@ -12194,6 +13316,36 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12194
13316
  result = self._values.get("min_major_version")
12195
13317
  return typing.cast(typing.Optional[jsii.Number], result)
12196
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
+
12197
13349
  @builtins.property
12198
13350
  def npm_dist_tag(self) -> typing.Optional[builtins.str]:
12199
13351
  '''(experimental) The npmDistTag to use when publishing from the default branch.
@@ -12289,6 +13441,23 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12289
13441
  result = self._values.get("release_branches")
12290
13442
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
12291
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
+
12292
13461
  @builtins.property
12293
13462
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
12294
13463
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -12366,6 +13535,19 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12366
13535
  result = self._values.get("release_trigger")
12367
13536
  return typing.cast(typing.Optional[_ReleaseTrigger_e4dc221f], result)
12368
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
+
12369
13551
  @builtins.property
12370
13552
  def release_workflow_name(self) -> typing.Optional[builtins.str]:
12371
13553
  '''(experimental) The name of the default release workflow.
@@ -12392,7 +13574,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12392
13574
  def versionrc_options(
12393
13575
  self,
12394
13576
  ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
12395
- '''(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.
12396
13578
 
12397
13579
  Given values either append to default configuration or overwrite values in it.
12398
13580
 
@@ -12461,6 +13643,32 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12461
13643
  result = self._values.get("artifacts_directory")
12462
13644
  return typing.cast(typing.Optional[builtins.str], result)
12463
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
+
12464
13672
  @builtins.property
12465
13673
  def auto_approve_upgrades(self) -> typing.Optional[builtins.bool]:
12466
13674
  '''(experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
@@ -12474,6 +13682,28 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12474
13682
  result = self._values.get("auto_approve_upgrades")
12475
13683
  return typing.cast(typing.Optional[builtins.bool], result)
12476
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
+
12477
13707
  @builtins.property
12478
13708
  def build_workflow(self) -> typing.Optional[builtins.bool]:
12479
13709
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -12485,13 +13715,24 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12485
13715
  result = self._values.get("build_workflow")
12486
13716
  return typing.cast(typing.Optional[builtins.bool], result)
12487
13717
 
13718
+ @builtins.property
13719
+ def build_workflow_options(self) -> typing.Optional[_BuildWorkflowOptions_b756f97f]:
13720
+ '''(experimental) Options for PR build workflow.
13721
+
13722
+ :stability: experimental
13723
+ '''
13724
+ result = self._values.get("build_workflow_options")
13725
+ return typing.cast(typing.Optional[_BuildWorkflowOptions_b756f97f], result)
13726
+
12488
13727
  @builtins.property
12489
13728
  def build_workflow_triggers(self) -> typing.Optional[_Triggers_e9ae7617]:
12490
- '''(experimental) Build workflow triggers.
13729
+ '''(deprecated) Build workflow triggers.
12491
13730
 
12492
13731
  :default: "{ pullRequest: {}, workflowDispatch: {} }"
12493
13732
 
12494
- :stability: experimental
13733
+ :deprecated: - Use ``buildWorkflowOptions.workflowTriggers``
13734
+
13735
+ :stability: deprecated
12495
13736
  '''
12496
13737
  result = self._values.get("build_workflow_triggers")
12497
13738
  return typing.cast(typing.Optional[_Triggers_e9ae7617], result)
@@ -12520,7 +13761,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12520
13761
 
12521
13762
  @builtins.property
12522
13763
  def code_cov(self) -> typing.Optional[builtins.bool]:
12523
- '''(experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with ``@codeCovTokenSecret``.
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``.
12524
13765
 
12525
13766
  :default: false
12526
13767
 
@@ -12531,9 +13772,9 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12531
13772
 
12532
13773
  @builtins.property
12533
13774
  def code_cov_token_secret(self) -> typing.Optional[builtins.str]:
12534
- '''(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.
12535
13776
 
12536
- :default: - if this option is not specified, only public repositories are supported
13777
+ :default: - OIDC auth is used
12537
13778
 
12538
13779
  :stability: experimental
12539
13780
  '''
@@ -12645,7 +13886,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12645
13886
 
12646
13887
  @builtins.property
12647
13888
  def mutable_build(self) -> typing.Optional[builtins.bool]:
12648
- '''(experimental) Automatically update files modified during builds to pull-request branches.
13889
+ '''(deprecated) Automatically update files modified during builds to pull-request branches.
12649
13890
 
12650
13891
  This means
12651
13892
  that any files synthesized by projen or e.g. test snapshots will always be up-to-date
@@ -12655,7 +13896,9 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12655
13896
 
12656
13897
  :default: true
12657
13898
 
12658
- :stability: experimental
13899
+ :deprecated: - Use ``buildWorkflowOptions.mutableBuild``
13900
+
13901
+ :stability: deprecated
12659
13902
  '''
12660
13903
  result = self._values.get("mutable_build")
12661
13904
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -12728,7 +13971,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12728
13971
  def projen_dev_dependency(self) -> typing.Optional[builtins.bool]:
12729
13972
  '''(experimental) Indicates of "projen" should be installed as a devDependency.
12730
13973
 
12731
- :default: true
13974
+ :default: - true if not a subproject
12732
13975
 
12733
13976
  :stability: experimental
12734
13977
  '''
@@ -12844,7 +14087,7 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12844
14087
  def workflow_git_identity(self) -> typing.Optional[_GitIdentity_6effc3de]:
12845
14088
  '''(experimental) The git identity to use in workflows.
12846
14089
 
12847
- :default: - GitHub Actions
14090
+ :default: - default GitHub Actions user
12848
14091
 
12849
14092
  :stability: experimental
12850
14093
  '''
@@ -12853,9 +14096,11 @@ class ReactProjectOptions(_NodeProjectOptions_d12f6f3b, ReactRewireOptions):
12853
14096
 
12854
14097
  @builtins.property
12855
14098
  def workflow_node_version(self) -> typing.Optional[builtins.str]:
12856
- '''(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.
12857
14102
 
12858
- :default: - same as ``minNodeVersion``
14103
+ :default: - ``minNodeVersion`` if set, otherwise ``lts/*``.
12859
14104
 
12860
14105
  :stability: experimental
12861
14106
  '''
@@ -13032,6 +14277,7 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13032
14277
  bugs_email: typing.Optional[builtins.str] = None,
13033
14278
  bugs_url: typing.Optional[builtins.str] = None,
13034
14279
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14280
+ bun_version: typing.Optional[builtins.str] = None,
13035
14281
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13036
14282
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13037
14283
  description: typing.Optional[builtins.str] = None,
@@ -13044,9 +14290,11 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13044
14290
  max_node_version: typing.Optional[builtins.str] = None,
13045
14291
  min_node_version: typing.Optional[builtins.str] = None,
13046
14292
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
14293
+ npm_provenance: typing.Optional[builtins.bool] = None,
13047
14294
  npm_registry: typing.Optional[builtins.str] = None,
13048
14295
  npm_registry_url: typing.Optional[builtins.str] = None,
13049
14296
  npm_token_secret: typing.Optional[builtins.str] = None,
14297
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13050
14298
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13051
14299
  package_name: typing.Optional[builtins.str] = None,
13052
14300
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13058,9 +14306,11 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13058
14306
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13059
14307
  stability: typing.Optional[builtins.str] = None,
13060
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,
13061
14310
  jsii_release_version: typing.Optional[builtins.str] = None,
13062
14311
  major_version: typing.Optional[jsii.Number] = None,
13063
14312
  min_major_version: typing.Optional[jsii.Number] = None,
14313
+ next_version_command: typing.Optional[builtins.str] = None,
13064
14314
  npm_dist_tag: typing.Optional[builtins.str] = None,
13065
14315
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13066
14316
  prerelease: typing.Optional[builtins.str] = None,
@@ -13068,12 +14318,14 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13068
14318
  publish_tasks: typing.Optional[builtins.bool] = None,
13069
14319
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13070
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,
13071
14322
  release_every_commit: typing.Optional[builtins.bool] = None,
13072
14323
  release_failure_issue: typing.Optional[builtins.bool] = None,
13073
14324
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13074
14325
  release_schedule: typing.Optional[builtins.str] = None,
13075
14326
  release_tag_prefix: typing.Optional[builtins.str] = None,
13076
14327
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14328
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13077
14329
  release_workflow_name: typing.Optional[builtins.str] = None,
13078
14330
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13079
14331
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13082,8 +14334,13 @@ def _typecheckingstub__2068b6deaa762f0141179f4dddaab2fd95c220b31368afa8e4275bc0c
13082
14334
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13083
14335
  default_release_branch: builtins.str,
13084
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,
13085
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,
13086
14342
  build_workflow: typing.Optional[builtins.bool] = None,
14343
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13087
14344
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
13088
14345
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
13089
14346
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13167,6 +14424,7 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13167
14424
  bugs_email: typing.Optional[builtins.str] = None,
13168
14425
  bugs_url: typing.Optional[builtins.str] = None,
13169
14426
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14427
+ bun_version: typing.Optional[builtins.str] = None,
13170
14428
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13171
14429
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13172
14430
  description: typing.Optional[builtins.str] = None,
@@ -13179,9 +14437,11 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13179
14437
  max_node_version: typing.Optional[builtins.str] = None,
13180
14438
  min_node_version: typing.Optional[builtins.str] = None,
13181
14439
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
14440
+ npm_provenance: typing.Optional[builtins.bool] = None,
13182
14441
  npm_registry: typing.Optional[builtins.str] = None,
13183
14442
  npm_registry_url: typing.Optional[builtins.str] = None,
13184
14443
  npm_token_secret: typing.Optional[builtins.str] = None,
14444
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13185
14445
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13186
14446
  package_name: typing.Optional[builtins.str] = None,
13187
14447
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13193,9 +14453,11 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13193
14453
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13194
14454
  stability: typing.Optional[builtins.str] = None,
13195
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,
13196
14457
  jsii_release_version: typing.Optional[builtins.str] = None,
13197
14458
  major_version: typing.Optional[jsii.Number] = None,
13198
14459
  min_major_version: typing.Optional[jsii.Number] = None,
14460
+ next_version_command: typing.Optional[builtins.str] = None,
13199
14461
  npm_dist_tag: typing.Optional[builtins.str] = None,
13200
14462
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13201
14463
  prerelease: typing.Optional[builtins.str] = None,
@@ -13203,12 +14465,14 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13203
14465
  publish_tasks: typing.Optional[builtins.bool] = None,
13204
14466
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13205
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,
13206
14469
  release_every_commit: typing.Optional[builtins.bool] = None,
13207
14470
  release_failure_issue: typing.Optional[builtins.bool] = None,
13208
14471
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13209
14472
  release_schedule: typing.Optional[builtins.str] = None,
13210
14473
  release_tag_prefix: typing.Optional[builtins.str] = None,
13211
14474
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14475
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13212
14476
  release_workflow_name: typing.Optional[builtins.str] = None,
13213
14477
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13214
14478
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13217,8 +14481,13 @@ def _typecheckingstub__1625ee9ed48b5cb80b54d37b499e6e97e54a05364b23a4e4ec57f4bf3
13217
14481
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13218
14482
  default_release_branch: builtins.str,
13219
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,
13220
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,
13221
14489
  build_workflow: typing.Optional[builtins.bool] = None,
14490
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13222
14491
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
13223
14492
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
13224
14493
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13381,6 +14650,7 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13381
14650
  bugs_email: typing.Optional[builtins.str] = None,
13382
14651
  bugs_url: typing.Optional[builtins.str] = None,
13383
14652
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14653
+ bun_version: typing.Optional[builtins.str] = None,
13384
14654
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13385
14655
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13386
14656
  description: typing.Optional[builtins.str] = None,
@@ -13393,9 +14663,11 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13393
14663
  max_node_version: typing.Optional[builtins.str] = None,
13394
14664
  min_node_version: typing.Optional[builtins.str] = None,
13395
14665
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
14666
+ npm_provenance: typing.Optional[builtins.bool] = None,
13396
14667
  npm_registry: typing.Optional[builtins.str] = None,
13397
14668
  npm_registry_url: typing.Optional[builtins.str] = None,
13398
14669
  npm_token_secret: typing.Optional[builtins.str] = None,
14670
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13399
14671
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13400
14672
  package_name: typing.Optional[builtins.str] = None,
13401
14673
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13407,9 +14679,11 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13407
14679
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13408
14680
  stability: typing.Optional[builtins.str] = None,
13409
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,
13410
14683
  jsii_release_version: typing.Optional[builtins.str] = None,
13411
14684
  major_version: typing.Optional[jsii.Number] = None,
13412
14685
  min_major_version: typing.Optional[jsii.Number] = None,
14686
+ next_version_command: typing.Optional[builtins.str] = None,
13413
14687
  npm_dist_tag: typing.Optional[builtins.str] = None,
13414
14688
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13415
14689
  prerelease: typing.Optional[builtins.str] = None,
@@ -13417,12 +14691,14 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13417
14691
  publish_tasks: typing.Optional[builtins.bool] = None,
13418
14692
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13419
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,
13420
14695
  release_every_commit: typing.Optional[builtins.bool] = None,
13421
14696
  release_failure_issue: typing.Optional[builtins.bool] = None,
13422
14697
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13423
14698
  release_schedule: typing.Optional[builtins.str] = None,
13424
14699
  release_tag_prefix: typing.Optional[builtins.str] = None,
13425
14700
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14701
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13426
14702
  release_workflow_name: typing.Optional[builtins.str] = None,
13427
14703
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13428
14704
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13431,8 +14707,13 @@ def _typecheckingstub__6fe6b356cc73a5676618b27e8c5049b874449164943781f93c243772e
13431
14707
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13432
14708
  default_release_branch: builtins.str,
13433
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,
13434
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,
13435
14715
  build_workflow: typing.Optional[builtins.bool] = None,
14716
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13436
14717
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
13437
14718
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
13438
14719
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13554,6 +14835,7 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13554
14835
  bugs_email: typing.Optional[builtins.str] = None,
13555
14836
  bugs_url: typing.Optional[builtins.str] = None,
13556
14837
  bundled_deps: typing.Optional[typing.Sequence[builtins.str]] = None,
14838
+ bun_version: typing.Optional[builtins.str] = None,
13557
14839
  code_artifact_options: typing.Optional[typing.Union[_CodeArtifactOptions_e4782b3e, typing.Dict[builtins.str, typing.Any]]] = None,
13558
14840
  deps: typing.Optional[typing.Sequence[builtins.str]] = None,
13559
14841
  description: typing.Optional[builtins.str] = None,
@@ -13566,9 +14848,11 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13566
14848
  max_node_version: typing.Optional[builtins.str] = None,
13567
14849
  min_node_version: typing.Optional[builtins.str] = None,
13568
14850
  npm_access: typing.Optional[_NpmAccess_134fa228] = None,
14851
+ npm_provenance: typing.Optional[builtins.bool] = None,
13569
14852
  npm_registry: typing.Optional[builtins.str] = None,
13570
14853
  npm_registry_url: typing.Optional[builtins.str] = None,
13571
14854
  npm_token_secret: typing.Optional[builtins.str] = None,
14855
+ npm_trusted_publishing: typing.Optional[builtins.bool] = None,
13572
14856
  package_manager: typing.Optional[_NodePackageManager_3eb53bf6] = None,
13573
14857
  package_name: typing.Optional[builtins.str] = None,
13574
14858
  peer_dependency_options: typing.Optional[typing.Union[_PeerDependencyOptions_99d7d493, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -13580,9 +14864,11 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13580
14864
  scripts: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13581
14865
  stability: typing.Optional[builtins.str] = None,
13582
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,
13583
14868
  jsii_release_version: typing.Optional[builtins.str] = None,
13584
14869
  major_version: typing.Optional[jsii.Number] = None,
13585
14870
  min_major_version: typing.Optional[jsii.Number] = None,
14871
+ next_version_command: typing.Optional[builtins.str] = None,
13586
14872
  npm_dist_tag: typing.Optional[builtins.str] = None,
13587
14873
  post_build_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13588
14874
  prerelease: typing.Optional[builtins.str] = None,
@@ -13590,12 +14876,14 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13590
14876
  publish_tasks: typing.Optional[builtins.bool] = None,
13591
14877
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
13592
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,
13593
14880
  release_every_commit: typing.Optional[builtins.bool] = None,
13594
14881
  release_failure_issue: typing.Optional[builtins.bool] = None,
13595
14882
  release_failure_issue_label: typing.Optional[builtins.str] = None,
13596
14883
  release_schedule: typing.Optional[builtins.str] = None,
13597
14884
  release_tag_prefix: typing.Optional[builtins.str] = None,
13598
14885
  release_trigger: typing.Optional[_ReleaseTrigger_e4dc221f] = None,
14886
+ release_workflow_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13599
14887
  release_workflow_name: typing.Optional[builtins.str] = None,
13600
14888
  release_workflow_setup_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
13601
14889
  versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -13604,8 +14892,13 @@ def _typecheckingstub__3fe2ab54a9ff384e98c4a85a960cf579b3a335a93d5b485eb74555345
13604
14892
  workflow_runs_on_group: typing.Optional[typing.Union[_GroupRunnerOptions_148c59c1, typing.Dict[builtins.str, typing.Any]]] = None,
13605
14893
  default_release_branch: builtins.str,
13606
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,
13607
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,
13608
14900
  build_workflow: typing.Optional[builtins.bool] = None,
14901
+ build_workflow_options: typing.Optional[typing.Union[_BuildWorkflowOptions_b756f97f, typing.Dict[builtins.str, typing.Any]]] = None,
13609
14902
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
13610
14903
  bundler_options: typing.Optional[typing.Union[_BundlerOptions_d60b85ed, typing.Dict[builtins.str, typing.Any]]] = None,
13611
14904
  check_licenses: typing.Optional[typing.Union[_LicenseCheckerOptions_80bcd362, typing.Dict[builtins.str, typing.Any]]] = None,