From fd9eccc84f4bc9ccad31aeb36c513ba4be9edab9 Mon Sep 17 00:00:00 2001
From: cdk8s-automation <81352262+cdk8s-automation@users.noreply.github.com>
Date: Tue, 14 Nov 2023 01:13:28 -0800
Subject: [PATCH 1/2] chore(deps): upgrade dev dependencies (#609)
Upgrades project dependencies. See details in [workflow run].
[Workflow Run]: https://github.com/cdk8s-team/cdk8s-projen-common/actions/runs/6861402409
------
*Automatically created by projen via the "upgrade-dev-dependencies-main" workflow*
---
yarn.lock | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 4c6c6f75..da84066a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1624,9 +1624,9 @@ camelcase@^7.0.1:
integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==
caniuse-lite@^1.0.30001541:
- version "1.0.30001561"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da"
- integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==
+ version "1.0.30001562"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001562.tgz#9d16c5fd7e9c592c4cd5e304bc0f75b0008b2759"
+ integrity sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==
case@^1.6.3:
version "1.6.3"
@@ -2268,9 +2268,9 @@ eastasianwidth@^0.2.0:
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
electron-to-chromium@^1.4.535:
- version "1.4.581"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.581.tgz#23b684c67bf56d4284e95598c05a5d266653b6d8"
- integrity sha512-6uhqWBIapTJUxgPTCHH9sqdbxIMPt7oXl0VcAL1kOtlU6aECdcMncCrX5Z7sHQ/invtrC9jUQUef7+HhO8vVFw==
+ version "1.4.582"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.582.tgz#4908215182266793499ac57d80e2680d7dd9b3db"
+ integrity sha512-89o0MGoocwYbzqUUjc+VNpeOFSOK9nIdC5wY4N+PVUarUK0MtjyTjks75AZS2bW4Kl8MdewdFsWaH0jLy+JNoA==
emittery@^0.8.1:
version "0.8.1"
From 8c0c4c6ed3923a9700d777448d6ab2d3a594f0b9 Mon Sep 17 00:00:00 2001
From: cdk8s-automation <81352262+cdk8s-automation@users.noreply.github.com>
Date: Tue, 14 Nov 2023 09:14:31 -0800
Subject: [PATCH 2/2] chore(deps): upgrade configuration (#530)
Upgrades project dependencies. See details in [workflow run].
[Workflow Run]: https://github.com/cdk8s-team/cdk8s-projen-common/actions/runs/6865434422
------
*Automatically created by projen via the "upgrade-configuration-main" workflow*
---
.gitattributes | 1 -
.gitignore | 1 -
.projen/deps.json | 7 +-
.projen/files.json | 1 -
.projen/tasks.json | 10 +-
API.md | 8724 +++++++++--------
package.json | 10 +-
test/projects/__snapshots__/jsii.test.ts.snap | 312 +-
test/projects/__snapshots__/node.test.ts.snap | 135 +-
.../__snapshots__/typescript.test.ts.snap | 240 +-
yarn.lock | 205 +-
11 files changed, 4985 insertions(+), 4661 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 7802f682..31d841ad 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -21,7 +21,6 @@
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
diff --git a/.gitignore b/.gitignore
index f019b930..d612b17e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,7 +42,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
diff --git a/.projen/deps.json b/.projen/deps.json
index 14758be5..bc555c5e 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -12,16 +12,17 @@
},
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "^5",
+ "version": "^6",
"type": "build"
},
{
"name": "@typescript-eslint/parser",
- "version": "^5",
+ "version": "^6",
"type": "build"
},
{
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
+ "version": "^10.0.0",
"type": "build"
},
{
diff --git a/.projen/files.json b/.projen/files.json
index dcfd6984..96a29877 100644
--- a/.projen/files.json
+++ b/.projen/files.json
@@ -19,7 +19,6 @@
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
diff --git a/.projen/tasks.json b/.projen/tasks.json
index bfe4bfe2..93bfd611 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -272,7 +272,7 @@
"exec": "yarn upgrade npm-check-updates"
},
{
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript"
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript"
},
{
"exec": "yarn install --check-files"
@@ -299,7 +299,7 @@
"exec": "yarn upgrade npm-check-updates"
},
{
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen"
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen"
},
{
"exec": "yarn install --check-files"
@@ -326,13 +326,13 @@
"exec": "yarn upgrade npm-check-updates"
},
{
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest,ts-node,codemaker,deepmerge"
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest,ts-node,codemaker,deepmerge"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest ts-node codemaker deepmerge"
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest ts-node codemaker deepmerge"
},
{
"exec": "npx projen"
@@ -353,7 +353,7 @@
"exec": "yarn upgrade npm-check-updates"
},
{
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,codemaker"
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=peer,prod,optional --filter=projen,codemaker"
},
{
"exec": "yarn install --check-files"
diff --git a/API.md b/API.md
index 874f6c1c..e49fa8ef 100644
--- a/API.md
+++ b/API.md
@@ -4,4369 +4,4540 @@ Common configuration for projen-managed projects in the cdk8s-team GitHub org.
# API Reference
+## Constructs
-## Structs
+### Cdk8sTeamJsiiProject
-### Cdk8sTeamJsiiProjectOptions
+#### Initializers
-Options for `Cdk8sTeamJsiiProject`.
+```typescript
+import { Cdk8sTeamJsiiProject } from '@cdk8s/projen-common'
-Note that this extends `Cdk8sTeamTypeScriptProjectOptions` and not `cdk.JsiiProjectOptions`
-because `cdk.JsiiProjectOptions` has required properties (namely 'author' and 'authorAddress')
-that we want to hardcode and disallow customization of. This means that any jsii specific feature
-cannot be customized on the project level. This is ok because we don't expect much deviation
-with those features between projects. If this turns out to not be the case, we will change appropriately.
+new Cdk8sTeamJsiiProject(options: Cdk8sTeamJsiiProjectOptions)
+```
-#### Initializer
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| options
| Cdk8sTeamJsiiProjectOptions
| *No description.* |
+
+---
+
+##### `options`Required
+
+- *Type:* Cdk8sTeamJsiiProjectOptions
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
+| addGitIgnore
| Adds a .gitignore pattern. |
+| addPackageIgnore
| Exclude these files from the bundled package. |
+| addTask
| Adds a new task to this project. |
+| addTip
| Prints a "tip" message during synthesis. |
+| annotateGenerated
| Marks the provided file(s) as being generated. |
+| postSynthesize
| Called after all components are synthesized. |
+| preSynthesize
| Called before all components are synthesized. |
+| removeTask
| Removes a task from a project. |
+| runTaskCommand
| Returns the shell command to execute in order to run a task. |
+| synth
| Synthesize all project files into `outdir`. |
+| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
+| tryFindJsonFile
| Finds a json file by name. |
+| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
+| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
+| addBins
| *No description.* |
+| addBundledDeps
| Defines bundled dependencies. |
+| addCompileCommand
| DEPRECATED. |
+| addDeps
| Defines normal dependencies. |
+| addDevDeps
| Defines development/test dependencies. |
+| addFields
| Directly set fields in `package.json`. |
+| addKeywords
| Adds keywords to package.json (deduplicated). |
+| addPeerDeps
| Defines peer dependencies. |
+| addScripts
| Replaces the contents of multiple npm package.json scripts. |
+| addTestCommand
| DEPRECATED. |
+| hasScript
| Indicates if a script by the name name is defined. |
+| removeScript
| Removes the npm script (always successful). |
+| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
+| setScript
| Replaces the contents of an npm package.json script. |
+
+---
+
+##### `toString`
```typescript
-import { Cdk8sTeamJsiiProjectOptions } from '@cdk8s/projen-common'
+public toString(): string
+```
-const cdk8sTeamJsiiProjectOptions: Cdk8sTeamJsiiProjectOptions = { ... }
+Returns a string representation of this construct.
+
+##### `addExcludeFromCleanup`
+
+```typescript
+public addExcludeFromCleanup(globs: string): void
```
-#### Properties
+Exclude the matching files from pre-synth cleanup.
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| name
| string
| This is the name of your project. |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
-| gitOptions
| projen.GitOptions
| Configuration options for git. |
-| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
-| outdir
| string
| The root directory of the project. |
-| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
-| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
-| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
-| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
-| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
-| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
-| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
-| autoMerge
| boolean
| Enable automatic merging on GitHub. |
-| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
-| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
-| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
-| github
| boolean
| Enable GitHub integration. |
-| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
-| gitpod
| boolean
| Add a Gitpod development environment. |
-| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
-| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
-| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
-| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
-| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
-| readme
| projen.SampleReadmeProps
| The README setup. |
-| stale
| boolean
| Auto-close of stale issues and pull request. |
-| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
-| vscode
| boolean
| Enable VSCode integration. |
-| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
-| authorEmail
| string
| Author's e-mail. |
-| authorName
| string
| Author's name. |
-| authorOrganization
| boolean
| Is the author an organization. |
-| authorUrl
| string
| Author's URL / Website. |
-| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
-| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
-| bugsEmail
| string
| The email address to which issues should be reported. |
-| bugsUrl
| string
| The url to your project's issue tracker. |
-| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
-| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
-| deps
| string[]
| Runtime dependencies of this module. |
-| description
| string
| The description is just a string that helps people understand the purpose of the package. |
-| devDeps
| string[]
| Build dependencies for this module. |
-| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
-| homepage
| string
| Package's Homepage / Website. |
-| keywords
| string[]
| Keywords to include in `package.json`. |
-| license
| string
| License's SPDX identifier. |
-| licensed
| boolean
| Indicates if a license should be added. |
-| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
-| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
-| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
-| npmRegistry
| string
| The host name of the npm registry to publish to. |
-| npmRegistryUrl
| string
| The base URL of the npm package registry. |
-| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
-| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
-| packageName
| string
| The "name" in package.json. |
-| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
-| peerDeps
| string[]
| Peer dependencies for this module. |
-| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
-| repository
| string
| The repository is the location where the actual code for your package lives. |
-| repositoryDirectory
| string
| 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. |
-| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
-| scripts
| {[ key: string ]: string}
| npm scripts to include. |
-| stability
| string
| Package's Stability. |
-| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
-| majorVersion
| number
| Major version to release from the default branch. |
-| minMajorVersion
| number
| Minimal Major version to release. |
-| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
-| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
-| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
-| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
-| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
-| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
-| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
-| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
-| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
-| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
-| releaseSchedule
| string
| CRON schedule to trigger new releases. |
-| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
-| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
-| releaseWorkflowName
| string
| The name of the default release workflow. |
-| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
-| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
-| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
-| workflowRunsOn
| string[]
| Github Runner selection labels. |
-| defaultReleaseBranch
| string
| The name of the main release branch. |
-| artifactsDirectory
| string
| A directory which will contain build artifacts. |
-| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
-| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
-| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
-| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
-| codeCov
| boolean
| 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`. |
-| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
-| copyrightOwner
| string
| License copyright owner. |
-| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
-| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
-| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
-| depsUpgrade
| boolean
| Use github workflows to handle dependency upgrades. |
-| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
-| gitignore
| string[]
| Additional entries to .gitignore. |
-| jest
| boolean
| Setup jest unit tests. |
-| jestOptions
| projen.javascript.JestOptions
| Jest options. |
-| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
-| npmignore
| string[]
| Additional entries to .npmignore. |
-| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
-| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
-| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
-| prettier
| boolean
| Setup prettier. |
-| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
-| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
-| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
-| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
-| projenVersion
| string
| Version of projen to install. |
-| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
-| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
-| release
| boolean
| Add release management to this project. |
-| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
-| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
-| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
-| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
-| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
-| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
-| disableTsconfig
| boolean
| Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
-| disableTsconfigDev
| boolean
| Do not generate a `tsconfig.dev.json` file. |
-| docgen
| boolean
| Docgen by Typedoc. |
-| docsDirectory
| string
| Docs directory. |
-| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
-| eslint
| boolean
| Setup eslint. |
-| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
-| libdir
| string
| Typescript artifacts output directory. |
-| projenrcTs
| boolean
| Use TypeScript for your projenrc file (`.projenrc.ts`). |
-| projenrcTsOptions
| projen.typescript.ProjenrcOptions
| Options for .projenrc.ts. |
-| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
-| srcdir
| string
| Typescript sources directory. |
-| testdir
| string
| Jest tests directory. Tests files should be named `xxx.test.ts`. |
-| tsconfig
| projen.javascript.TypescriptConfigOptions
| Custom TSConfig. |
-| tsconfigDev
| projen.javascript.TypescriptConfigOptions
| Custom tsconfig options for the development tsconfig.json file (used for testing). |
-| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
-| typescriptVersion
| string
| TypeScript version to use. |
-| additionalCompilerDependencies
| string[]
| Packages that compile the project apart from the typescript/jsii compiler. |
-| backport
| boolean
| Configure a backport workflow. |
-| backportBranches
| string[]
| Branches to backport to. |
-| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
-| golang
| boolean
| Publish Golang bindings to GitHub. |
-| golangBranch
| string
| Name of the branch in the golang repository to publish to. |
-| jsiiVersion
| string
| JSII version to use. |
-| maven
| boolean
| Publish Java bindings to Maven. |
-| nuget
| boolean
| Publish Dotnet bindings to Nuget. |
-| pypi
| boolean
| Publish Python bindings to PyPI. |
+Can be used when, for example, some
+source files include the projen marker and we don't want them to be erased during synth.
+
+###### `globs`Required
+
+- *Type:* string
+
+The glob patterns to match.
---
-##### `name`Required
+##### `addGitIgnore`
+
+```typescript
+public addGitIgnore(pattern: string): void
+```
+
+Adds a .gitignore pattern.
+
+###### `pattern`Required
+
+- *Type:* string
+
+The glob pattern to ignore.
+
+---
+
+##### `addPackageIgnore`
+
+```typescript
+public addPackageIgnore(pattern: string): void
+```
+
+Exclude these files from the bundled package.
+
+Implemented by project types based on the
+packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
+
+###### `pattern`Required
+
+- *Type:* string
+
+---
+
+##### `addTask`
+
+```typescript
+public addTask(name: string, props?: TaskOptions): Task
+```
+
+Adds a new task to this project.
+
+This will fail if the project already has
+a task with this name.
+
+###### `name`Required
+
+- *Type:* string
+
+The task name to add.
+
+---
+
+###### `props`Optional
+
+- *Type:* projen.TaskOptions
+
+Task properties.
+
+---
+
+##### ~~`addTip`~~
+
+```typescript
+public addTip(message: string): void
+```
+
+Prints a "tip" message during synthesis.
+
+###### `message`Required
+
+- *Type:* string
+
+The message.
+
+---
+
+##### `annotateGenerated`
+
+```typescript
+public annotateGenerated(glob: string): void
+```
+
+Marks the provided file(s) as being generated.
+
+This is achieved using the
+github-linguist attributes. Generated files do not count against the
+repository statistics and language breakdown.
+
+> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
+
+###### `glob`Required
+
+- *Type:* string
+
+the glob pattern to match (could be a file path).
+
+---
+
+##### `postSynthesize`
+
+```typescript
+public postSynthesize(): void
+```
+
+Called after all components are synthesized.
+
+Order is *not* guaranteed.
+
+##### `preSynthesize`
+
+```typescript
+public preSynthesize(): void
+```
+
+Called before all components are synthesized.
+
+##### `removeTask`
```typescript
-public readonly name: string;
+public removeTask(name: string): Task
```
+Removes a task from a project.
+
+###### `name`Required
+
- *Type:* string
-- *Default:* $BASEDIR
-This is the name of your project.
+The name of the task to remove.
---
-##### `commitGenerated`Optional
+##### `runTaskCommand`
```typescript
-public readonly commitGenerated: boolean;
+public runTaskCommand(task: Task): string
```
-- *Type:* boolean
-- *Default:* true
-
-Whether to commit the managed files by default.
-
----
+Returns the shell command to execute in order to run a task.
-##### `gitIgnoreOptions`Optional
+This will
+typically be `npx projen TASK`.
-```typescript
-public readonly gitIgnoreOptions: IgnoreFileOptions;
-```
+###### `task`Required
-- *Type:* projen.IgnoreFileOptions
+- *Type:* projen.Task
-Configuration options for .gitignore file.
+The task for which the command is required.
---
-##### `gitOptions`Optional
+##### `synth`
```typescript
-public readonly gitOptions: GitOptions;
+public synth(): void
```
-- *Type:* projen.GitOptions
-
-Configuration options for git.
+Synthesize all project files into `outdir`.
----
+1. Call "this.preSynthesize()"
+2. Delete all generated files
+3. Synthesize all subprojects
+4. Synthesize all components of this project
+5. Call "postSynthesize()" for all components of this project
+6. Call "this.postSynthesize()"
-##### `logging`Optional
+##### `tryFindFile`
```typescript
-public readonly logging: LoggerOptions;
+public tryFindFile(filePath: string): FileBase
```
-- *Type:* projen.LoggerOptions
-- *Default:* {}
+Finds a file at the specified relative path within this project and all its subprojects.
-Configure logging options such as verbosity.
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
+
+If this path is relative, it will be resolved
+from the root of _this_ project.
---
-##### `outdir`Optional
+##### ~~`tryFindJsonFile`~~
```typescript
-public readonly outdir: string;
+public tryFindJsonFile(filePath: string): JsonFile
```
-- *Type:* string
-- *Default:* "."
+Finds a json file by name.
-The root directory of the project.
+###### `filePath`Required
-Relative to this directory, all files are synthesized.
+- *Type:* string
-If this project has a parent, this directory is relative to the parent
-directory and it cannot be the same as the parent or any of it's other
-sub-projects.
+The file path.
---
-##### `parent`Optional
+##### `tryFindObjectFile`
```typescript
-public readonly parent: Project;
+public tryFindObjectFile(filePath: string): ObjectFile
```
-- *Type:* projen.Project
+Finds an object file (like JsonFile, YamlFile, etc.) by name.
-The parent project, if this project is part of a bigger project.
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
---
-##### `projenCommand`Optional
+##### `tryRemoveFile`
```typescript
-public readonly projenCommand: string;
+public tryRemoveFile(filePath: string): FileBase
```
+Finds a file at the specified relative path within this project and removes it.
+
+###### `filePath`Required
+
- *Type:* string
-- *Default:* "npx projen"
-The shell command to use in order to run the projen CLI.
+The file path.
-Can be used to customize in special environments.
+If this path is relative, it will be
+resolved from the root of _this_ project.
---
-##### `projenrcJson`Optional
+##### `addBins`
```typescript
-public readonly projenrcJson: boolean;
+public addBins(bins: {[ key: string ]: string}): void
```
-- *Type:* boolean
-- *Default:* false
+###### `bins`Required
-Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
+- *Type:* {[ key: string ]: string}
---
-##### `projenrcJsonOptions`Optional
+##### `addBundledDeps`
```typescript
-public readonly projenrcJsonOptions: ProjenrcJsonOptions;
+public addBundledDeps(deps: string): void
```
-- *Type:* projen.ProjenrcJsonOptions
-- *Default:* default options
-
-Options for .projenrc.json.
+Defines bundled dependencies.
----
+Bundled dependencies will be added as normal dependencies as well as to the
+`bundledDependencies` section of your `package.json`.
-##### `renovatebot`Optional
+###### `deps`Required
-```typescript
-public readonly renovatebot: boolean;
-```
+- *Type:* string
-- *Type:* boolean
-- *Default:* false
+Names modules to install.
-Use renovatebot to handle dependency upgrades.
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `renovatebotOptions`Optional
+##### ~~`addCompileCommand`~~
```typescript
-public readonly renovatebotOptions: RenovatebotOptions;
+public addCompileCommand(commands: string): void
```
-- *Type:* projen.RenovatebotOptions
-- *Default:* default options
+DEPRECATED.
-Options for renovatebot.
+###### `commands`Required
+
+- *Type:* string
---
-##### `autoApproveOptions`Optional
+##### `addDeps`
```typescript
-public readonly autoApproveOptions: AutoApproveOptions;
+public addDeps(deps: string): void
```
-- *Type:* projen.github.AutoApproveOptions
-- *Default:* auto approve is disabled
+Defines normal dependencies.
-Enable and configure the 'auto approve' workflow.
+###### `deps`Required
+
+- *Type:* string
+
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `autoMerge`Optional
+##### `addDevDeps`
```typescript
-public readonly autoMerge: boolean;
+public addDevDeps(deps: string): void
```
-- *Type:* boolean
-- *Default:* true
+Defines development/test dependencies.
-Enable automatic merging on GitHub.
+###### `deps`Required
-Has no effect if `github.mergify`
-is set to false.
+- *Type:* string
+
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `autoMergeOptions`Optional
+##### `addFields`
```typescript
-public readonly autoMergeOptions: AutoMergeOptions;
+public addFields(fields: {[ key: string ]: any}): void
```
-- *Type:* projen.github.AutoMergeOptions
-- *Default:* see defaults in `AutoMergeOptions`
+Directly set fields in `package.json`.
-Configure options for automatic merging on GitHub.
+###### `fields`Required
-Has no effect if
-`github.mergify` or `autoMerge` is set to false.
+- *Type:* {[ key: string ]: any}
+
+The fields to set.
---
-##### `clobber`Optional
+##### `addKeywords`
```typescript
-public readonly clobber: boolean;
+public addKeywords(keywords: string): void
```
-- *Type:* boolean
-- *Default:* true, but false for subprojects
+Adds keywords to package.json (deduplicated).
-Add a `clobber` task which resets the repo to origin.
+###### `keywords`Required
+
+- *Type:* string
+
+The keywords to add.
---
-##### `devContainer`Optional
+##### `addPeerDeps`
```typescript
-public readonly devContainer: boolean;
+public addPeerDeps(deps: string): void
```
-- *Type:* boolean
-- *Default:* false
-
-Add a VSCode development environment (used for GitHub Codespaces).
-
----
+Defines peer dependencies.
-##### `github`Optional
+When adding peer dependencies, a devDependency will also be added on the
+pinned version of the declared peer. This will ensure that you are testing
+your code against the minimum version required from your consumers.
-```typescript
-public readonly github: boolean;
-```
+###### `deps`Required
-- *Type:* boolean
-- *Default:* true
+- *Type:* string
-Enable GitHub integration.
+Names modules to install.
-Enabled by default for root projects. Disabled for non-root projects.
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `githubOptions`Optional
+##### `addScripts`
```typescript
-public readonly githubOptions: GitHubOptions;
+public addScripts(scripts: {[ key: string ]: string}): void
```
-- *Type:* projen.github.GitHubOptions
-- *Default:* see GitHubOptions
+Replaces the contents of multiple npm package.json scripts.
+
+###### `scripts`Required
+
+- *Type:* {[ key: string ]: string}
-Options for GitHub integration.
+The scripts to set.
---
-##### `gitpod`Optional
+##### ~~`addTestCommand`~~
```typescript
-public readonly gitpod: boolean;
+public addTestCommand(commands: string): void
```
-- *Type:* boolean
-- *Default:* false
+DEPRECATED.
-Add a Gitpod development environment.
+###### `commands`Required
----
+- *Type:* string
-##### ~~`mergify`~~Optional
+---
-- *Deprecated:* use `githubOptions.mergify` instead
+##### ~~`hasScript`~~
```typescript
-public readonly mergify: boolean;
+public hasScript(name: string): boolean
```
-- *Type:* boolean
-- *Default:* true
+Indicates if a script by the name name is defined.
-Whether mergify should be enabled on this repository or not.
+###### `name`Required
----
+- *Type:* string
-##### ~~`mergifyOptions`~~Optional
+The name of the script.
-- *Deprecated:* use `githubOptions.mergifyOptions` instead
+---
+
+##### `removeScript`
```typescript
-public readonly mergifyOptions: MergifyOptions;
+public removeScript(name: string): void
```
-- *Type:* projen.github.MergifyOptions
-- *Default:* default options
+Removes the npm script (always successful).
-Options for mergify.
+###### `name`Required
----
+- *Type:* string
-##### ~~`projectType`~~Optional
+The name of the script.
-- *Deprecated:* no longer supported at the base project level
+---
+
+##### `renderWorkflowSetup`
```typescript
-public readonly projectType: ProjectType;
+public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
```
-- *Type:* projen.ProjectType
-- *Default:* ProjectType.UNKNOWN
+Returns the set of workflow steps which should be executed to bootstrap a workflow.
-Which type of project this is (library/app).
+###### `options`Optional
+
+- *Type:* projen.javascript.RenderWorkflowSetupOptions
+
+Options.
---
-##### `projenCredentials`Optional
+##### `setScript`
```typescript
-public readonly projenCredentials: GithubCredentials;
+public setScript(name: string, command: string): void
```
-- *Type:* projen.github.GithubCredentials
-- *Default:* use a personal access token named PROJEN_GITHUB_TOKEN
+Replaces the contents of an npm package.json script.
-Choose a method of providing GitHub API access for projen workflows.
+###### `name`Required
----
+- *Type:* string
-##### ~~`projenTokenSecret`~~Optional
+The script name.
-- *Deprecated:* use `projenCredentials`
+---
-```typescript
-public readonly projenTokenSecret: string;
-```
+###### `command`Required
- *Type:* string
-- *Default:* "PROJEN_GITHUB_TOKEN"
-
-The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
-This token needs to have the `repo`, `workflows`
-and `packages` scope.
+The command to execute.
---
-##### `readme`Optional
-
-```typescript
-public readonly readme: SampleReadmeProps;
-```
-
-- *Type:* projen.SampleReadmeProps
-- *Default:* { filename: 'README.md', contents: '# replace this' }
+#### Static Functions
-The README setup.
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if `x` is a construct. |
+| isProject
| Test whether the given construct is a project. |
+| of
| Find the closest ancestor project for given construct. |
---
-*Example*
+##### `isConstruct`
```typescript
-"{ filename: 'readme.md', contents: '# title' }"
+import { Cdk8sTeamJsiiProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamJsiiProject.isConstruct(x: any)
```
+Checks if `x` is a construct.
-##### `stale`Optional
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
-```typescript
-public readonly stale: boolean;
-```
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
-- *Type:* boolean
-- *Default:* false
+###### `x`Required
-Auto-close of stale issues and pull request.
+- *Type:* any
-See `staleOptions` for options.
+Any object.
---
-##### `staleOptions`Optional
+##### `isProject`
```typescript
-public readonly staleOptions: StaleOptions;
+import { Cdk8sTeamJsiiProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamJsiiProject.isProject(x: any)
```
-- *Type:* projen.github.StaleOptions
-- *Default:* see defaults in `StaleOptions`
+Test whether the given construct is a project.
-Auto-close stale issues and pull requests.
+###### `x`Required
-To disable set `stale` to `false`.
+- *Type:* any
---
-##### `vscode`Optional
+##### `of`
```typescript
-public readonly vscode: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
+import { Cdk8sTeamJsiiProject } from '@cdk8s/projen-common'
-Enable VSCode integration.
+Cdk8sTeamJsiiProject.of(construct: IConstruct)
+```
-Enabled by default for root projects. Disabled for non-root projects.
+Find the closest ancestor project for given construct.
----
+When given a project, this it the project itself.
-##### `allowLibraryDependencies`Optional
+###### `construct`Required
-```typescript
-public readonly allowLibraryDependencies: boolean;
-```
+- *Type:* constructs.IConstruct
-- *Type:* boolean
-- *Default:* true
+---
-Allow the project to include `peerDependencies` and `bundledDependencies`.
+#### Properties
-This is normally only allowed for libraries. For apps, there's no meaning
-for specifying these.
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| buildTask
| projen.Task
| *No description.* |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| compileTask
| projen.Task
| *No description.* |
+| components
| projen.Component[]
| Returns all the components within this project. |
+| deps
| projen.Dependencies
| Project dependencies. |
+| ejected
| boolean
| Whether or not the project is being ejected. |
+| files
| projen.FileBase[]
| All files in this project. |
+| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
+| gitignore
| projen.IgnoreFile
| .gitignore. |
+| logger
| projen.Logger
| Logging utilities. |
+| name
| string
| Project name. |
+| outdir
| string
| Absolute output directory of this project. |
+| packageTask
| projen.Task
| *No description.* |
+| postCompileTask
| projen.Task
| *No description.* |
+| preCompileTask
| projen.Task
| *No description.* |
+| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
+| projenCommand
| string
| The command to use in order to run the projen CLI. |
+| root
| projen.Project
| The root project. |
+| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
+| tasks
| projen.Tasks
| Project tasks. |
+| testTask
| projen.Task
| *No description.* |
+| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
+| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
+| parent
| projen.Project
| A parent project. |
+| projectType
| projen.ProjectType
| *No description.* |
+| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
+| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
+| github
| projen.github.GitHub
| Access all github components. |
+| gitpod
| projen.Gitpod
| Access for Gitpod. |
+| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
+| allowLibraryDependencies
| boolean
| *No description.* |
+| artifactsDirectory
| string
| The build output directory. |
+| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
+| bundler
| projen.javascript.Bundler
| *No description.* |
+| entrypoint
| string
| *No description.* |
+| manifest
| any
| *No description.* |
+| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
+| package
| projen.javascript.NodePackage
| API for managing the node package. |
+| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
+| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
+| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
+| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
+| buildWorkflowJobId
| string
| The job ID of the build workflow. |
+| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
+| maxNodeVersion
| string
| Maximum node version required by this package. |
+| minNodeVersion
| string
| Minimum node.js version required by this package. |
+| npmignore
| projen.IgnoreFile
| The .npmignore file. |
+| prettier
| projen.javascript.Prettier
| *No description.* |
+| publisher
| projen.release.Publisher
| Package publisher. |
+| release
| projen.release.Release
| Release management. |
+| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
+| docsDirectory
| string
| *No description.* |
+| libdir
| string
| The directory in which compiled .js files reside. |
+| srcdir
| string
| The directory in which the .ts sources reside. |
+| testdir
| string
| The directory in which tests reside. |
+| tsconfigDev
| projen.javascript.TypescriptConfig
| A typescript configuration file which covers all files (sources, tests, projen). |
+| watchTask
| projen.Task
| The "watch" task. |
+| docgen
| boolean
| *No description.* |
+| eslint
| projen.javascript.Eslint
| *No description.* |
+| tsconfig
| projen.javascript.TypescriptConfig
| *No description.* |
+| tsconfigEslint
| projen.javascript.TypescriptConfig
| *No description.* |
---
-##### `authorEmail`Optional
+##### `node`Required
```typescript
-public readonly authorEmail: string;
+public readonly node: Node;
```
-- *Type:* string
+- *Type:* constructs.Node
-Author's e-mail.
+The tree node.
---
-##### `authorName`Optional
+##### `buildTask`Required
```typescript
-public readonly authorName: string;
+public readonly buildTask: Task;
```
-- *Type:* string
-
-Author's name.
+- *Type:* projen.Task
---
-##### `authorOrganization`Optional
+##### `commitGenerated`Required
```typescript
-public readonly authorOrganization: boolean;
+public readonly commitGenerated: boolean;
```
- *Type:* boolean
-Is the author an organization.
+Whether to commit the managed files by default.
---
-##### `authorUrl`Optional
+##### `compileTask`Required
```typescript
-public readonly authorUrl: string;
+public readonly compileTask: Task;
```
-- *Type:* string
-
-Author's URL / Website.
+- *Type:* projen.Task
---
-##### `autoDetectBin`Optional
+##### `components`Required
```typescript
-public readonly autoDetectBin: boolean;
+public readonly components: Component[];
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.Component[]
-Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
+Returns all the components within this project.
---
-##### `bin`Optional
+##### `deps`Required
```typescript
-public readonly bin: {[ key: string ]: string};
+public readonly deps: Dependencies;
```
-- *Type:* {[ key: string ]: string}
-
-Binary programs vended with your module.
+- *Type:* projen.Dependencies
-You can use this option to add/customize how binaries are represented in
-your `package.json`, but unless `autoDetectBin` is `false`, every
-executable file under `bin` will automatically be added to this section.
+Project dependencies.
---
-##### `bugsEmail`Optional
+##### `ejected`Required
```typescript
-public readonly bugsEmail: string;
+public readonly ejected: boolean;
```
-- *Type:* string
+- *Type:* boolean
-The email address to which issues should be reported.
+Whether or not the project is being ejected.
---
-##### `bugsUrl`Optional
+##### `files`Required
```typescript
-public readonly bugsUrl: string;
+public readonly files: FileBase[];
```
-- *Type:* string
+- *Type:* projen.FileBase[]
-The url to your project's issue tracker.
+All files in this project.
---
-##### `bundledDeps`Optional
+##### `gitattributes`Required
```typescript
-public readonly bundledDeps: string[];
+public readonly gitattributes: GitAttributesFile;
```
-- *Type:* string[]
-
-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`.
+- *Type:* projen.GitAttributesFile
-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.
+The .gitattributes file for this repository.
---
-##### `codeArtifactOptions`Optional
+##### `gitignore`Required
```typescript
-public readonly codeArtifactOptions: CodeArtifactOptions;
+public readonly gitignore: IgnoreFile;
```
-- *Type:* projen.javascript.CodeArtifactOptions
-- *Default:* undefined
-
-Options for npm packages using AWS CodeArtifact.
+- *Type:* projen.IgnoreFile
-This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
+.gitignore.
---
-##### `deps`Optional
+##### `logger`Required
```typescript
-public readonly deps: string[];
+public readonly logger: Logger;
```
-- *Type:* string[]
-- *Default:* []
-
-Runtime dependencies of this module.
+- *Type:* projen.Logger
-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.
+Logging utilities.
---
-*Example*
+##### `name`Required
```typescript
-[ 'express', 'lodash', 'foo@^2' ]
+public readonly name: string;
```
+- *Type:* string
+
+Project name.
-##### `description`Optional
+---
+
+##### `outdir`Required
```typescript
-public readonly description: string;
+public readonly outdir: string;
```
- *Type:* string
-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
+Absolute output directory of this project.
---
-##### `devDeps`Optional
+##### `packageTask`Required
```typescript
-public readonly devDeps: string[];
+public readonly packageTask: Task;
```
-- *Type:* string[]
-- *Default:* []
+- *Type:* projen.Task
-Build dependencies for this module.
+---
-These dependencies will only be
-available in your build environment but will not be fetched when this
-module is consumed.
+##### `postCompileTask`Required
-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.
+```typescript
+public readonly postCompileTask: Task;
+```
+
+- *Type:* projen.Task
---
-*Example*
+##### `preCompileTask`Required
```typescript
-[ 'typescript', '@types/express' ]
+public readonly preCompileTask: Task;
```
+- *Type:* projen.Task
-##### `entrypoint`Optional
+---
+
+##### `projectBuild`Required
```typescript
-public readonly entrypoint: string;
+public readonly projectBuild: ProjectBuild;
```
-- *Type:* string
-- *Default:* "lib/index.js"
-
-Module entrypoint (`main` in `package.json`).
+- *Type:* projen.ProjectBuild
-Set to an empty string to not include `main` in your package.json
+Manages the build process of the project.
---
-##### `homepage`Optional
+##### `projenCommand`Required
```typescript
-public readonly homepage: string;
+public readonly projenCommand: string;
```
- *Type:* string
-Package's Homepage / Website.
+The command to use in order to run the projen CLI.
---
-##### `keywords`Optional
+##### `root`Required
```typescript
-public readonly keywords: string[];
+public readonly root: Project;
```
-- *Type:* string[]
+- *Type:* projen.Project
-Keywords to include in `package.json`.
+The root project.
---
-##### `license`Optional
+##### `subprojects`Required
```typescript
-public readonly license: string;
+public readonly subprojects: Project[];
```
-- *Type:* string
-- *Default:* "Apache-2.0"
-
-License's SPDX identifier.
+- *Type:* projen.Project[]
-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.
+Returns all the subprojects within this project.
---
-##### `licensed`Optional
+##### `tasks`Required
```typescript
-public readonly licensed: boolean;
+public readonly tasks: Tasks;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.Tasks
-Indicates if a license should be added.
+Project tasks.
---
-##### `maxNodeVersion`Optional
+##### `testTask`Required
```typescript
-public readonly maxNodeVersion: string;
+public readonly testTask: Task;
```
-- *Type:* string
-- *Default:* no max
-
-Minimum node.js version to require via `engines` (inclusive).
+- *Type:* projen.Task
---
-##### `minNodeVersion`Optional
+##### `defaultTask`Optional
```typescript
-public readonly minNodeVersion: string;
+public readonly defaultTask: Task;
```
-- *Type:* string
-- *Default:* no "engines" specified
+- *Type:* projen.Task
-Minimum Node.js version to require via package.json `engines` (inclusive).
+This is the "default" task, the one that executes "projen".
+
+Undefined if
+the project is being ejected.
---
-##### `npmAccess`Optional
+##### `initProject`Optional
```typescript
-public readonly npmAccess: NpmAccess;
+public readonly initProject: InitProject;
```
-- *Type:* projen.javascript.NpmAccess
-- *Default:* for scoped packages (e.g. `foo@bar`), the default is `NpmAccess.RESTRICTED`, for non-scoped packages, the default is `NpmAccess.PUBLIC`.
+- *Type:* projen.InitProject
-Access level of the npm package.
+The options used when this project is bootstrapped via `projen new`.
----
+It
+includes the original set of options passed to the CLI and also the JSII
+FQN of the project type.
-##### ~~`npmRegistry`~~Optional
+---
-- *Deprecated:* use `npmRegistryUrl` instead
+##### `parent`Optional
```typescript
-public readonly npmRegistry: string;
+public readonly parent: Project;
```
-- *Type:* string
+- *Type:* projen.Project
-The host name of the npm registry to publish to.
+A parent project.
-Cannot be set together with `npmRegistryUrl`.
+If undefined, this is the root project.
---
-##### `npmRegistryUrl`Optional
+##### `projectType`Required
```typescript
-public readonly npmRegistryUrl: string;
+public readonly projectType: ProjectType;
```
-- *Type:* string
-- *Default:* "https://registry.npmjs.org"
-
-The base URL of the npm package registry.
-
-Must be a URL (e.g. start with "https://" or "http://")
+- *Type:* projen.ProjectType
---
-##### `npmTokenSecret`Optional
+##### `autoApprove`Optional
```typescript
-public readonly npmTokenSecret: string;
+public readonly autoApprove: AutoApprove;
```
-- *Type:* string
-- *Default:* "NPM_TOKEN"
+- *Type:* projen.github.AutoApprove
-GitHub secret which contains the NPM token to use when publishing packages.
+Auto approve set up for this project.
---
-##### `packageManager`Optional
+##### `devContainer`Optional
```typescript
-public readonly packageManager: NodePackageManager;
+public readonly devContainer: DevContainer;
```
-- *Type:* projen.javascript.NodePackageManager
-- *Default:* NodePackageManager.YARN
+- *Type:* projen.vscode.DevContainer
-The Node Package Manager used to execute scripts.
+Access for .devcontainer.json (used for GitHub Codespaces).
+
+This will be `undefined` if devContainer boolean is false
---
-##### `packageName`Optional
+##### `github`Optional
```typescript
-public readonly packageName: string;
+public readonly github: GitHub;
```
-- *Type:* string
-- *Default:* defaults to project name
+- *Type:* projen.github.GitHub
-The "name" in package.json.
+Access all github components.
+
+This will be `undefined` for subprojects.
---
-##### `peerDependencyOptions`Optional
+##### `gitpod`Optional
```typescript
-public readonly peerDependencyOptions: PeerDependencyOptions;
+public readonly gitpod: Gitpod;
```
-- *Type:* projen.javascript.PeerDependencyOptions
+- *Type:* projen.Gitpod
-Options for `peerDeps`.
+Access for Gitpod.
+
+This will be `undefined` if gitpod boolean is false
---
-##### `peerDeps`Optional
+##### `vscode`Optional
```typescript
-public readonly peerDeps: string[];
-```
-
-- *Type:* string[]
-- *Default:* []
-
-Peer dependencies for this module.
+public readonly vscode: VsCode;
+```
-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.
+- *Type:* projen.vscode.VsCode
-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.
+Access all VSCode components.
-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.
+This will be `undefined` for subprojects.
---
-##### `pnpmVersion`Optional
+##### ~~`allowLibraryDependencies`~~Required
+
+- *Deprecated:* use `package.allowLibraryDependencies`
```typescript
-public readonly pnpmVersion: string;
+public readonly allowLibraryDependencies: boolean;
```
-- *Type:* string
-- *Default:* "7"
-
-The version of PNPM to use if using PNPM as a package manager.
+- *Type:* boolean
---
-##### `repository`Optional
+##### `artifactsDirectory`Required
```typescript
-public readonly repository: string;
+public readonly artifactsDirectory: string;
```
- *Type:* string
-The repository is the location where the actual code for your package lives.
+The build output directory.
-See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
+An npm tarball will be created under the `js`
+subdirectory. For example, if this is set to `dist` (the default), the npm
+tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
---
-##### `repositoryDirectory`Optional
+##### `artifactsJavascriptDirectory`Required
```typescript
-public readonly repositoryDirectory: string;
+public readonly artifactsJavascriptDirectory: string;
```
- *Type:* string
-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.
+The location of the npm tarball after build (`${artifactsDirectory}/js`).
---
-##### `scopedPackagesOptions`Optional
+##### `bundler`Required
```typescript
-public readonly scopedPackagesOptions: ScopedPackagesOptions[];
+public readonly bundler: Bundler;
```
-- *Type:* projen.javascript.ScopedPackagesOptions[]
-- *Default:* fetch all scoped packages from the public npm registry
-
-Options for privately hosted scoped packages.
+- *Type:* projen.javascript.Bundler
---
-##### ~~`scripts`~~Optional
+##### ~~`entrypoint`~~Required
-- *Deprecated:* use `project.addTask()` or `package.setScript()`
+- *Deprecated:* use `package.entrypoint`
```typescript
-public readonly scripts: {[ key: string ]: string};
+public readonly entrypoint: string;
```
-- *Type:* {[ key: string ]: string}
-- *Default:* {}
-
-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.
+- *Type:* string
---
-##### `stability`Optional
+##### ~~`manifest`~~Required
+
+- *Deprecated:* use `package.addField(x, y)`
```typescript
-public readonly stability: string;
+public readonly manifest: any;
```
-- *Type:* string
-
-Package's Stability.
+- *Type:* any
---
-##### `jsiiReleaseVersion`Optional
+##### `npmrc`Required
```typescript
-public readonly jsiiReleaseVersion: string;
+public readonly npmrc: NpmConfig;
```
-- *Type:* string
-- *Default:* "latest"
+- *Type:* projen.javascript.NpmConfig
-Version requirement of `publib` which is used to publish modules to npm.
+The .npmrc file.
---
-##### `majorVersion`Optional
+##### `package`Required
```typescript
-public readonly majorVersion: number;
+public readonly package: NodePackage;
```
-- *Type:* number
-- *Default:* Major version is not enforced.
-
-Major version to release from the default branch.
+- *Type:* projen.javascript.NodePackage
-If this is specified, we bump the latest version of this major version line.
-If not specified, we bump the global latest version.
+API for managing the node package.
---
-##### `minMajorVersion`Optional
+##### ~~`packageManager`~~Required
+
+- *Deprecated:* use `package.packageManager`
```typescript
-public readonly minMajorVersion: number;
+public readonly packageManager: NodePackageManager;
```
-- *Type:* number
-- *Default:* No minimum version is being enforced
-
-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.
+- *Type:* projen.javascript.NodePackageManager
-Can not be set together with `majorVersion`.
+The package manager to use.
---
-##### `npmDistTag`Optional
+##### `runScriptCommand`Required
```typescript
-public readonly npmDistTag: string;
+public readonly runScriptCommand: string;
```
- *Type:* string
-- *Default:* "latest"
-
-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.
+The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
---
-##### `postBuildSteps`Optional
+##### `autoMerge`Optional
```typescript
-public readonly postBuildSteps: JobStep[];
+public readonly autoMerge: AutoMerge;
```
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* []
+- *Type:* projen.github.AutoMerge
-Steps to execute after build as part of the release workflow.
+Component that sets up mergify for merging approved pull requests.
---
-##### `prerelease`Optional
+##### `buildWorkflow`Optional
```typescript
-public readonly prerelease: string;
+public readonly buildWorkflow: BuildWorkflow;
```
-- *Type:* string
-- *Default:* normal semantic versions
+- *Type:* projen.build.BuildWorkflow
-Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
+The PR build GitHub workflow.
+
+`undefined` if `buildWorkflow` is disabled.
---
-##### `publishDryRun`Optional
+##### `buildWorkflowJobId`Optional
```typescript
-public readonly publishDryRun: boolean;
+public readonly buildWorkflowJobId: string;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* string
-Instead of actually publishing to package managers, just print the publishing command.
+The job ID of the build workflow.
---
-##### `publishTasks`Optional
+##### `jest`Optional
```typescript
-public readonly publishTasks: boolean;
+public readonly jest: Jest;
```
-- *Type:* boolean
-- *Default:* false
-
-Define publishing tasks that can be executed manually as well as workflows.
+- *Type:* projen.javascript.Jest
-Normally, publishing only happens within automated workflows. Enable this
-in order to create a publishing task for each publishing activity.
+The Jest configuration (if enabled).
---
-##### `releasableCommits`Optional
+##### `maxNodeVersion`Optional
```typescript
-public readonly releasableCommits: ReleasableCommits;
+public readonly maxNodeVersion: string;
```
-- *Type:* projen.ReleasableCommits
-- *Default:* ReleasableCommits.everyCommit()
+- *Type:* string
-Find commits that should be considered releasable Used to decide if a release is required.
+Maximum node version required by this package.
---
-##### `releaseBranches`Optional
+##### `minNodeVersion`Optional
```typescript
-public readonly releaseBranches: {[ key: string ]: BranchOptions};
+public readonly minNodeVersion: string;
```
-- *Type:* {[ key: string ]: projen.release.BranchOptions}
-- *Default:* no additional branches are used for release. you can use `addBranch()` to add additional branches.
-
-Defines additional release branches.
+- *Type:* string
-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.
+Minimum node.js version required by this package.
---
-##### ~~`releaseEveryCommit`~~Optional
-
-- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
+##### `npmignore`Optional
```typescript
-public readonly releaseEveryCommit: boolean;
+public readonly npmignore: IgnoreFile;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.IgnoreFile
-Automatically release new versions every commit to one of branches in `releaseBranches`.
+The .npmignore file.
---
-##### `releaseFailureIssue`Optional
+##### `prettier`Optional
```typescript
-public readonly releaseFailureIssue: boolean;
+public readonly prettier: Prettier;
```
-- *Type:* boolean
-- *Default:* false
-
-Create a github issue on every failed publishing task.
+- *Type:* projen.javascript.Prettier
---
-##### `releaseFailureIssueLabel`Optional
+##### ~~`publisher`~~Optional
+
+- *Deprecated:* use `release.publisher`.
```typescript
-public readonly releaseFailureIssueLabel: string;
+public readonly publisher: Publisher;
```
-- *Type:* string
-- *Default:* "failed-release"
+- *Type:* projen.release.Publisher
-The label to apply to issues indicating publish failures.
+Package publisher.
-Only applies if `releaseFailureIssue` is true.
+This will be `undefined` if the project does not have a
+release workflow.
---
-##### ~~`releaseSchedule`~~Optional
-
-- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
+##### `release`Optional
```typescript
-public readonly releaseSchedule: string;
+public readonly release: Release;
```
-- *Type:* string
-- *Default:* no scheduled releases
+- *Type:* projen.release.Release
-CRON schedule to trigger new releases.
+Release management.
---
-##### `releaseTagPrefix`Optional
+##### `upgradeWorkflow`Optional
```typescript
-public readonly releaseTagPrefix: string;
+public readonly upgradeWorkflow: UpgradeDependencies;
```
-- *Type:* string
-- *Default:* "v"
+- *Type:* projen.javascript.UpgradeDependencies
-Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers.
+The upgrade workflow.
-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.
+---
+
+##### `docsDirectory`Required
+
+```typescript
+public readonly docsDirectory: string;
+```
+
+- *Type:* string
---
-##### `releaseTrigger`Optional
+##### `libdir`Required
```typescript
-public readonly releaseTrigger: ReleaseTrigger;
+public readonly libdir: string;
```
-- *Type:* projen.release.ReleaseTrigger
-- *Default:* Continuous releases (`ReleaseTrigger.continuous()`)
+- *Type:* string
-The release trigger to use.
+The directory in which compiled .js files reside.
---
-##### `releaseWorkflowName`Optional
+##### `srcdir`Required
```typescript
-public readonly releaseWorkflowName: string;
+public readonly srcdir: string;
```
- *Type:* string
-- *Default:* "Release"
-The name of the default release workflow.
+The directory in which the .ts sources reside.
---
-##### `releaseWorkflowSetupSteps`Optional
+##### `testdir`Required
```typescript
-public readonly releaseWorkflowSetupSteps: JobStep[];
+public readonly testdir: string;
```
-- *Type:* projen.github.workflows.JobStep[]
+- *Type:* string
-A set of workflow steps to execute in order to setup the workflow container.
+The directory in which tests reside.
---
-##### `versionrcOptions`Optional
+##### `tsconfigDev`Required
```typescript
-public readonly versionrcOptions: {[ key: string ]: any};
+public readonly tsconfigDev: TypescriptConfig;
```
-- *Type:* {[ key: string ]: any}
-- *Default:* standard configuration applicable for GitHub repositories
-
-Custom configuration used when creating changelog with standard-version package.
+- *Type:* projen.javascript.TypescriptConfig
-Given values either append to default configuration or overwrite values in it.
+A typescript configuration file which covers all files (sources, tests, projen).
---
-##### `workflowContainerImage`Optional
+##### `watchTask`Required
```typescript
-public readonly workflowContainerImage: string;
+public readonly watchTask: Task;
```
-- *Type:* string
-- *Default:* default image
+- *Type:* projen.Task
-Container image to use for GitHub workflows.
+The "watch" task.
---
-##### `workflowRunsOn`Optional
+##### `docgen`Optional
```typescript
-public readonly workflowRunsOn: string[];
+public readonly docgen: boolean;
```
-- *Type:* string[]
-- *Default:* ["ubuntu-latest"]
-
-Github Runner selection labels.
+- *Type:* boolean
---
-##### `defaultReleaseBranch`Required
+##### `eslint`Optional
```typescript
-public readonly defaultReleaseBranch: string;
+public readonly eslint: Eslint;
```
-- *Type:* string
-- *Default:* "main"
-
-The name of the main release branch.
+- *Type:* projen.javascript.Eslint
---
-##### `artifactsDirectory`Optional
+##### `tsconfig`Optional
```typescript
-public readonly artifactsDirectory: string;
+public readonly tsconfig: TypescriptConfig;
```
-- *Type:* string
-- *Default:* "dist"
-
-A directory which will contain build artifacts.
+- *Type:* projen.javascript.TypescriptConfig
---
-##### `autoApproveUpgrades`Optional
+##### `tsconfigEslint`Optional
```typescript
-public readonly autoApproveUpgrades: boolean;
+public readonly tsconfigEslint: TypescriptConfig;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.javascript.TypescriptConfig
-Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
+---
-Throw if set to true but `autoApproveOptions` are not defined.
+#### Constants
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
---
-##### `buildWorkflow`Optional
+##### `DEFAULT_TASK`Required
```typescript
-public readonly buildWorkflow: boolean;
+public readonly DEFAULT_TASK: string;
```
-- *Type:* boolean
-- *Default:* true if not a subproject
+- *Type:* string
-Define a GitHub workflow for building PRs.
+The name of the default task (the task executed when `projen` is run without arguments).
+
+Normally
+this task should synthesize the project files.
---
-##### `buildWorkflowTriggers`Optional
+### Cdk8sTeamNodeProject
+
+#### Initializers
```typescript
-public readonly buildWorkflowTriggers: Triggers;
-```
+import { Cdk8sTeamNodeProject } from '@cdk8s/projen-common'
-- *Type:* projen.github.workflows.Triggers
-- *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
+new Cdk8sTeamNodeProject(options: Cdk8sTeamNodeProjectOptions)
+```
-Build workflow triggers.
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| options
| Cdk8sTeamNodeProjectOptions
| *No description.* |
---
-##### `bundlerOptions`Optional
+##### `options`Required
-```typescript
-public readonly bundlerOptions: BundlerOptions;
-```
+- *Type:* Cdk8sTeamNodeProjectOptions
-- *Type:* projen.javascript.BundlerOptions
+---
-Options for `Bundler`.
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
+| addGitIgnore
| Adds a .gitignore pattern. |
+| addPackageIgnore
| Exclude these files from the bundled package. |
+| addTask
| Adds a new task to this project. |
+| addTip
| Prints a "tip" message during synthesis. |
+| annotateGenerated
| Marks the provided file(s) as being generated. |
+| postSynthesize
| Called after all components are synthesized. |
+| preSynthesize
| Called before all components are synthesized. |
+| removeTask
| Removes a task from a project. |
+| runTaskCommand
| Returns the shell command to execute in order to run a task. |
+| synth
| Synthesize all project files into `outdir`. |
+| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
+| tryFindJsonFile
| Finds a json file by name. |
+| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
+| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
+| addBins
| *No description.* |
+| addBundledDeps
| Defines bundled dependencies. |
+| addCompileCommand
| DEPRECATED. |
+| addDeps
| Defines normal dependencies. |
+| addDevDeps
| Defines development/test dependencies. |
+| addFields
| Directly set fields in `package.json`. |
+| addKeywords
| Adds keywords to package.json (deduplicated). |
+| addPeerDeps
| Defines peer dependencies. |
+| addScripts
| Replaces the contents of multiple npm package.json scripts. |
+| addTestCommand
| DEPRECATED. |
+| hasScript
| Indicates if a script by the name name is defined. |
+| removeScript
| Removes the npm script (always successful). |
+| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
+| setScript
| Replaces the contents of an npm package.json script. |
---
-##### `codeCov`Optional
+##### `toString`
```typescript
-public readonly codeCov: boolean;
+public toString(): string
```
-- *Type:* boolean
-- *Default:* false
-
-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`.
-
----
+Returns a string representation of this construct.
-##### `codeCovTokenSecret`Optional
+##### `addExcludeFromCleanup`
```typescript
-public readonly codeCovTokenSecret: string;
+public addExcludeFromCleanup(globs: string): void
```
+Exclude the matching files from pre-synth cleanup.
+
+Can be used when, for example, some
+source files include the projen marker and we don't want them to be erased during synth.
+
+###### `globs`Required
+
- *Type:* string
-- *Default:* if this option is not specified, only public repositories are supported
-Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
+The glob patterns to match.
---
-##### `copyrightOwner`Optional
+##### `addGitIgnore`
```typescript
-public readonly copyrightOwner: string;
+public addGitIgnore(pattern: string): void
```
+Adds a .gitignore pattern.
+
+###### `pattern`Required
+
- *Type:* string
-- *Default:* defaults to the value of authorName or "" if `authorName` is undefined.
-License copyright owner.
+The glob pattern to ignore.
---
-##### `copyrightPeriod`Optional
+##### `addPackageIgnore`
```typescript
-public readonly copyrightPeriod: string;
+public addPackageIgnore(pattern: string): void
```
-- *Type:* string
-- *Default:* current year
+Exclude these files from the bundled package.
-The copyright years to put in the LICENSE file.
+Implemented by project types based on the
+packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
+
+###### `pattern`Required
+
+- *Type:* string
---
-##### `dependabot`Optional
+##### `addTask`
```typescript
-public readonly dependabot: boolean;
+public addTask(name: string, props?: TaskOptions): Task
```
-- *Type:* boolean
-- *Default:* false
+Adds a new task to this project.
-Use dependabot to handle dependency upgrades.
+This will fail if the project already has
+a task with this name.
-Cannot be used in conjunction with `depsUpgrade`.
+###### `name`Required
----
+- *Type:* string
-##### `dependabotOptions`Optional
+The task name to add.
-```typescript
-public readonly dependabotOptions: DependabotOptions;
-```
+---
-- *Type:* projen.github.DependabotOptions
-- *Default:* default options
+###### `props`Optional
-Options for dependabot.
+- *Type:* projen.TaskOptions
+
+Task properties.
---
-##### `depsUpgrade`Optional
+##### ~~`addTip`~~
```typescript
-public readonly depsUpgrade: boolean;
+public addTip(message: string): void
```
-- *Type:* boolean
-- *Default:* true
+Prints a "tip" message during synthesis.
-Use github workflows to handle dependency upgrades.
+###### `message`Required
-Cannot be used in conjunction with `dependabot`.
+- *Type:* string
+
+The message.
---
-##### `depsUpgradeOptions`Optional
+##### `annotateGenerated`
```typescript
-public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
+public annotateGenerated(glob: string): void
```
-- *Type:* projen.javascript.UpgradeDependenciesOptions
-- *Default:* default options
+Marks the provided file(s) as being generated.
+
+This is achieved using the
+github-linguist attributes. Generated files do not count against the
+repository statistics and language breakdown.
+
+> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
+
+###### `glob`Required
+
+- *Type:* string
-Options for `UpgradeDependencies`.
+the glob pattern to match (could be a file path).
---
-##### `gitignore`Optional
+##### `postSynthesize`
```typescript
-public readonly gitignore: string[];
+public postSynthesize(): void
```
-- *Type:* string[]
-
-Additional entries to .gitignore.
+Called after all components are synthesized.
----
+Order is *not* guaranteed.
-##### `jest`Optional
+##### `preSynthesize`
```typescript
-public readonly jest: boolean;
+public preSynthesize(): void
```
-- *Type:* boolean
-- *Default:* true
-
-Setup jest unit tests.
-
----
+Called before all components are synthesized.
-##### `jestOptions`Optional
+##### `removeTask`
```typescript
-public readonly jestOptions: JestOptions;
+public removeTask(name: string): Task
```
-- *Type:* projen.javascript.JestOptions
-- *Default:* default options
+Removes a task from a project.
-Jest options.
+###### `name`Required
+
+- *Type:* string
+
+The name of the task to remove.
---
-##### `mutableBuild`Optional
+##### `runTaskCommand`
```typescript
-public readonly mutableBuild: boolean;
+public runTaskCommand(task: Task): string
```
-- *Type:* boolean
-- *Default:* true
+Returns the shell command to execute in order to run a task.
-Automatically update files modified during builds to pull-request branches.
+This will
+typically be `npx projen TASK`.
-This means
-that any files synthesized by projen or e.g. test snapshots will always be up-to-date
-before a PR is merged.
+###### `task`Required
-Implies that PR builds do not have anti-tamper checks.
+- *Type:* projen.Task
----
+The task for which the command is required.
-##### ~~`npmignore`~~Optional
+---
-- *Deprecated:* - use `project.addPackageIgnore`
+##### `synth`
```typescript
-public readonly npmignore: string[];
+public synth(): void
```
-- *Type:* string[]
-
-Additional entries to .npmignore.
+Synthesize all project files into `outdir`.
----
+1. Call "this.preSynthesize()"
+2. Delete all generated files
+3. Synthesize all subprojects
+4. Synthesize all components of this project
+5. Call "postSynthesize()" for all components of this project
+6. Call "this.postSynthesize()"
-##### `npmignoreEnabled`Optional
+##### `tryFindFile`
```typescript
-public readonly npmignoreEnabled: boolean;
+public tryFindFile(filePath: string): FileBase
```
-- *Type:* boolean
-- *Default:* true
+Finds a file at the specified relative path within this project and all its subprojects.
-Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
+
+If this path is relative, it will be resolved
+from the root of _this_ project.
---
-##### `npmIgnoreOptions`Optional
+##### ~~`tryFindJsonFile`~~
```typescript
-public readonly npmIgnoreOptions: IgnoreFileOptions;
+public tryFindJsonFile(filePath: string): JsonFile
```
-- *Type:* projen.IgnoreFileOptions
+Finds a json file by name.
-Configuration options for .npmignore file.
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
---
-##### `package`Optional
+##### `tryFindObjectFile`
```typescript
-public readonly package: boolean;
+public tryFindObjectFile(filePath: string): ObjectFile
```
-- *Type:* boolean
-- *Default:* true
+Finds an object file (like JsonFile, YamlFile, etc.) by name.
-Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
---
-##### `prettier`Optional
+##### `tryRemoveFile`
```typescript
-public readonly prettier: boolean;
+public tryRemoveFile(filePath: string): FileBase
```
-- *Type:* boolean
-- *Default:* false
+Finds a file at the specified relative path within this project and removes it.
-Setup prettier.
+###### `filePath`Required
+
+- *Type:* string
+
+The file path.
+
+If this path is relative, it will be
+resolved from the root of _this_ project.
---
-##### `prettierOptions`Optional
+##### `addBins`
```typescript
-public readonly prettierOptions: PrettierOptions;
+public addBins(bins: {[ key: string ]: string}): void
```
-- *Type:* projen.javascript.PrettierOptions
-- *Default:* default options
+###### `bins`Required
-Prettier options.
+- *Type:* {[ key: string ]: string}
---
-##### `projenDevDependency`Optional
+##### `addBundledDeps`
```typescript
-public readonly projenDevDependency: boolean;
+public addBundledDeps(deps: string): void
```
-- *Type:* boolean
-- *Default:* true
-
-Indicates of "projen" should be installed as a devDependency.
+Defines bundled dependencies.
----
+Bundled dependencies will be added as normal dependencies as well as to the
+`bundledDependencies` section of your `package.json`.
-##### `projenrcJs`Optional
+###### `deps`Required
-```typescript
-public readonly projenrcJs: boolean;
-```
+- *Type:* string
-- *Type:* boolean
-- *Default:* true if projenrcJson is false
+Names modules to install.
-Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `projenrcJsOptions`Optional
+##### ~~`addCompileCommand`~~
```typescript
-public readonly projenrcJsOptions: ProjenrcOptions;
+public addCompileCommand(commands: string): void
```
-- *Type:* projen.javascript.ProjenrcOptions
-- *Default:* default options
+DEPRECATED.
-Options for .projenrc.js.
+###### `commands`Required
+
+- *Type:* string
---
-##### `projenVersion`Optional
+##### `addDeps`
```typescript
-public readonly projenVersion: string;
+public addDeps(deps: string): void
```
+Defines normal dependencies.
+
+###### `deps`Required
+
- *Type:* string
-- *Default:* Defaults to the latest version.
-Version of projen to install.
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `pullRequestTemplate`Optional
+##### `addDevDeps`
```typescript
-public readonly pullRequestTemplate: boolean;
+public addDevDeps(deps: string): void
```
-- *Type:* boolean
-- *Default:* true
+Defines development/test dependencies.
-Include a GitHub pull request template.
+###### `deps`Required
+
+- *Type:* string
+
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `pullRequestTemplateContents`Optional
+##### `addFields`
```typescript
-public readonly pullRequestTemplateContents: string[];
+public addFields(fields: {[ key: string ]: any}): void
```
-- *Type:* string[]
-- *Default:* default content
+Directly set fields in `package.json`.
-The contents of the pull request template.
+###### `fields`Required
+
+- *Type:* {[ key: string ]: any}
+
+The fields to set.
---
-##### `release`Optional
+##### `addKeywords`
```typescript
-public readonly release: boolean;
+public addKeywords(keywords: string): void
```
-- *Type:* boolean
-- *Default:* true (false for subprojects)
+Adds keywords to package.json (deduplicated).
-Add release management to this project.
+###### `keywords`Required
+
+- *Type:* string
+
+The keywords to add.
---
-##### `releaseToNpm`Optional
+##### `addPeerDeps`
```typescript
-public readonly releaseToNpm: boolean;
+public addPeerDeps(deps: string): void
```
-- *Type:* boolean
-- *Default:* false
-
-Automatically release to npm when new versions are introduced.
-
----
+Defines peer dependencies.
-##### ~~`releaseWorkflow`~~Optional
+When adding peer dependencies, a devDependency will also be added on the
+pinned version of the declared peer. This will ensure that you are testing
+your code against the minimum version required from your consumers.
-- *Deprecated:* see `release`.
+###### `deps`Required
-```typescript
-public readonly releaseWorkflow: boolean;
-```
+- *Type:* string
-- *Type:* boolean
-- *Default:* true if not a subproject
+Names modules to install.
-DEPRECATED: renamed to `release`.
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `workflowBootstrapSteps`Optional
+##### `addScripts`
```typescript
-public readonly workflowBootstrapSteps: JobStep[];
+public addScripts(scripts: {[ key: string ]: string}): void
```
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* "yarn install --frozen-lockfile && yarn projen"
+Replaces the contents of multiple npm package.json scripts.
-Workflow steps to use in order to bootstrap this repo.
+###### `scripts`Required
+
+- *Type:* {[ key: string ]: string}
+
+The scripts to set.
---
-##### `workflowGitIdentity`Optional
+##### ~~`addTestCommand`~~
```typescript
-public readonly workflowGitIdentity: GitIdentity;
+public addTestCommand(commands: string): void
```
-- *Type:* projen.github.GitIdentity
-- *Default:* GitHub Actions
+DEPRECATED.
-The git identity to use in workflows.
+###### `commands`Required
+
+- *Type:* string
---
-##### `workflowNodeVersion`Optional
+##### ~~`hasScript`~~
```typescript
-public readonly workflowNodeVersion: string;
+public hasScript(name: string): boolean
```
+Indicates if a script by the name name is defined.
+
+###### `name`Required
+
- *Type:* string
-- *Default:* same as `minNodeVersion`
-The node version to use in GitHub workflows.
+The name of the script.
---
-##### `workflowPackageCache`Optional
+##### `removeScript`
```typescript
-public readonly workflowPackageCache: boolean;
+public removeScript(name: string): void
```
-- *Type:* boolean
-- *Default:* false
+Removes the npm script (always successful).
-Enable Node.js package cache in GitHub workflows.
+###### `name`Required
+
+- *Type:* string
+
+The name of the script.
---
-##### `disableTsconfig`Optional
+##### `renderWorkflowSetup`
```typescript
-public readonly disableTsconfig: boolean;
+public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
```
-- *Type:* boolean
-- *Default:* false
+Returns the set of workflow steps which should be executed to bootstrap a workflow.
-Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
+###### `options`Optional
+
+- *Type:* projen.javascript.RenderWorkflowSetupOptions
+
+Options.
---
-##### `disableTsconfigDev`Optional
+##### `setScript`
```typescript
-public readonly disableTsconfigDev: boolean;
+public setScript(name: string, command: string): void
```
-- *Type:* boolean
-- *Default:* false
-
-Do not generate a `tsconfig.dev.json` file.
+Replaces the contents of an npm package.json script.
----
+###### `name`Required
-##### `docgen`Optional
+- *Type:* string
-```typescript
-public readonly docgen: boolean;
-```
+The script name.
-- *Type:* boolean
-- *Default:* false
+---
-Docgen by Typedoc.
+###### `command`Required
----
+- *Type:* string
-##### `docsDirectory`Optional
+The command to execute.
-```typescript
-public readonly docsDirectory: string;
-```
+---
-- *Type:* string
-- *Default:* "docs"
+#### Static Functions
-Docs directory.
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if `x` is a construct. |
+| isProject
| Test whether the given construct is a project. |
+| of
| Find the closest ancestor project for given construct. |
---
-##### `entrypointTypes`Optional
+##### `isConstruct`
```typescript
-public readonly entrypointTypes: string;
-```
+import { Cdk8sTeamNodeProject } from '@cdk8s/projen-common'
-- *Type:* string
-- *Default:* .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
+Cdk8sTeamNodeProject.isConstruct(x: any)
+```
-The .d.ts file that includes the type declarations for this module.
+Checks if `x` is a construct.
----
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
-##### `eslint`Optional
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
-```typescript
-public readonly eslint: boolean;
-```
+###### `x`Required
-- *Type:* boolean
-- *Default:* true
+- *Type:* any
-Setup eslint.
+Any object.
---
-##### `eslintOptions`Optional
+##### `isProject`
```typescript
-public readonly eslintOptions: EslintOptions;
+import { Cdk8sTeamNodeProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamNodeProject.isProject(x: any)
```
-- *Type:* projen.javascript.EslintOptions
-- *Default:* opinionated default options
+Test whether the given construct is a project.
-Eslint options.
+###### `x`Required
+
+- *Type:* any
---
-##### `libdir`Optional
+##### `of`
```typescript
-public readonly libdir: string;
+import { Cdk8sTeamNodeProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamNodeProject.of(construct: IConstruct)
```
-- *Type:* string
-- *Default:* "lib"
+Find the closest ancestor project for given construct.
-Typescript artifacts output directory.
+When given a project, this it the project itself.
----
+###### `construct`Required
-##### `projenrcTs`Optional
+- *Type:* constructs.IConstruct
-```typescript
-public readonly projenrcTs: boolean;
-```
+---
-- *Type:* boolean
-- *Default:* false
+#### Properties
-Use TypeScript for your projenrc file (`.projenrc.ts`).
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| buildTask
| projen.Task
| *No description.* |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| compileTask
| projen.Task
| *No description.* |
+| components
| projen.Component[]
| Returns all the components within this project. |
+| deps
| projen.Dependencies
| Project dependencies. |
+| ejected
| boolean
| Whether or not the project is being ejected. |
+| files
| projen.FileBase[]
| All files in this project. |
+| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
+| gitignore
| projen.IgnoreFile
| .gitignore. |
+| logger
| projen.Logger
| Logging utilities. |
+| name
| string
| Project name. |
+| outdir
| string
| Absolute output directory of this project. |
+| packageTask
| projen.Task
| *No description.* |
+| postCompileTask
| projen.Task
| *No description.* |
+| preCompileTask
| projen.Task
| *No description.* |
+| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
+| projenCommand
| string
| The command to use in order to run the projen CLI. |
+| root
| projen.Project
| The root project. |
+| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
+| tasks
| projen.Tasks
| Project tasks. |
+| testTask
| projen.Task
| *No description.* |
+| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
+| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
+| parent
| projen.Project
| A parent project. |
+| projectType
| projen.ProjectType
| *No description.* |
+| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
+| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
+| github
| projen.github.GitHub
| Access all github components. |
+| gitpod
| projen.Gitpod
| Access for Gitpod. |
+| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
+| allowLibraryDependencies
| boolean
| *No description.* |
+| artifactsDirectory
| string
| The build output directory. |
+| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
+| bundler
| projen.javascript.Bundler
| *No description.* |
+| entrypoint
| string
| *No description.* |
+| manifest
| any
| *No description.* |
+| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
+| package
| projen.javascript.NodePackage
| API for managing the node package. |
+| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
+| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
+| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
+| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
+| buildWorkflowJobId
| string
| The job ID of the build workflow. |
+| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
+| maxNodeVersion
| string
| Maximum node version required by this package. |
+| minNodeVersion
| string
| Minimum node.js version required by this package. |
+| npmignore
| projen.IgnoreFile
| The .npmignore file. |
+| prettier
| projen.javascript.Prettier
| *No description.* |
+| publisher
| projen.release.Publisher
| Package publisher. |
+| release
| projen.release.Release
| Release management. |
+| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
---
-##### `projenrcTsOptions`Optional
+##### `node`Required
```typescript
-public readonly projenrcTsOptions: ProjenrcOptions;
+public readonly node: Node;
```
-- *Type:* projen.typescript.ProjenrcOptions
+- *Type:* constructs.Node
-Options for .projenrc.ts.
+The tree node.
---
-##### `sampleCode`Optional
+##### `buildTask`Required
```typescript
-public readonly sampleCode: boolean;
+public readonly buildTask: Task;
```
-- *Type:* boolean
-- *Default:* true
-
-Generate one-time sample in `src/` and `test/` if there are no files there.
+- *Type:* projen.Task
---
-##### `srcdir`Optional
+##### `commitGenerated`Required
```typescript
-public readonly srcdir: string;
+public readonly commitGenerated: boolean;
```
-- *Type:* string
-- *Default:* "src"
+- *Type:* boolean
-Typescript sources directory.
+Whether to commit the managed files by default.
---
-##### `testdir`Optional
+##### `compileTask`Required
```typescript
-public readonly testdir: string;
+public readonly compileTask: Task;
```
-- *Type:* string
-- *Default:* "test"
-
-Jest tests directory. Tests files should be named `xxx.test.ts`.
-
-If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),
-then tests are going to be compiled into `lib/` and executed as javascript.
-If the test directory is outside of `src`, then we configure jest to
-compile the code in-memory.
+- *Type:* projen.Task
---
-##### `tsconfig`Optional
+##### `components`Required
```typescript
-public readonly tsconfig: TypescriptConfigOptions;
+public readonly components: Component[];
```
-- *Type:* projen.javascript.TypescriptConfigOptions
-- *Default:* default options
+- *Type:* projen.Component[]
-Custom TSConfig.
+Returns all the components within this project.
---
-##### `tsconfigDev`Optional
+##### `deps`Required
```typescript
-public readonly tsconfigDev: TypescriptConfigOptions;
+public readonly deps: Dependencies;
```
-- *Type:* projen.javascript.TypescriptConfigOptions
-- *Default:* use the production tsconfig options
+- *Type:* projen.Dependencies
-Custom tsconfig options for the development tsconfig.json file (used for testing).
+Project dependencies.
---
-##### `tsconfigDevFile`Optional
+##### `ejected`Required
```typescript
-public readonly tsconfigDevFile: string;
+public readonly ejected: boolean;
```
-- *Type:* string
-- *Default:* "tsconfig.dev.json"
+- *Type:* boolean
-The name of the development tsconfig.json file.
+Whether or not the project is being ejected.
---
-##### `typescriptVersion`Optional
+##### `files`Required
```typescript
-public readonly typescriptVersion: string;
+public readonly files: FileBase[];
```
-- *Type:* string
-- *Default:* "latest"
-
-TypeScript version to use.
+- *Type:* projen.FileBase[]
-NOTE: Typescript is not semantically versioned and should remain on the
-same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
+All files in this project.
---
-##### `additionalCompilerDependencies`Optional
+##### `gitattributes`Required
```typescript
-public readonly additionalCompilerDependencies: string[];
+public readonly gitattributes: GitAttributesFile;
```
-- *Type:* string[]
-- *Default:* No additional compiler dependencies.
-
-Packages that compile the project apart from the typescript/jsii compiler.
+- *Type:* projen.GitAttributesFile
-Any package that produces a published artifact should be included in this list.
+The .gitattributes file for this repository.
---
-##### `backport`Optional
+##### `gitignore`Required
```typescript
-public readonly backport: boolean;
+public readonly gitignore: IgnoreFile;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* projen.IgnoreFile
-Configure a backport workflow.
+.gitignore.
---
-##### `backportBranches`Optional
+##### `logger`Required
```typescript
-public readonly backportBranches: string[];
+public readonly logger: Logger;
```
-- *Type:* string[]
-- *Default:* Will be derived from PR labels.
+- *Type:* projen.Logger
-Branches to backport to.
+Logging utilities.
---
-##### `repoName`Optional
+##### `name`Required
```typescript
-public readonly repoName: string;
+public readonly name: string;
```
- *Type:* string
-- *Default:* the package name.
-The name of the repository inside the cdk8s-team org where the code of the project is locate in.
+Project name.
---
-##### `golang`Optional
+##### `outdir`Required
```typescript
-public readonly golang: boolean;
+public readonly outdir: string;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* string
-Publish Golang bindings to GitHub.
+Absolute output directory of this project.
---
-##### `golangBranch`Optional
+##### `packageTask`Required
```typescript
-public readonly golangBranch: string;
+public readonly packageTask: Task;
```
-- *Type:* string
-- *Default:* 'main'
-
-Name of the branch in the golang repository to publish to.
+- *Type:* projen.Task
---
-##### `jsiiVersion`Optional
+##### `postCompileTask`Required
```typescript
-public readonly jsiiVersion: string;
+public readonly postCompileTask: Task;
```
-- *Type:* string
-- *Default:* '1.x'
-
-JSII version to use.
+- *Type:* projen.Task
---
-##### `maven`Optional
+##### `preCompileTask`Required
```typescript
-public readonly maven: boolean;
+public readonly preCompileTask: Task;
```
-- *Type:* boolean
-- *Default:* true
-
-Publish Java bindings to Maven.
+- *Type:* projen.Task
---
-##### `nuget`Optional
+##### `projectBuild`Required
```typescript
-public readonly nuget: boolean;
+public readonly projectBuild: ProjectBuild;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.ProjectBuild
-Publish Dotnet bindings to Nuget.
+Manages the build process of the project.
---
-##### `pypi`Optional
+##### `projenCommand`Required
```typescript
-public readonly pypi: boolean;
+public readonly projenCommand: string;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* string
-Publish Python bindings to PyPI.
+The command to use in order to run the projen CLI.
---
-### Cdk8sTeamNodeProjectOptions
-
-Options for `Cdk8sTeamNodeProject`.
-
-#### Initializer
+##### `root`Required
```typescript
-import { Cdk8sTeamNodeProjectOptions } from '@cdk8s/projen-common'
-
-const cdk8sTeamNodeProjectOptions: Cdk8sTeamNodeProjectOptions = { ... }
+public readonly root: Project;
```
-#### Properties
+- *Type:* projen.Project
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| name
| string
| This is the name of your project. |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
-| gitOptions
| projen.GitOptions
| Configuration options for git. |
-| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
-| outdir
| string
| The root directory of the project. |
-| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
-| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
-| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
-| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
-| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
-| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
-| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
-| autoMerge
| boolean
| Enable automatic merging on GitHub. |
-| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
-| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
-| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
-| github
| boolean
| Enable GitHub integration. |
-| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
-| gitpod
| boolean
| Add a Gitpod development environment. |
-| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
-| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
-| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
-| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
-| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
-| readme
| projen.SampleReadmeProps
| The README setup. |
-| stale
| boolean
| Auto-close of stale issues and pull request. |
-| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
-| vscode
| boolean
| Enable VSCode integration. |
-| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
-| authorEmail
| string
| Author's e-mail. |
-| authorName
| string
| Author's name. |
-| authorOrganization
| boolean
| Is the author an organization. |
-| authorUrl
| string
| Author's URL / Website. |
-| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
-| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
-| bugsEmail
| string
| The email address to which issues should be reported. |
-| bugsUrl
| string
| The url to your project's issue tracker. |
-| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
-| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
-| deps
| string[]
| Runtime dependencies of this module. |
-| description
| string
| The description is just a string that helps people understand the purpose of the package. |
-| devDeps
| string[]
| Build dependencies for this module. |
-| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
-| homepage
| string
| Package's Homepage / Website. |
-| keywords
| string[]
| Keywords to include in `package.json`. |
-| license
| string
| License's SPDX identifier. |
-| licensed
| boolean
| Indicates if a license should be added. |
-| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
-| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
-| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
-| npmRegistry
| string
| The host name of the npm registry to publish to. |
-| npmRegistryUrl
| string
| The base URL of the npm package registry. |
-| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
-| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
-| packageName
| string
| The "name" in package.json. |
-| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
-| peerDeps
| string[]
| Peer dependencies for this module. |
-| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
-| repository
| string
| The repository is the location where the actual code for your package lives. |
-| repositoryDirectory
| string
| 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. |
-| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
-| scripts
| {[ key: string ]: string}
| npm scripts to include. |
-| stability
| string
| Package's Stability. |
-| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
-| majorVersion
| number
| Major version to release from the default branch. |
-| minMajorVersion
| number
| Minimal Major version to release. |
-| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
-| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
-| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
-| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
-| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
-| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
-| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
-| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
-| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
-| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
-| releaseSchedule
| string
| CRON schedule to trigger new releases. |
-| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
-| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
-| releaseWorkflowName
| string
| The name of the default release workflow. |
-| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
-| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
-| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
-| workflowRunsOn
| string[]
| Github Runner selection labels. |
-| defaultReleaseBranch
| string
| The name of the main release branch. |
-| artifactsDirectory
| string
| A directory which will contain build artifacts. |
-| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
-| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
-| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
-| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
-| codeCov
| boolean
| 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`. |
-| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
-| copyrightOwner
| string
| License copyright owner. |
-| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
-| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
-| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
-| depsUpgrade
| boolean
| Use github workflows to handle dependency upgrades. |
-| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
-| gitignore
| string[]
| Additional entries to .gitignore. |
-| jest
| boolean
| Setup jest unit tests. |
-| jestOptions
| projen.javascript.JestOptions
| Jest options. |
-| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
-| npmignore
| string[]
| Additional entries to .npmignore. |
-| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
-| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
-| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
-| prettier
| boolean
| Setup prettier. |
-| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
-| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
-| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
-| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
-| projenVersion
| string
| Version of projen to install. |
-| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
-| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
-| release
| boolean
| Add release management to this project. |
-| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
-| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
-| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
-| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
-| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
-| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
-| backport
| boolean
| Configure a backport workflow. |
-| backportBranches
| string[]
| Branches to backport to. |
-| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
+The root project.
+
+---
+
+##### `subprojects`Required
+
+```typescript
+public readonly subprojects: Project[];
+```
+
+- *Type:* projen.Project[]
+
+Returns all the subprojects within this project.
---
-##### `name`Required
+##### `tasks`Required
```typescript
-public readonly name: string;
+public readonly tasks: Tasks;
```
-- *Type:* string
-- *Default:* $BASEDIR
+- *Type:* projen.Tasks
-This is the name of your project.
+Project tasks.
---
-##### `commitGenerated`Optional
+##### `testTask`Required
```typescript
-public readonly commitGenerated: boolean;
+public readonly testTask: Task;
```
-- *Type:* boolean
-- *Default:* true
-
-Whether to commit the managed files by default.
+- *Type:* projen.Task
---
-##### `gitIgnoreOptions`Optional
+##### `defaultTask`Optional
```typescript
-public readonly gitIgnoreOptions: IgnoreFileOptions;
+public readonly defaultTask: Task;
```
-- *Type:* projen.IgnoreFileOptions
+- *Type:* projen.Task
-Configuration options for .gitignore file.
+This is the "default" task, the one that executes "projen".
+
+Undefined if
+the project is being ejected.
---
-##### `gitOptions`Optional
+##### `initProject`Optional
```typescript
-public readonly gitOptions: GitOptions;
+public readonly initProject: InitProject;
```
-- *Type:* projen.GitOptions
+- *Type:* projen.InitProject
-Configuration options for git.
+The options used when this project is bootstrapped via `projen new`.
+
+It
+includes the original set of options passed to the CLI and also the JSII
+FQN of the project type.
---
-##### `logging`Optional
+##### `parent`Optional
```typescript
-public readonly logging: LoggerOptions;
+public readonly parent: Project;
```
-- *Type:* projen.LoggerOptions
-- *Default:* {}
+- *Type:* projen.Project
-Configure logging options such as verbosity.
+A parent project.
+
+If undefined, this is the root project.
---
-##### `outdir`Optional
+##### `projectType`Required
```typescript
-public readonly outdir: string;
+public readonly projectType: ProjectType;
```
-- *Type:* string
-- *Default:* "."
+- *Type:* projen.ProjectType
-The root directory of the project.
+---
-Relative to this directory, all files are synthesized.
+##### `autoApprove`Optional
-If this project has a parent, this directory is relative to the parent
-directory and it cannot be the same as the parent or any of it's other
-sub-projects.
+```typescript
+public readonly autoApprove: AutoApprove;
+```
+
+- *Type:* projen.github.AutoApprove
+
+Auto approve set up for this project.
---
-##### `parent`Optional
+##### `devContainer`Optional
```typescript
-public readonly parent: Project;
+public readonly devContainer: DevContainer;
```
-- *Type:* projen.Project
+- *Type:* projen.vscode.DevContainer
-The parent project, if this project is part of a bigger project.
+Access for .devcontainer.json (used for GitHub Codespaces).
+
+This will be `undefined` if devContainer boolean is false
---
-##### `projenCommand`Optional
+##### `github`Optional
```typescript
-public readonly projenCommand: string;
+public readonly github: GitHub;
```
-- *Type:* string
-- *Default:* "npx projen"
+- *Type:* projen.github.GitHub
-The shell command to use in order to run the projen CLI.
+Access all github components.
-Can be used to customize in special environments.
+This will be `undefined` for subprojects.
---
-##### `projenrcJson`Optional
+##### `gitpod`Optional
```typescript
-public readonly projenrcJson: boolean;
+public readonly gitpod: Gitpod;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* projen.Gitpod
-Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
+Access for Gitpod.
+
+This will be `undefined` if gitpod boolean is false
---
-##### `projenrcJsonOptions`Optional
+##### `vscode`Optional
```typescript
-public readonly projenrcJsonOptions: ProjenrcJsonOptions;
+public readonly vscode: VsCode;
```
-- *Type:* projen.ProjenrcJsonOptions
-- *Default:* default options
+- *Type:* projen.vscode.VsCode
-Options for .projenrc.json.
+Access all VSCode components.
+
+This will be `undefined` for subprojects.
---
-##### `renovatebot`Optional
+##### ~~`allowLibraryDependencies`~~Required
+
+- *Deprecated:* use `package.allowLibraryDependencies`
```typescript
-public readonly renovatebot: boolean;
+public readonly allowLibraryDependencies: boolean;
```
- *Type:* boolean
-- *Default:* false
-Use renovatebot to handle dependency upgrades.
+---
+
+##### `artifactsDirectory`Required
+
+```typescript
+public readonly artifactsDirectory: string;
+```
+
+- *Type:* string
+
+The build output directory.
+
+An npm tarball will be created under the `js`
+subdirectory. For example, if this is set to `dist` (the default), the npm
+tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
---
-##### `renovatebotOptions`Optional
+##### `artifactsJavascriptDirectory`Required
```typescript
-public readonly renovatebotOptions: RenovatebotOptions;
+public readonly artifactsJavascriptDirectory: string;
```
-- *Type:* projen.RenovatebotOptions
-- *Default:* default options
+- *Type:* string
-Options for renovatebot.
+The location of the npm tarball after build (`${artifactsDirectory}/js`).
---
-##### `autoApproveOptions`Optional
+##### `bundler`Required
```typescript
-public readonly autoApproveOptions: AutoApproveOptions;
+public readonly bundler: Bundler;
```
-- *Type:* projen.github.AutoApproveOptions
-- *Default:* auto approve is disabled
+- *Type:* projen.javascript.Bundler
-Enable and configure the 'auto approve' workflow.
+---
+
+##### ~~`entrypoint`~~Required
+
+- *Deprecated:* use `package.entrypoint`
+
+```typescript
+public readonly entrypoint: string;
+```
+
+- *Type:* string
---
-##### `autoMerge`Optional
+##### ~~`manifest`~~Required
+
+- *Deprecated:* use `package.addField(x, y)`
```typescript
-public readonly autoMerge: boolean;
+public readonly manifest: any;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* any
-Enable automatic merging on GitHub.
+---
-Has no effect if `github.mergify`
-is set to false.
+##### `npmrc`Required
+
+```typescript
+public readonly npmrc: NpmConfig;
+```
+
+- *Type:* projen.javascript.NpmConfig
+
+The .npmrc file.
---
-##### `autoMergeOptions`Optional
+##### `package`Required
```typescript
-public readonly autoMergeOptions: AutoMergeOptions;
+public readonly package: NodePackage;
```
-- *Type:* projen.github.AutoMergeOptions
-- *Default:* see defaults in `AutoMergeOptions`
+- *Type:* projen.javascript.NodePackage
-Configure options for automatic merging on GitHub.
+API for managing the node package.
-Has no effect if
-`github.mergify` or `autoMerge` is set to false.
+---
+
+##### ~~`packageManager`~~Required
+
+- *Deprecated:* use `package.packageManager`
+
+```typescript
+public readonly packageManager: NodePackageManager;
+```
+
+- *Type:* projen.javascript.NodePackageManager
+
+The package manager to use.
---
-##### `clobber`Optional
+##### `runScriptCommand`Required
```typescript
-public readonly clobber: boolean;
+public readonly runScriptCommand: string;
```
-- *Type:* boolean
-- *Default:* true, but false for subprojects
+- *Type:* string
-Add a `clobber` task which resets the repo to origin.
+The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
---
-##### `devContainer`Optional
+##### `autoMerge`Optional
```typescript
-public readonly devContainer: boolean;
+public readonly autoMerge: AutoMerge;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* projen.github.AutoMerge
-Add a VSCode development environment (used for GitHub Codespaces).
+Component that sets up mergify for merging approved pull requests.
---
-##### `github`Optional
+##### `buildWorkflow`Optional
```typescript
-public readonly github: boolean;
+public readonly buildWorkflow: BuildWorkflow;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.build.BuildWorkflow
-Enable GitHub integration.
+The PR build GitHub workflow.
-Enabled by default for root projects. Disabled for non-root projects.
+`undefined` if `buildWorkflow` is disabled.
---
-##### `githubOptions`Optional
+##### `buildWorkflowJobId`Optional
```typescript
-public readonly githubOptions: GitHubOptions;
+public readonly buildWorkflowJobId: string;
```
-- *Type:* projen.github.GitHubOptions
-- *Default:* see GitHubOptions
+- *Type:* string
-Options for GitHub integration.
+The job ID of the build workflow.
---
-##### `gitpod`Optional
+##### `jest`Optional
```typescript
-public readonly gitpod: boolean;
+public readonly jest: Jest;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* projen.javascript.Jest
-Add a Gitpod development environment.
+The Jest configuration (if enabled).
---
-##### ~~`mergify`~~Optional
-
-- *Deprecated:* use `githubOptions.mergify` instead
+##### `maxNodeVersion`Optional
```typescript
-public readonly mergify: boolean;
+public readonly maxNodeVersion: string;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* string
-Whether mergify should be enabled on this repository or not.
+Maximum node version required by this package.
---
-##### ~~`mergifyOptions`~~Optional
-
-- *Deprecated:* use `githubOptions.mergifyOptions` instead
+##### `minNodeVersion`Optional
```typescript
-public readonly mergifyOptions: MergifyOptions;
+public readonly minNodeVersion: string;
```
-- *Type:* projen.github.MergifyOptions
-- *Default:* default options
+- *Type:* string
-Options for mergify.
+Minimum node.js version required by this package.
---
-##### ~~`projectType`~~Optional
-
-- *Deprecated:* no longer supported at the base project level
+##### `npmignore`Optional
```typescript
-public readonly projectType: ProjectType;
+public readonly npmignore: IgnoreFile;
```
-- *Type:* projen.ProjectType
-- *Default:* ProjectType.UNKNOWN
+- *Type:* projen.IgnoreFile
-Which type of project this is (library/app).
+The .npmignore file.
---
-##### `projenCredentials`Optional
+##### `prettier`Optional
```typescript
-public readonly projenCredentials: GithubCredentials;
+public readonly prettier: Prettier;
```
-- *Type:* projen.github.GithubCredentials
-- *Default:* use a personal access token named PROJEN_GITHUB_TOKEN
-
-Choose a method of providing GitHub API access for projen workflows.
+- *Type:* projen.javascript.Prettier
---
-##### ~~`projenTokenSecret`~~Optional
+##### ~~`publisher`~~Optional
-- *Deprecated:* use `projenCredentials`
+- *Deprecated:* use `release.publisher`.
```typescript
-public readonly projenTokenSecret: string;
+public readonly publisher: Publisher;
```
-- *Type:* string
-- *Default:* "PROJEN_GITHUB_TOKEN"
+- *Type:* projen.release.Publisher
-The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
+Package publisher.
-This token needs to have the `repo`, `workflows`
-and `packages` scope.
+This will be `undefined` if the project does not have a
+release workflow.
---
-##### `readme`Optional
+##### `release`Optional
```typescript
-public readonly readme: SampleReadmeProps;
+public readonly release: Release;
```
-- *Type:* projen.SampleReadmeProps
-- *Default:* { filename: 'README.md', contents: '# replace this' }
+- *Type:* projen.release.Release
-The README setup.
+Release management.
---
-*Example*
+##### `upgradeWorkflow`Optional
```typescript
-"{ filename: 'readme.md', contents: '# title' }"
+public readonly upgradeWorkflow: UpgradeDependencies;
```
+- *Type:* projen.javascript.UpgradeDependencies
-##### `stale`Optional
-
-```typescript
-public readonly stale: boolean;
-```
+The upgrade workflow.
-- *Type:* boolean
-- *Default:* false
+---
-Auto-close of stale issues and pull request.
+#### Constants
-See `staleOptions` for options.
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
---
-##### `staleOptions`Optional
+##### `DEFAULT_TASK`Required
```typescript
-public readonly staleOptions: StaleOptions;
+public readonly DEFAULT_TASK: string;
```
-- *Type:* projen.github.StaleOptions
-- *Default:* see defaults in `StaleOptions`
+- *Type:* string
-Auto-close stale issues and pull requests.
+The name of the default task (the task executed when `projen` is run without arguments).
-To disable set `stale` to `false`.
+Normally
+this task should synthesize the project files.
---
-##### `vscode`Optional
+### Cdk8sTeamTypeScriptProject
+
+#### Initializers
```typescript
-public readonly vscode: boolean;
+import { Cdk8sTeamTypeScriptProject } from '@cdk8s/projen-common'
+
+new Cdk8sTeamTypeScriptProject(options: Cdk8sTeamTypeScriptProjectOptions)
```
-- *Type:* boolean
-- *Default:* true
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| options
| Cdk8sTeamTypeScriptProjectOptions
| *No description.* |
-Enable VSCode integration.
+---
-Enabled by default for root projects. Disabled for non-root projects.
+##### `options`Required
+
+- *Type:* Cdk8sTeamTypeScriptProjectOptions
---
-##### `allowLibraryDependencies`Optional
+#### Methods
-```typescript
-public readonly allowLibraryDependencies: boolean;
-```
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
+| addGitIgnore
| Adds a .gitignore pattern. |
+| addPackageIgnore
| Exclude these files from the bundled package. |
+| addTask
| Adds a new task to this project. |
+| addTip
| Prints a "tip" message during synthesis. |
+| annotateGenerated
| Marks the provided file(s) as being generated. |
+| postSynthesize
| Called after all components are synthesized. |
+| preSynthesize
| Called before all components are synthesized. |
+| removeTask
| Removes a task from a project. |
+| runTaskCommand
| Returns the shell command to execute in order to run a task. |
+| synth
| Synthesize all project files into `outdir`. |
+| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
+| tryFindJsonFile
| Finds a json file by name. |
+| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
+| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
+| addBins
| *No description.* |
+| addBundledDeps
| Defines bundled dependencies. |
+| addCompileCommand
| DEPRECATED. |
+| addDeps
| Defines normal dependencies. |
+| addDevDeps
| Defines development/test dependencies. |
+| addFields
| Directly set fields in `package.json`. |
+| addKeywords
| Adds keywords to package.json (deduplicated). |
+| addPeerDeps
| Defines peer dependencies. |
+| addScripts
| Replaces the contents of multiple npm package.json scripts. |
+| addTestCommand
| DEPRECATED. |
+| hasScript
| Indicates if a script by the name name is defined. |
+| removeScript
| Removes the npm script (always successful). |
+| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
+| setScript
| Replaces the contents of an npm package.json script. |
-- *Type:* boolean
-- *Default:* true
+---
-Allow the project to include `peerDependencies` and `bundledDependencies`.
+##### `toString`
-This is normally only allowed for libraries. For apps, there's no meaning
-for specifying these.
+```typescript
+public toString(): string
+```
----
+Returns a string representation of this construct.
-##### `authorEmail`Optional
+##### `addExcludeFromCleanup`
```typescript
-public readonly authorEmail: string;
+public addExcludeFromCleanup(globs: string): void
```
+Exclude the matching files from pre-synth cleanup.
+
+Can be used when, for example, some
+source files include the projen marker and we don't want them to be erased during synth.
+
+###### `globs`Required
+
- *Type:* string
-Author's e-mail.
+The glob patterns to match.
---
-##### `authorName`Optional
+##### `addGitIgnore`
```typescript
-public readonly authorName: string;
+public addGitIgnore(pattern: string): void
```
+Adds a .gitignore pattern.
+
+###### `pattern`Required
+
- *Type:* string
-Author's name.
+The glob pattern to ignore.
---
-##### `authorOrganization`Optional
+##### `addPackageIgnore`
```typescript
-public readonly authorOrganization: boolean;
+public addPackageIgnore(pattern: string): void
```
-- *Type:* boolean
+Exclude these files from the bundled package.
-Is the author an organization.
+Implemented by project types based on the
+packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
+
+###### `pattern`Required
+
+- *Type:* string
---
-##### `authorUrl`Optional
+##### `addTask`
```typescript
-public readonly authorUrl: string;
+public addTask(name: string, props?: TaskOptions): Task
```
+Adds a new task to this project.
+
+This will fail if the project already has
+a task with this name.
+
+###### `name`Required
+
- *Type:* string
-Author's URL / Website.
+The task name to add.
---
-##### `autoDetectBin`Optional
-
-```typescript
-public readonly autoDetectBin: boolean;
-```
+###### `props`Optional
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.TaskOptions
-Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
+Task properties.
---
-##### `bin`Optional
+##### ~~`addTip`~~
```typescript
-public readonly bin: {[ key: string ]: string};
+public addTip(message: string): void
```
-- *Type:* {[ key: string ]: string}
+Prints a "tip" message during synthesis.
-Binary programs vended with your module.
+###### `message`Required
-You can use this option to add/customize how binaries are represented in
-your `package.json`, but unless `autoDetectBin` is `false`, every
-executable file under `bin` will automatically be added to this section.
+- *Type:* string
+
+The message.
---
-##### `bugsEmail`Optional
+##### `annotateGenerated`
```typescript
-public readonly bugsEmail: string;
+public annotateGenerated(glob: string): void
```
-- *Type:* string
-
-The email address to which issues should be reported.
+Marks the provided file(s) as being generated.
----
+This is achieved using the
+github-linguist attributes. Generated files do not count against the
+repository statistics and language breakdown.
-##### `bugsUrl`Optional
+> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
-```typescript
-public readonly bugsUrl: string;
-```
+###### `glob`Required
- *Type:* string
-The url to your project's issue tracker.
+the glob pattern to match (could be a file path).
---
-##### `bundledDeps`Optional
+##### `postSynthesize`
```typescript
-public readonly bundledDeps: string[];
+public postSynthesize(): void
```
-- *Type:* string[]
+Called after all components are synthesized.
-List of dependencies to bundle into this module.
+Order is *not* guaranteed.
-These modules will be
-added both to the `dependencies` section and `bundledDependencies` section of
-your `package.json`.
+##### `preSynthesize`
-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.
+```typescript
+public preSynthesize(): void
+```
----
+Called before all components are synthesized.
-##### `codeArtifactOptions`Optional
+##### `removeTask`
```typescript
-public readonly codeArtifactOptions: CodeArtifactOptions;
+public removeTask(name: string): Task
```
-- *Type:* projen.javascript.CodeArtifactOptions
-- *Default:* undefined
+Removes a task from a project.
-Options for npm packages using AWS CodeArtifact.
+###### `name`Required
-This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
+- *Type:* string
+
+The name of the task to remove.
---
-##### `deps`Optional
+##### `runTaskCommand`
```typescript
-public readonly deps: string[];
+public runTaskCommand(task: Task): string
```
-- *Type:* string[]
-- *Default:* []
+Returns the shell command to execute in order to run a task.
-Runtime dependencies of this module.
+This will
+typically be `npx projen TASK`.
-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.
+###### `task`Required
+
+- *Type:* projen.Task
+
+The task for which the command is required.
---
-*Example*
+##### `synth`
```typescript
-[ 'express', 'lodash', 'foo@^2' ]
+public synth(): void
```
+Synthesize all project files into `outdir`.
-##### `description`Optional
+1. Call "this.preSynthesize()"
+2. Delete all generated files
+3. Synthesize all subprojects
+4. Synthesize all components of this project
+5. Call "postSynthesize()" for all components of this project
+6. Call "this.postSynthesize()"
+
+##### `tryFindFile`
```typescript
-public readonly description: string;
+public tryFindFile(filePath: string): FileBase
```
+Finds a file at the specified relative path within this project and all its subprojects.
+
+###### `filePath`Required
+
- *Type:* string
-The description is just a string that helps people understand the purpose of the package.
+The file path.
-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
+If this path is relative, it will be resolved
+from the root of _this_ project.
---
-##### `devDeps`Optional
+##### ~~`tryFindJsonFile`~~
```typescript
-public readonly devDeps: string[];
+public tryFindJsonFile(filePath: string): JsonFile
```
-- *Type:* string[]
-- *Default:* []
+Finds a json file by name.
-Build dependencies for this module.
+###### `filePath`Required
-These dependencies will only be
-available in your build environment but will not be fetched when this
-module is consumed.
+- *Type:* string
-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.
+The file path.
---
-*Example*
+##### `tryFindObjectFile`
```typescript
-[ 'typescript', '@types/express' ]
+public tryFindObjectFile(filePath: string): ObjectFile
```
+Finds an object file (like JsonFile, YamlFile, etc.) by name.
-##### `entrypoint`Optional
-
-```typescript
-public readonly entrypoint: string;
-```
+###### `filePath`Required
- *Type:* string
-- *Default:* "lib/index.js"
-
-Module entrypoint (`main` in `package.json`).
-Set to an empty string to not include `main` in your package.json
+The file path.
---
-##### `homepage`Optional
+##### `tryRemoveFile`
```typescript
-public readonly homepage: string;
+public tryRemoveFile(filePath: string): FileBase
```
+Finds a file at the specified relative path within this project and removes it.
+
+###### `filePath`Required
+
- *Type:* string
-Package's Homepage / Website.
+The file path.
+
+If this path is relative, it will be
+resolved from the root of _this_ project.
---
-##### `keywords`Optional
+##### `addBins`
```typescript
-public readonly keywords: string[];
+public addBins(bins: {[ key: string ]: string}): void
```
-- *Type:* string[]
+###### `bins`Required
-Keywords to include in `package.json`.
+- *Type:* {[ key: string ]: string}
---
-##### `license`Optional
+##### `addBundledDeps`
```typescript
-public readonly license: string;
+public addBundledDeps(deps: string): void
```
+Defines bundled dependencies.
+
+Bundled dependencies will be added as normal dependencies as well as to the
+`bundledDependencies` section of your `package.json`.
+
+###### `deps`Required
+
- *Type:* string
-- *Default:* "Apache-2.0"
-License's SPDX identifier.
+Names modules to install.
-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.
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `licensed`Optional
+##### ~~`addCompileCommand`~~
```typescript
-public readonly licensed: boolean;
+public addCompileCommand(commands: string): void
```
-- *Type:* boolean
-- *Default:* true
+DEPRECATED.
-Indicates if a license should be added.
+###### `commands`Required
+
+- *Type:* string
---
-##### `maxNodeVersion`Optional
+##### `addDeps`
```typescript
-public readonly maxNodeVersion: string;
+public addDeps(deps: string): void
```
+Defines normal dependencies.
+
+###### `deps`Required
+
- *Type:* string
-- *Default:* no max
-Minimum node.js version to require via `engines` (inclusive).
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `minNodeVersion`Optional
+##### `addDevDeps`
```typescript
-public readonly minNodeVersion: string;
+public addDevDeps(deps: string): void
```
+Defines development/test dependencies.
+
+###### `deps`Required
+
- *Type:* string
-- *Default:* no "engines" specified
-Minimum Node.js version to require via package.json `engines` (inclusive).
+Names modules to install.
+
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `npmAccess`Optional
+##### `addFields`
```typescript
-public readonly npmAccess: NpmAccess;
+public addFields(fields: {[ key: string ]: any}): void
```
-- *Type:* projen.javascript.NpmAccess
-- *Default:* for scoped packages (e.g. `foo@bar`), the default is `NpmAccess.RESTRICTED`, for non-scoped packages, the default is `NpmAccess.PUBLIC`.
+Directly set fields in `package.json`.
-Access level of the npm package.
+###### `fields`Required
----
+- *Type:* {[ key: string ]: any}
-##### ~~`npmRegistry`~~Optional
+The fields to set.
-- *Deprecated:* use `npmRegistryUrl` instead
+---
+
+##### `addKeywords`
```typescript
-public readonly npmRegistry: string;
+public addKeywords(keywords: string): void
```
-- *Type:* string
+Adds keywords to package.json (deduplicated).
-The host name of the npm registry to publish to.
+###### `keywords`Required
-Cannot be set together with `npmRegistryUrl`.
+- *Type:* string
+
+The keywords to add.
---
-##### `npmRegistryUrl`Optional
+##### `addPeerDeps`
+
+```typescript
+public addPeerDeps(deps: string): void
+```
+
+Defines peer dependencies.
+
+When adding peer dependencies, a devDependency will also be added on the
+pinned version of the declared peer. This will ensure that you are testing
+your code against the minimum version required from your consumers.
-```typescript
-public readonly npmRegistryUrl: string;
-```
+###### `deps`Required
- *Type:* string
-- *Default:* "https://registry.npmjs.org"
-The base URL of the npm package registry.
+Names modules to install.
-Must be a URL (e.g. start with "https://" or "http://")
+By default, the the dependency will
+be installed in the next `npx projen` run and the version will be recorded
+in your `package.json` file. You can upgrade manually or using `yarn
+add/upgrade`. If you wish to specify a version range use this syntax:
+`module@^7`.
---
-##### `npmTokenSecret`Optional
+##### `addScripts`
```typescript
-public readonly npmTokenSecret: string;
+public addScripts(scripts: {[ key: string ]: string}): void
```
-- *Type:* string
-- *Default:* "NPM_TOKEN"
+Replaces the contents of multiple npm package.json scripts.
-GitHub secret which contains the NPM token to use when publishing packages.
+###### `scripts`Required
+
+- *Type:* {[ key: string ]: string}
+
+The scripts to set.
---
-##### `packageManager`Optional
+##### ~~`addTestCommand`~~
```typescript
-public readonly packageManager: NodePackageManager;
+public addTestCommand(commands: string): void
```
-- *Type:* projen.javascript.NodePackageManager
-- *Default:* NodePackageManager.YARN
+DEPRECATED.
-The Node Package Manager used to execute scripts.
+###### `commands`Required
+
+- *Type:* string
---
-##### `packageName`Optional
+##### ~~`hasScript`~~
```typescript
-public readonly packageName: string;
+public hasScript(name: string): boolean
```
+Indicates if a script by the name name is defined.
+
+###### `name`Required
+
- *Type:* string
-- *Default:* defaults to project name
-The "name" in package.json.
+The name of the script.
---
-##### `peerDependencyOptions`Optional
+##### `removeScript`
```typescript
-public readonly peerDependencyOptions: PeerDependencyOptions;
+public removeScript(name: string): void
```
-- *Type:* projen.javascript.PeerDependencyOptions
+Removes the npm script (always successful).
-Options for `peerDeps`.
+###### `name`Required
+
+- *Type:* string
+
+The name of the script.
---
-##### `peerDeps`Optional
+##### `renderWorkflowSetup`
```typescript
-public readonly peerDeps: string[];
+public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
```
-- *Type:* string[]
-- *Default:* []
-
-Peer dependencies for this module.
+Returns the set of workflow steps which should be executed to bootstrap a workflow.
-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.
+###### `options`Optional
-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.
+- *Type:* projen.javascript.RenderWorkflowSetupOptions
-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.
+Options.
---
-##### `pnpmVersion`Optional
+##### `setScript`
```typescript
-public readonly pnpmVersion: string;
+public setScript(name: string, command: string): void
```
+Replaces the contents of an npm package.json script.
+
+###### `name`Required
+
- *Type:* string
-- *Default:* "7"
-The version of PNPM to use if using PNPM as a package manager.
+The script name.
---
-##### `repository`Optional
-
-```typescript
-public readonly repository: string;
-```
+###### `command`Required
- *Type:* string
-The repository is the location where the actual code for your package lives.
+The command to execute.
-See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
+---
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if `x` is a construct. |
+| isProject
| Test whether the given construct is a project. |
+| of
| Find the closest ancestor project for given construct. |
---
-##### `repositoryDirectory`Optional
+##### `isConstruct`
```typescript
-public readonly repositoryDirectory: string;
-```
+import { Cdk8sTeamTypeScriptProject } from '@cdk8s/projen-common'
-- *Type:* string
+Cdk8sTeamTypeScriptProject.isConstruct(x: any)
+```
-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.
+Checks if `x` is a construct.
----
+Use this method instead of `instanceof` to properly detect `Construct`
+instances, even when the construct library is symlinked.
-##### `scopedPackagesOptions`Optional
+Explanation: in JavaScript, multiple copies of the `constructs` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class `Construct` in each copy of the `constructs` library
+is seen as a different class, and an instance of one class will not test as
+`instanceof` the other class. `npm install` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the `constructs`
+library can be accidentally installed, and `instanceof` will behave
+unpredictably. It is safest to avoid using `instanceof`, and using
+this type-testing method instead.
-```typescript
-public readonly scopedPackagesOptions: ScopedPackagesOptions[];
-```
+###### `x`Required
-- *Type:* projen.javascript.ScopedPackagesOptions[]
-- *Default:* fetch all scoped packages from the public npm registry
+- *Type:* any
-Options for privately hosted scoped packages.
+Any object.
---
-##### ~~`scripts`~~Optional
-
-- *Deprecated:* use `project.addTask()` or `package.setScript()`
+##### `isProject`
```typescript
-public readonly scripts: {[ key: string ]: string};
+import { Cdk8sTeamTypeScriptProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamTypeScriptProject.isProject(x: any)
```
-- *Type:* {[ key: string ]: string}
-- *Default:* {}
+Test whether the given construct is a project.
-npm scripts to include.
+###### `x`Required
-If a script has the same name as a standard script,
-the standard script will be overwritten.
-Also adds the script as a task.
+- *Type:* any
---
-##### `stability`Optional
+##### `of`
```typescript
-public readonly stability: string;
+import { Cdk8sTeamTypeScriptProject } from '@cdk8s/projen-common'
+
+Cdk8sTeamTypeScriptProject.of(construct: IConstruct)
```
-- *Type:* string
+Find the closest ancestor project for given construct.
-Package's Stability.
+When given a project, this it the project itself.
----
+###### `construct`Required
-##### `jsiiReleaseVersion`Optional
+- *Type:* constructs.IConstruct
-```typescript
-public readonly jsiiReleaseVersion: string;
-```
+---
-- *Type:* string
-- *Default:* "latest"
+#### Properties
-Version requirement of `publib` which is used to publish modules to npm.
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| buildTask
| projen.Task
| *No description.* |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| compileTask
| projen.Task
| *No description.* |
+| components
| projen.Component[]
| Returns all the components within this project. |
+| deps
| projen.Dependencies
| Project dependencies. |
+| ejected
| boolean
| Whether or not the project is being ejected. |
+| files
| projen.FileBase[]
| All files in this project. |
+| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
+| gitignore
| projen.IgnoreFile
| .gitignore. |
+| logger
| projen.Logger
| Logging utilities. |
+| name
| string
| Project name. |
+| outdir
| string
| Absolute output directory of this project. |
+| packageTask
| projen.Task
| *No description.* |
+| postCompileTask
| projen.Task
| *No description.* |
+| preCompileTask
| projen.Task
| *No description.* |
+| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
+| projenCommand
| string
| The command to use in order to run the projen CLI. |
+| root
| projen.Project
| The root project. |
+| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
+| tasks
| projen.Tasks
| Project tasks. |
+| testTask
| projen.Task
| *No description.* |
+| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
+| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
+| parent
| projen.Project
| A parent project. |
+| projectType
| projen.ProjectType
| *No description.* |
+| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
+| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
+| github
| projen.github.GitHub
| Access all github components. |
+| gitpod
| projen.Gitpod
| Access for Gitpod. |
+| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
+| allowLibraryDependencies
| boolean
| *No description.* |
+| artifactsDirectory
| string
| The build output directory. |
+| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
+| bundler
| projen.javascript.Bundler
| *No description.* |
+| entrypoint
| string
| *No description.* |
+| manifest
| any
| *No description.* |
+| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
+| package
| projen.javascript.NodePackage
| API for managing the node package. |
+| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
+| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
+| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
+| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
+| buildWorkflowJobId
| string
| The job ID of the build workflow. |
+| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
+| maxNodeVersion
| string
| Maximum node version required by this package. |
+| minNodeVersion
| string
| Minimum node.js version required by this package. |
+| npmignore
| projen.IgnoreFile
| The .npmignore file. |
+| prettier
| projen.javascript.Prettier
| *No description.* |
+| publisher
| projen.release.Publisher
| Package publisher. |
+| release
| projen.release.Release
| Release management. |
+| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
+| docsDirectory
| string
| *No description.* |
+| libdir
| string
| The directory in which compiled .js files reside. |
+| srcdir
| string
| The directory in which the .ts sources reside. |
+| testdir
| string
| The directory in which tests reside. |
+| tsconfigDev
| projen.javascript.TypescriptConfig
| A typescript configuration file which covers all files (sources, tests, projen). |
+| watchTask
| projen.Task
| The "watch" task. |
+| docgen
| boolean
| *No description.* |
+| eslint
| projen.javascript.Eslint
| *No description.* |
+| tsconfig
| projen.javascript.TypescriptConfig
| *No description.* |
+| tsconfigEslint
| projen.javascript.TypescriptConfig
| *No description.* |
---
-##### `majorVersion`Optional
+##### `node`Required
```typescript
-public readonly majorVersion: number;
+public readonly node: Node;
```
-- *Type:* number
-- *Default:* Major version is not enforced.
-
-Major version to release from the default branch.
+- *Type:* constructs.Node
-If this is specified, we bump the latest version of this major version line.
-If not specified, we bump the global latest version.
+The tree node.
---
-##### `minMajorVersion`Optional
+##### `buildTask`Required
```typescript
-public readonly minMajorVersion: number;
+public readonly buildTask: Task;
```
-- *Type:* number
-- *Default:* No minimum version is being enforced
+- *Type:* projen.Task
-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.
+##### `commitGenerated`Required
-Can not be set together with `majorVersion`.
+```typescript
+public readonly commitGenerated: boolean;
+```
+
+- *Type:* boolean
+
+Whether to commit the managed files by default.
---
-##### `npmDistTag`Optional
+##### `compileTask`Required
```typescript
-public readonly npmDistTag: string;
+public readonly compileTask: Task;
```
-- *Type:* string
-- *Default:* "latest"
-
-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.
+- *Type:* projen.Task
---
-##### `postBuildSteps`Optional
+##### `components`Required
```typescript
-public readonly postBuildSteps: JobStep[];
+public readonly components: Component[];
```
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* []
+- *Type:* projen.Component[]
-Steps to execute after build as part of the release workflow.
+Returns all the components within this project.
---
-##### `prerelease`Optional
+##### `deps`Required
```typescript
-public readonly prerelease: string;
+public readonly deps: Dependencies;
```
-- *Type:* string
-- *Default:* normal semantic versions
+- *Type:* projen.Dependencies
-Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
+Project dependencies.
---
-##### `publishDryRun`Optional
+##### `ejected`Required
```typescript
-public readonly publishDryRun: boolean;
+public readonly ejected: boolean;
```
- *Type:* boolean
-- *Default:* false
-Instead of actually publishing to package managers, just print the publishing command.
+Whether or not the project is being ejected.
---
-##### `publishTasks`Optional
+##### `files`Required
```typescript
-public readonly publishTasks: boolean;
+public readonly files: FileBase[];
```
-- *Type:* boolean
-- *Default:* false
-
-Define publishing tasks that can be executed manually as well as workflows.
+- *Type:* projen.FileBase[]
-Normally, publishing only happens within automated workflows. Enable this
-in order to create a publishing task for each publishing activity.
+All files in this project.
---
-##### `releasableCommits`Optional
+##### `gitattributes`Required
```typescript
-public readonly releasableCommits: ReleasableCommits;
+public readonly gitattributes: GitAttributesFile;
```
-- *Type:* projen.ReleasableCommits
-- *Default:* ReleasableCommits.everyCommit()
+- *Type:* projen.GitAttributesFile
-Find commits that should be considered releasable Used to decide if a release is required.
+The .gitattributes file for this repository.
---
-##### `releaseBranches`Optional
+##### `gitignore`Required
```typescript
-public readonly releaseBranches: {[ key: string ]: BranchOptions};
+public readonly gitignore: IgnoreFile;
```
-- *Type:* {[ key: string ]: projen.release.BranchOptions}
-- *Default:* no additional branches are used for release. you can use `addBranch()` to add additional branches.
-
-Defines additional release branches.
+- *Type:* projen.IgnoreFile
-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.
+.gitignore.
---
-##### ~~`releaseEveryCommit`~~Optional
-
-- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
+##### `logger`Required
```typescript
-public readonly releaseEveryCommit: boolean;
+public readonly logger: Logger;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.Logger
-Automatically release new versions every commit to one of branches in `releaseBranches`.
+Logging utilities.
---
-##### `releaseFailureIssue`Optional
+##### `name`Required
```typescript
-public readonly releaseFailureIssue: boolean;
+public readonly name: string;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* string
-Create a github issue on every failed publishing task.
+Project name.
---
-##### `releaseFailureIssueLabel`Optional
+##### `outdir`Required
```typescript
-public readonly releaseFailureIssueLabel: string;
+public readonly outdir: string;
```
- *Type:* string
-- *Default:* "failed-release"
-
-The label to apply to issues indicating publish failures.
-Only applies if `releaseFailureIssue` is true.
+Absolute output directory of this project.
---
-##### ~~`releaseSchedule`~~Optional
-
-- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
+##### `packageTask`Required
```typescript
-public readonly releaseSchedule: string;
+public readonly packageTask: Task;
```
-- *Type:* string
-- *Default:* no scheduled releases
-
-CRON schedule to trigger new releases.
+- *Type:* projen.Task
---
-##### `releaseTagPrefix`Optional
+##### `postCompileTask`Required
```typescript
-public readonly releaseTagPrefix: string;
+public readonly postCompileTask: Task;
```
-- *Type:* string
-- *Default:* "v"
+- *Type:* projen.Task
-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.
+##### `preCompileTask`Required
+
+```typescript
+public readonly preCompileTask: Task;
+```
+
+- *Type:* projen.Task
---
-##### `releaseTrigger`Optional
+##### `projectBuild`Required
```typescript
-public readonly releaseTrigger: ReleaseTrigger;
+public readonly projectBuild: ProjectBuild;
```
-- *Type:* projen.release.ReleaseTrigger
-- *Default:* Continuous releases (`ReleaseTrigger.continuous()`)
+- *Type:* projen.ProjectBuild
-The release trigger to use.
+Manages the build process of the project.
---
-##### `releaseWorkflowName`Optional
+##### `projenCommand`Required
```typescript
-public readonly releaseWorkflowName: string;
+public readonly projenCommand: string;
```
- *Type:* string
-- *Default:* "Release"
-The name of the default release workflow.
+The command to use in order to run the projen CLI.
---
-##### `releaseWorkflowSetupSteps`Optional
+##### `root`Required
```typescript
-public readonly releaseWorkflowSetupSteps: JobStep[];
+public readonly root: Project;
```
-- *Type:* projen.github.workflows.JobStep[]
+- *Type:* projen.Project
-A set of workflow steps to execute in order to setup the workflow container.
+The root project.
---
-##### `versionrcOptions`Optional
+##### `subprojects`Required
```typescript
-public readonly versionrcOptions: {[ key: string ]: any};
+public readonly subprojects: Project[];
```
-- *Type:* {[ key: string ]: any}
-- *Default:* standard configuration applicable for GitHub repositories
-
-Custom configuration used when creating changelog with standard-version package.
+- *Type:* projen.Project[]
-Given values either append to default configuration or overwrite values in it.
+Returns all the subprojects within this project.
---
-##### `workflowContainerImage`Optional
+##### `tasks`Required
```typescript
-public readonly workflowContainerImage: string;
+public readonly tasks: Tasks;
```
-- *Type:* string
-- *Default:* default image
+- *Type:* projen.Tasks
-Container image to use for GitHub workflows.
+Project tasks.
---
-##### `workflowRunsOn`Optional
+##### `testTask`Required
```typescript
-public readonly workflowRunsOn: string[];
+public readonly testTask: Task;
```
-- *Type:* string[]
-- *Default:* ["ubuntu-latest"]
-
-Github Runner selection labels.
+- *Type:* projen.Task
---
-##### `defaultReleaseBranch`Required
+##### `defaultTask`Optional
```typescript
-public readonly defaultReleaseBranch: string;
+public readonly defaultTask: Task;
```
-- *Type:* string
-- *Default:* "main"
+- *Type:* projen.Task
-The name of the main release branch.
+This is the "default" task, the one that executes "projen".
+
+Undefined if
+the project is being ejected.
---
-##### `artifactsDirectory`Optional
+##### `initProject`Optional
```typescript
-public readonly artifactsDirectory: string;
+public readonly initProject: InitProject;
```
-- *Type:* string
-- *Default:* "dist"
+- *Type:* projen.InitProject
-A directory which will contain build artifacts.
+The options used when this project is bootstrapped via `projen new`.
+
+It
+includes the original set of options passed to the CLI and also the JSII
+FQN of the project type.
---
-##### `autoApproveUpgrades`Optional
+##### `parent`Optional
```typescript
-public readonly autoApproveUpgrades: boolean;
+public readonly parent: Project;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.Project
-Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
+A parent project.
-Throw if set to true but `autoApproveOptions` are not defined.
+If undefined, this is the root project.
---
-##### `buildWorkflow`Optional
+##### `projectType`Required
```typescript
-public readonly buildWorkflow: boolean;
+public readonly projectType: ProjectType;
```
-- *Type:* boolean
-- *Default:* true if not a subproject
+- *Type:* projen.ProjectType
-Define a GitHub workflow for building PRs.
+---
+
+##### `autoApprove`Optional
+
+```typescript
+public readonly autoApprove: AutoApprove;
+```
+
+- *Type:* projen.github.AutoApprove
+
+Auto approve set up for this project.
---
-##### `buildWorkflowTriggers`Optional
+##### `devContainer`Optional
```typescript
-public readonly buildWorkflowTriggers: Triggers;
+public readonly devContainer: DevContainer;
```
-- *Type:* projen.github.workflows.Triggers
-- *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
+- *Type:* projen.vscode.DevContainer
-Build workflow triggers.
+Access for .devcontainer.json (used for GitHub Codespaces).
+
+This will be `undefined` if devContainer boolean is false
---
-##### `bundlerOptions`Optional
+##### `github`Optional
```typescript
-public readonly bundlerOptions: BundlerOptions;
+public readonly github: GitHub;
```
-- *Type:* projen.javascript.BundlerOptions
+- *Type:* projen.github.GitHub
-Options for `Bundler`.
+Access all github components.
+
+This will be `undefined` for subprojects.
---
-##### `codeCov`Optional
+##### `gitpod`Optional
```typescript
-public readonly codeCov: boolean;
+public readonly gitpod: Gitpod;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* projen.Gitpod
+
+Access for Gitpod.
-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`.
+This will be `undefined` if gitpod boolean is false
---
-##### `codeCovTokenSecret`Optional
+##### `vscode`Optional
```typescript
-public readonly codeCovTokenSecret: string;
+public readonly vscode: VsCode;
```
-- *Type:* string
-- *Default:* if this option is not specified, only public repositories are supported
+- *Type:* projen.vscode.VsCode
-Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
+Access all VSCode components.
+
+This will be `undefined` for subprojects.
---
-##### `copyrightOwner`Optional
+##### ~~`allowLibraryDependencies`~~Required
+
+- *Deprecated:* use `package.allowLibraryDependencies`
```typescript
-public readonly copyrightOwner: string;
+public readonly allowLibraryDependencies: boolean;
```
-- *Type:* string
-- *Default:* defaults to the value of authorName or "" if `authorName` is undefined.
-
-License copyright owner.
+- *Type:* boolean
---
-##### `copyrightPeriod`Optional
+##### `artifactsDirectory`Required
```typescript
-public readonly copyrightPeriod: string;
+public readonly artifactsDirectory: string;
```
- *Type:* string
-- *Default:* current year
-The copyright years to put in the LICENSE file.
+The build output directory.
+
+An npm tarball will be created under the `js`
+subdirectory. For example, if this is set to `dist` (the default), the npm
+tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
---
-##### `dependabot`Optional
+##### `artifactsJavascriptDirectory`Required
```typescript
-public readonly dependabot: boolean;
+public readonly artifactsJavascriptDirectory: string;
```
-- *Type:* boolean
-- *Default:* false
-
-Use dependabot to handle dependency upgrades.
+- *Type:* string
-Cannot be used in conjunction with `depsUpgrade`.
+The location of the npm tarball after build (`${artifactsDirectory}/js`).
---
-##### `dependabotOptions`Optional
+##### `bundler`Required
```typescript
-public readonly dependabotOptions: DependabotOptions;
+public readonly bundler: Bundler;
```
-- *Type:* projen.github.DependabotOptions
-- *Default:* default options
-
-Options for dependabot.
+- *Type:* projen.javascript.Bundler
---
-##### `depsUpgrade`Optional
+##### ~~`entrypoint`~~Required
+
+- *Deprecated:* use `package.entrypoint`
```typescript
-public readonly depsUpgrade: boolean;
+public readonly entrypoint: string;
```
-- *Type:* boolean
-- *Default:* true
-
-Use github workflows to handle dependency upgrades.
-
-Cannot be used in conjunction with `dependabot`.
+- *Type:* string
---
-##### `depsUpgradeOptions`Optional
+##### ~~`manifest`~~Required
+
+- *Deprecated:* use `package.addField(x, y)`
```typescript
-public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
+public readonly manifest: any;
```
-- *Type:* projen.javascript.UpgradeDependenciesOptions
-- *Default:* default options
-
-Options for `UpgradeDependencies`.
+- *Type:* any
---
-##### `gitignore`Optional
+##### `npmrc`Required
```typescript
-public readonly gitignore: string[];
+public readonly npmrc: NpmConfig;
```
-- *Type:* string[]
+- *Type:* projen.javascript.NpmConfig
-Additional entries to .gitignore.
+The .npmrc file.
---
-##### `jest`Optional
+##### `package`Required
```typescript
-public readonly jest: boolean;
+public readonly package: NodePackage;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.javascript.NodePackage
-Setup jest unit tests.
+API for managing the node package.
---
-##### `jestOptions`Optional
+##### ~~`packageManager`~~Required
+
+- *Deprecated:* use `package.packageManager`
```typescript
-public readonly jestOptions: JestOptions;
+public readonly packageManager: NodePackageManager;
```
-- *Type:* projen.javascript.JestOptions
-- *Default:* default options
+- *Type:* projen.javascript.NodePackageManager
-Jest options.
+The package manager to use.
---
-##### `mutableBuild`Optional
+##### `runScriptCommand`Required
```typescript
-public readonly mutableBuild: boolean;
+public readonly runScriptCommand: string;
```
-- *Type:* boolean
-- *Default:* true
-
-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.
+- *Type:* string
-Implies that PR builds do not have anti-tamper checks.
+The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
---
-##### ~~`npmignore`~~Optional
-
-- *Deprecated:* - use `project.addPackageIgnore`
+##### `autoMerge`Optional
```typescript
-public readonly npmignore: string[];
+public readonly autoMerge: AutoMerge;
```
-- *Type:* string[]
+- *Type:* projen.github.AutoMerge
-Additional entries to .npmignore.
+Component that sets up mergify for merging approved pull requests.
---
-##### `npmignoreEnabled`Optional
+##### `buildWorkflow`Optional
```typescript
-public readonly npmignoreEnabled: boolean;
+public readonly buildWorkflow: BuildWorkflow;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.build.BuildWorkflow
-Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
+The PR build GitHub workflow.
+
+`undefined` if `buildWorkflow` is disabled.
---
-##### `npmIgnoreOptions`Optional
+##### `buildWorkflowJobId`Optional
```typescript
-public readonly npmIgnoreOptions: IgnoreFileOptions;
+public readonly buildWorkflowJobId: string;
```
-- *Type:* projen.IgnoreFileOptions
+- *Type:* string
-Configuration options for .npmignore file.
+The job ID of the build workflow.
---
-##### `package`Optional
+##### `jest`Optional
```typescript
-public readonly package: boolean;
+public readonly jest: Jest;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.javascript.Jest
-Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
+The Jest configuration (if enabled).
---
-##### `prettier`Optional
+##### `maxNodeVersion`Optional
```typescript
-public readonly prettier: boolean;
+public readonly maxNodeVersion: string;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* string
-Setup prettier.
+Maximum node version required by this package.
---
-##### `prettierOptions`Optional
+##### `minNodeVersion`Optional
```typescript
-public readonly prettierOptions: PrettierOptions;
+public readonly minNodeVersion: string;
```
-- *Type:* projen.javascript.PrettierOptions
-- *Default:* default options
+- *Type:* string
-Prettier options.
+Minimum node.js version required by this package.
---
-##### `projenDevDependency`Optional
+##### `npmignore`Optional
```typescript
-public readonly projenDevDependency: boolean;
+public readonly npmignore: IgnoreFile;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.IgnoreFile
-Indicates of "projen" should be installed as a devDependency.
+The .npmignore file.
---
-##### `projenrcJs`Optional
+##### `prettier`Optional
```typescript
-public readonly projenrcJs: boolean;
+public readonly prettier: Prettier;
```
-- *Type:* boolean
-- *Default:* true if projenrcJson is false
-
-Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
+- *Type:* projen.javascript.Prettier
---
-##### `projenrcJsOptions`Optional
+##### ~~`publisher`~~Optional
+
+- *Deprecated:* use `release.publisher`.
```typescript
-public readonly projenrcJsOptions: ProjenrcOptions;
+public readonly publisher: Publisher;
```
-- *Type:* projen.javascript.ProjenrcOptions
-- *Default:* default options
+- *Type:* projen.release.Publisher
-Options for .projenrc.js.
+Package publisher.
+
+This will be `undefined` if the project does not have a
+release workflow.
---
-##### `projenVersion`Optional
+##### `release`Optional
```typescript
-public readonly projenVersion: string;
+public readonly release: Release;
```
-- *Type:* string
-- *Default:* Defaults to the latest version.
+- *Type:* projen.release.Release
-Version of projen to install.
+Release management.
---
-##### `pullRequestTemplate`Optional
+##### `upgradeWorkflow`Optional
```typescript
-public readonly pullRequestTemplate: boolean;
+public readonly upgradeWorkflow: UpgradeDependencies;
```
-- *Type:* boolean
-- *Default:* true
+- *Type:* projen.javascript.UpgradeDependencies
-Include a GitHub pull request template.
+The upgrade workflow.
---
-##### `pullRequestTemplateContents`Optional
+##### `docsDirectory`Required
```typescript
-public readonly pullRequestTemplateContents: string[];
+public readonly docsDirectory: string;
```
-- *Type:* string[]
-- *Default:* default content
-
-The contents of the pull request template.
+- *Type:* string
---
-##### `release`Optional
+##### `libdir`Required
```typescript
-public readonly release: boolean;
+public readonly libdir: string;
```
-- *Type:* boolean
-- *Default:* true (false for subprojects)
+- *Type:* string
-Add release management to this project.
+The directory in which compiled .js files reside.
---
-##### `releaseToNpm`Optional
+##### `srcdir`Required
```typescript
-public readonly releaseToNpm: boolean;
+public readonly srcdir: string;
```
-- *Type:* boolean
-- *Default:* false
+- *Type:* string
-Automatically release to npm when new versions are introduced.
+The directory in which the .ts sources reside.
---
-##### ~~`releaseWorkflow`~~Optional
-
-- *Deprecated:* see `release`.
+##### `testdir`Required
```typescript
-public readonly releaseWorkflow: boolean;
+public readonly testdir: string;
```
-- *Type:* boolean
-- *Default:* true if not a subproject
+- *Type:* string
-DEPRECATED: renamed to `release`.
+The directory in which tests reside.
---
-##### `workflowBootstrapSteps`Optional
+##### `tsconfigDev`Required
```typescript
-public readonly workflowBootstrapSteps: JobStep[];
+public readonly tsconfigDev: TypescriptConfig;
```
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* "yarn install --frozen-lockfile && yarn projen"
+- *Type:* projen.javascript.TypescriptConfig
-Workflow steps to use in order to bootstrap this repo.
+A typescript configuration file which covers all files (sources, tests, projen).
---
-##### `workflowGitIdentity`Optional
+##### `watchTask`Required
```typescript
-public readonly workflowGitIdentity: GitIdentity;
+public readonly watchTask: Task;
```
-- *Type:* projen.github.GitIdentity
-- *Default:* GitHub Actions
+- *Type:* projen.Task
-The git identity to use in workflows.
+The "watch" task.
---
-##### `workflowNodeVersion`Optional
+##### `docgen`Optional
```typescript
-public readonly workflowNodeVersion: string;
+public readonly docgen: boolean;
```
-- *Type:* string
-- *Default:* same as `minNodeVersion`
-
-The node version to use in GitHub workflows.
+- *Type:* boolean
---
-##### `workflowPackageCache`Optional
+##### `eslint`Optional
```typescript
-public readonly workflowPackageCache: boolean;
+public readonly eslint: Eslint;
```
-- *Type:* boolean
-- *Default:* false
-
-Enable Node.js package cache in GitHub workflows.
+- *Type:* projen.javascript.Eslint
---
-##### `backport`Optional
+##### `tsconfig`Optional
```typescript
-public readonly backport: boolean;
+public readonly tsconfig: TypescriptConfig;
```
-- *Type:* boolean
-- *Default:* false
-
-Configure a backport workflow.
+- *Type:* projen.javascript.TypescriptConfig
---
-##### `backportBranches`Optional
+##### `tsconfigEslint`Optional
```typescript
-public readonly backportBranches: string[];
+public readonly tsconfigEslint: TypescriptConfig;
```
-- *Type:* string[]
-- *Default:* Will be derived from PR labels.
+- *Type:* projen.javascript.TypescriptConfig
-Branches to backport to.
+---
+
+#### Constants
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
---
-##### `repoName`Optional
+##### `DEFAULT_TASK`Required
```typescript
-public readonly repoName: string;
+public readonly DEFAULT_TASK: string;
```
- *Type:* string
-- *Default:* the package name.
-The name of the repository inside the cdk8s-team org where the code of the project is locate in.
+The name of the default task (the task executed when `projen` is run without arguments).
+
+Normally
+this task should synthesize the project files.
---
-### Cdk8sTeamTypeScriptProjectOptions
+## Structs
-Options for `Cdk8sTeamTypeScriptProject`.
+### Cdk8sTeamJsiiProjectOptions
-#### Initializer
+Options for `Cdk8sTeamJsiiProject`.
+
+Note that this extends `Cdk8sTeamTypeScriptProjectOptions` and not `cdk.JsiiProjectOptions`
+because `cdk.JsiiProjectOptions` has required properties (namely 'author' and 'authorAddress')
+that we want to hardcode and disallow customization of. This means that any jsii specific feature
+cannot be customized on the project level. This is ok because we don't expect much deviation
+with those features between projects. If this turns out to not be the case, we will change appropriately.
+
+#### Initializer
```typescript
-import { Cdk8sTeamTypeScriptProjectOptions } from '@cdk8s/projen-common'
+import { Cdk8sTeamJsiiProjectOptions } from '@cdk8s/projen-common'
-const cdk8sTeamTypeScriptProjectOptions: Cdk8sTeamTypeScriptProjectOptions = { ... }
+const cdk8sTeamJsiiProjectOptions: Cdk8sTeamJsiiProjectOptions = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
-| name
| string
| This is the name of your project. |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
-| gitOptions
| projen.GitOptions
| Configuration options for git. |
-| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
-| outdir
| string
| The root directory of the project. |
-| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
-| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
-| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
-| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
-| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
-| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
-| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
-| autoMerge
| boolean
| Enable automatic merging on GitHub. |
-| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
-| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
-| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
-| github
| boolean
| Enable GitHub integration. |
-| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
-| gitpod
| boolean
| Add a Gitpod development environment. |
-| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
-| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
-| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
-| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
-| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
-| readme
| projen.SampleReadmeProps
| The README setup. |
-| stale
| boolean
| Auto-close of stale issues and pull request. |
-| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
-| vscode
| boolean
| Enable VSCode integration. |
-| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
-| authorEmail
| string
| Author's e-mail. |
-| authorName
| string
| Author's name. |
-| authorOrganization
| boolean
| Is the author an organization. |
-| authorUrl
| string
| Author's URL / Website. |
-| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
-| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
-| bugsEmail
| string
| The email address to which issues should be reported. |
-| bugsUrl
| string
| The url to your project's issue tracker. |
-| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
-| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
-| deps
| string[]
| Runtime dependencies of this module. |
-| description
| string
| The description is just a string that helps people understand the purpose of the package. |
-| devDeps
| string[]
| Build dependencies for this module. |
-| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
-| homepage
| string
| Package's Homepage / Website. |
-| keywords
| string[]
| Keywords to include in `package.json`. |
-| license
| string
| License's SPDX identifier. |
-| licensed
| boolean
| Indicates if a license should be added. |
-| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
-| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
-| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
-| npmRegistry
| string
| The host name of the npm registry to publish to. |
-| npmRegistryUrl
| string
| The base URL of the npm package registry. |
-| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
-| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
-| packageName
| string
| The "name" in package.json. |
-| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
-| peerDeps
| string[]
| Peer dependencies for this module. |
-| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
-| repository
| string
| The repository is the location where the actual code for your package lives. |
-| repositoryDirectory
| string
| 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. |
-| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
-| scripts
| {[ key: string ]: string}
| npm scripts to include. |
-| stability
| string
| Package's Stability. |
-| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
-| majorVersion
| number
| Major version to release from the default branch. |
-| minMajorVersion
| number
| Minimal Major version to release. |
-| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
-| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
-| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
-| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
-| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
-| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
-| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
-| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
-| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
-| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
-| releaseSchedule
| string
| CRON schedule to trigger new releases. |
-| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
-| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
-| releaseWorkflowName
| string
| The name of the default release workflow. |
-| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
-| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
-| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
-| workflowRunsOn
| string[]
| Github Runner selection labels. |
-| defaultReleaseBranch
| string
| The name of the main release branch. |
-| artifactsDirectory
| string
| A directory which will contain build artifacts. |
-| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
-| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
-| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
-| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
-| codeCov
| boolean
| 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`. |
-| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
-| copyrightOwner
| string
| License copyright owner. |
-| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
-| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
-| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
-| depsUpgrade
| boolean
| Use github workflows to handle dependency upgrades. |
-| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
-| gitignore
| string[]
| Additional entries to .gitignore. |
-| jest
| boolean
| Setup jest unit tests. |
-| jestOptions
| projen.javascript.JestOptions
| Jest options. |
-| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
-| npmignore
| string[]
| Additional entries to .npmignore. |
-| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
-| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
-| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
-| prettier
| boolean
| Setup prettier. |
-| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
-| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
-| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
-| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
-| projenVersion
| string
| Version of projen to install. |
-| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
-| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
-| release
| boolean
| Add release management to this project. |
-| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
-| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
-| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
-| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
-| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
-| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
-| disableTsconfig
| boolean
| Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
-| disableTsconfigDev
| boolean
| Do not generate a `tsconfig.dev.json` file. |
-| docgen
| boolean
| Docgen by Typedoc. |
-| docsDirectory
| string
| Docs directory. |
-| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
-| eslint
| boolean
| Setup eslint. |
-| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
-| libdir
| string
| Typescript artifacts output directory. |
-| projenrcTs
| boolean
| Use TypeScript for your projenrc file (`.projenrc.ts`). |
-| projenrcTsOptions
| projen.typescript.ProjenrcOptions
| Options for .projenrc.ts. |
-| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
-| srcdir
| string
| Typescript sources directory. |
-| testdir
| string
| Jest tests directory. Tests files should be named `xxx.test.ts`. |
-| tsconfig
| projen.javascript.TypescriptConfigOptions
| Custom TSConfig. |
-| tsconfigDev
| projen.javascript.TypescriptConfigOptions
| Custom tsconfig options for the development tsconfig.json file (used for testing). |
-| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
-| typescriptVersion
| string
| TypeScript version to use. |
-| additionalCompilerDependencies
| string[]
| Packages that compile the project apart from the typescript/jsii compiler. |
-| backport
| boolean
| Configure a backport workflow. |
-| backportBranches
| string[]
| Branches to backport to. |
-| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
+| name
| string
| This is the name of your project. |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
+| gitOptions
| projen.GitOptions
| Configuration options for git. |
+| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
+| outdir
| string
| The root directory of the project. |
+| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
+| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
+| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
+| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
+| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
+| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
+| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
+| autoMerge
| boolean
| Enable automatic merging on GitHub. |
+| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
+| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
+| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
+| github
| boolean
| Enable GitHub integration. |
+| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
+| gitpod
| boolean
| Add a Gitpod development environment. |
+| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
+| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
+| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
+| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
+| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
+| readme
| projen.SampleReadmeProps
| The README setup. |
+| stale
| boolean
| Auto-close of stale issues and pull request. |
+| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
+| vscode
| boolean
| Enable VSCode integration. |
+| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
+| authorEmail
| string
| Author's e-mail. |
+| authorName
| string
| Author's name. |
+| authorOrganization
| boolean
| Is the author an organization. |
+| authorUrl
| string
| Author's URL / Website. |
+| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
+| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
+| bugsEmail
| string
| The email address to which issues should be reported. |
+| bugsUrl
| string
| The url to your project's issue tracker. |
+| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
+| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
+| deps
| string[]
| Runtime dependencies of this module. |
+| description
| string
| The description is just a string that helps people understand the purpose of the package. |
+| devDeps
| string[]
| Build dependencies for this module. |
+| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
+| homepage
| string
| Package's Homepage / Website. |
+| keywords
| string[]
| Keywords to include in `package.json`. |
+| license
| string
| License's SPDX identifier. |
+| licensed
| boolean
| Indicates if a license should be added. |
+| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
+| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
+| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
+| npmRegistry
| string
| The host name of the npm registry to publish to. |
+| npmRegistryUrl
| string
| The base URL of the npm package registry. |
+| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
+| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
+| packageName
| string
| The "name" in package.json. |
+| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
+| peerDeps
| string[]
| Peer dependencies for this module. |
+| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
+| repository
| string
| The repository is the location where the actual code for your package lives. |
+| repositoryDirectory
| string
| 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. |
+| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
+| scripts
| {[ key: string ]: string}
| npm scripts to include. |
+| stability
| string
| Package's Stability. |
+| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
+| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
+| majorVersion
| number
| Major version to release from the default branch. |
+| minMajorVersion
| number
| Minimal Major version to release. |
+| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
+| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
+| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
+| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
+| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
+| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
+| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
+| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
+| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
+| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
+| releaseSchedule
| string
| CRON schedule to trigger new releases. |
+| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
+| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
+| releaseWorkflowName
| string
| The name of the default release workflow. |
+| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
+| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
+| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
+| workflowRunsOn
| string[]
| Github Runner selection labels. |
+| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
+| defaultReleaseBranch
| string
| The name of the main release branch. |
+| artifactsDirectory
| string
| A directory which will contain build artifacts. |
+| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
+| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
+| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
+| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
+| codeCov
| boolean
| 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`. |
+| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
+| copyrightOwner
| string
| License copyright owner. |
+| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
+| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
+| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
+| depsUpgrade
| boolean
| Use tasks and github workflows to handle dependency upgrades. |
+| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
+| gitignore
| string[]
| Additional entries to .gitignore. |
+| jest
| boolean
| Setup jest unit tests. |
+| jestOptions
| projen.javascript.JestOptions
| Jest options. |
+| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
+| npmignore
| string[]
| Additional entries to .npmignore. |
+| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
+| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
+| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
+| prettier
| boolean
| Setup prettier. |
+| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
+| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
+| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
+| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
+| projenVersion
| string
| Version of projen to install. |
+| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
+| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
+| release
| boolean
| Add release management to this project. |
+| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
+| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
+| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
+| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
+| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
+| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
+| disableTsconfig
| boolean
| Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
+| disableTsconfigDev
| boolean
| Do not generate a `tsconfig.dev.json` file. |
+| docgen
| boolean
| Docgen by Typedoc. |
+| docsDirectory
| string
| Docs directory. |
+| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
+| eslint
| boolean
| Setup eslint. |
+| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
+| libdir
| string
| Typescript artifacts output directory. |
+| projenrcTs
| boolean
| Use TypeScript for your projenrc file (`.projenrc.ts`). |
+| projenrcTsOptions
| projen.typescript.ProjenrcOptions
| Options for .projenrc.ts. |
+| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
+| srcdir
| string
| Typescript sources directory. |
+| testdir
| string
| Jest tests directory. Tests files should be named `xxx.test.ts`. |
+| tsconfig
| projen.javascript.TypescriptConfigOptions
| Custom TSConfig. |
+| tsconfigDev
| projen.javascript.TypescriptConfigOptions
| Custom tsconfig options for the development tsconfig.json file (used for testing). |
+| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
+| typescriptVersion
| string
| TypeScript version to use. |
+| additionalCompilerDependencies
| string[]
| Packages that compile the project apart from the typescript/jsii compiler. |
+| backport
| boolean
| Configure a backport workflow. |
+| backportBranches
| string[]
| Branches to backport to. |
+| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
+| golang
| boolean
| Publish Golang bindings to GitHub. |
+| golangBranch
| string
| Name of the branch in the golang repository to publish to. |
+| jsiiVersion
| string
| JSII version to use. |
+| maven
| boolean
| Publish Java bindings to Maven. |
+| nuget
| boolean
| Publish Dotnet bindings to Nuget. |
+| pypi
| boolean
| Publish Python bindings to PyPI. |
---
-##### `name`Required
+##### `name`Required
```typescript
public readonly name: string;
@@ -4379,7 +4550,7 @@ This is the name of your project.
---
-##### `commitGenerated`Optional
+##### `commitGenerated`Optional
```typescript
public readonly commitGenerated: boolean;
@@ -4392,7 +4563,7 @@ Whether to commit the managed files by default.
---
-##### `gitIgnoreOptions`Optional
+##### `gitIgnoreOptions`Optional
```typescript
public readonly gitIgnoreOptions: IgnoreFileOptions;
@@ -4404,7 +4575,7 @@ Configuration options for .gitignore file.
---
-##### `gitOptions`Optional
+##### `gitOptions`Optional
```typescript
public readonly gitOptions: GitOptions;
@@ -4416,7 +4587,7 @@ Configuration options for git.
---
-##### `logging`Optional
+##### `logging`Optional
```typescript
public readonly logging: LoggerOptions;
@@ -4429,7 +4600,7 @@ Configure logging options such as verbosity.
---
-##### `outdir`Optional
+##### `outdir`Optional
```typescript
public readonly outdir: string;
@@ -4444,11 +4615,11 @@ Relative to this directory, all files are synthesized.
If this project has a parent, this directory is relative to the parent
directory and it cannot be the same as the parent or any of it's other
-sub-projects.
+subprojects.
---
-##### `parent`Optional
+##### `parent`Optional
```typescript
public readonly parent: Project;
@@ -4460,7 +4631,7 @@ The parent project, if this project is part of a bigger project.
---
-##### `projenCommand`Optional
+##### `projenCommand`Optional
```typescript
public readonly projenCommand: string;
@@ -4475,7 +4646,7 @@ Can be used to customize in special environments.
---
-##### `projenrcJson`Optional
+##### `projenrcJson`Optional
```typescript
public readonly projenrcJson: boolean;
@@ -4488,7 +4659,7 @@ Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .pr
---
-##### `projenrcJsonOptions`Optional
+##### `projenrcJsonOptions`Optional
```typescript
public readonly projenrcJsonOptions: ProjenrcJsonOptions;
@@ -4501,7 +4672,7 @@ Options for .projenrc.json.
---
-##### `renovatebot`Optional
+##### `renovatebot`Optional
```typescript
public readonly renovatebot: boolean;
@@ -4514,7 +4685,7 @@ Use renovatebot to handle dependency upgrades.
---
-##### `renovatebotOptions`Optional
+##### `renovatebotOptions`Optional
```typescript
public readonly renovatebotOptions: RenovatebotOptions;
@@ -4527,7 +4698,7 @@ Options for renovatebot.
---
-##### `autoApproveOptions`Optional
+##### `autoApproveOptions`Optional
```typescript
public readonly autoApproveOptions: AutoApproveOptions;
@@ -4540,7 +4711,7 @@ Enable and configure the 'auto approve' workflow.
---
-##### `autoMerge`Optional
+##### `autoMerge`Optional
```typescript
public readonly autoMerge: boolean;
@@ -4556,7 +4727,7 @@ is set to false.
---
-##### `autoMergeOptions`Optional
+##### `autoMergeOptions`Optional
```typescript
public readonly autoMergeOptions: AutoMergeOptions;
@@ -4572,7 +4743,7 @@ Has no effect if
---
-##### `clobber`Optional
+##### `clobber`Optional
```typescript
public readonly clobber: boolean;
@@ -4585,7 +4756,7 @@ Add a `clobber` task which resets the repo to origin.
---
-##### `devContainer`Optional
+##### `devContainer`Optional
```typescript
public readonly devContainer: boolean;
@@ -4598,7 +4769,7 @@ Add a VSCode development environment (used for GitHub Codespaces).
---
-##### `github`Optional
+##### `github`Optional
```typescript
public readonly github: boolean;
@@ -4613,7 +4784,7 @@ Enabled by default for root projects. Disabled for non-root projects.
---
-##### `githubOptions`Optional
+##### `githubOptions`Optional
```typescript
public readonly githubOptions: GitHubOptions;
@@ -4626,7 +4797,7 @@ Options for GitHub integration.
---
-##### `gitpod`Optional
+##### `gitpod`Optional
```typescript
public readonly gitpod: boolean;
@@ -4639,7 +4810,7 @@ Add a Gitpod development environment.
---
-##### ~~`mergify`~~Optional
+##### ~~`mergify`~~Optional
- *Deprecated:* use `githubOptions.mergify` instead
@@ -4654,7 +4825,7 @@ Whether mergify should be enabled on this repository or not.
---
-##### ~~`mergifyOptions`~~Optional
+##### ~~`mergifyOptions`~~Optional
- *Deprecated:* use `githubOptions.mergifyOptions` instead
@@ -4669,7 +4840,7 @@ Options for mergify.
---
-##### ~~`projectType`~~Optional
+##### ~~`projectType`~~Optional
- *Deprecated:* no longer supported at the base project level
@@ -4684,7 +4855,7 @@ Which type of project this is (library/app).
---
-##### `projenCredentials`Optional
+##### `projenCredentials`Optional
```typescript
public readonly projenCredentials: GithubCredentials;
@@ -4697,7 +4868,7 @@ Choose a method of providing GitHub API access for projen workflows.
---
-##### ~~`projenTokenSecret`~~Optional
+##### ~~`projenTokenSecret`~~Optional
- *Deprecated:* use `projenCredentials`
@@ -4715,7 +4886,7 @@ and `packages` scope.
---
-##### `readme`Optional
+##### `readme`Optional
```typescript
public readonly readme: SampleReadmeProps;
@@ -4735,7 +4906,7 @@ The README setup.
```
-##### `stale`Optional
+##### `stale`Optional
```typescript
public readonly stale: boolean;
@@ -4750,7 +4921,7 @@ See `staleOptions` for options.
---
-##### `staleOptions`Optional
+##### `staleOptions`Optional
```typescript
public readonly staleOptions: StaleOptions;
@@ -4765,7 +4936,7 @@ To disable set `stale` to `false`.
---
-##### `vscode`Optional
+##### `vscode`Optional
```typescript
public readonly vscode: boolean;
@@ -4780,7 +4951,7 @@ Enabled by default for root projects. Disabled for non-root projects.
---
-##### `allowLibraryDependencies`Optional
+##### `allowLibraryDependencies`Optional
```typescript
public readonly allowLibraryDependencies: boolean;
@@ -4796,7 +4967,7 @@ for specifying these.
---
-##### `authorEmail`Optional
+##### `authorEmail`Optional
```typescript
public readonly authorEmail: string;
@@ -4808,7 +4979,7 @@ Author's e-mail.
---
-##### `authorName`Optional
+##### `authorName`Optional
```typescript
public readonly authorName: string;
@@ -4820,7 +4991,7 @@ Author's name.
---
-##### `authorOrganization`Optional
+##### `authorOrganization`Optional
```typescript
public readonly authorOrganization: boolean;
@@ -4832,7 +5003,7 @@ Is the author an organization.
---
-##### `authorUrl`Optional
+##### `authorUrl`Optional
```typescript
public readonly authorUrl: string;
@@ -4844,7 +5015,7 @@ Author's URL / Website.
---
-##### `autoDetectBin`Optional
+##### `autoDetectBin`Optional
```typescript
public readonly autoDetectBin: boolean;
@@ -4857,7 +5028,7 @@ Automatically add all executables under the `bin` directory to your `package.jso
---
-##### `bin`Optional
+##### `bin`Optional
```typescript
public readonly bin: {[ key: string ]: string};
@@ -4873,7 +5044,7 @@ executable file under `bin` will automatically be added to this section.
---
-##### `bugsEmail`Optional
+##### `bugsEmail`Optional
```typescript
public readonly bugsEmail: string;
@@ -4885,7 +5056,7 @@ The email address to which issues should be reported.
---
-##### `bugsUrl`Optional
+##### `bugsUrl`Optional
```typescript
public readonly bugsUrl: string;
@@ -4897,7 +5068,7 @@ The url to your project's issue tracker.
---
-##### `bundledDeps`Optional
+##### `bundledDeps`Optional
```typescript
public readonly bundledDeps: string[];
@@ -4920,7 +5091,7 @@ this will be what you `package.json` will eventually include.
---
-##### `codeArtifactOptions`Optional
+##### `codeArtifactOptions`Optional
```typescript
public readonly codeArtifactOptions: CodeArtifactOptions;
@@ -4935,7 +5106,7 @@ This is required if publishing packages to, or installing scoped packages from A
---
-##### `deps`Optional
+##### `deps`Optional
```typescript
public readonly deps: string[];
@@ -4962,7 +5133,7 @@ this will be what you `package.json` will eventually include.
```
-##### `description`Optional
+##### `description`Optional
```typescript
public readonly description: string;
@@ -4977,7 +5148,7 @@ See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
---
-##### `devDeps`Optional
+##### `devDeps`Optional
```typescript
public readonly devDeps: string[];
@@ -5008,7 +5179,7 @@ this will be what you `package.json` will eventually include.
```
-##### `entrypoint`Optional
+##### `entrypoint`Optional
```typescript
public readonly entrypoint: string;
@@ -5023,7 +5194,7 @@ Set to an empty string to not include `main` in your package.json
---
-##### `homepage`Optional
+##### `homepage`Optional
```typescript
public readonly homepage: string;
@@ -5035,7 +5206,7 @@ Package's Homepage / Website.
---
-##### `keywords`Optional
+##### `keywords`Optional
```typescript
public readonly keywords: string[];
@@ -5047,7 +5218,7 @@ Keywords to include in `package.json`.
---
-##### `license`Optional
+##### `license`Optional
```typescript
public readonly license: string;
@@ -5063,7 +5234,7 @@ Use the `licensed` option if you want to no license to be specified.
---
-##### `licensed`Optional
+##### `licensed`Optional
```typescript
public readonly licensed: boolean;
@@ -5076,7 +5247,7 @@ Indicates if a license should be added.
---
-##### `maxNodeVersion`Optional
+##### `maxNodeVersion`Optional
```typescript
public readonly maxNodeVersion: string;
@@ -5089,7 +5260,7 @@ Minimum node.js version to require via `engines` (inclusive).
---
-##### `minNodeVersion`Optional
+##### `minNodeVersion`Optional
```typescript
public readonly minNodeVersion: string;
@@ -5102,7 +5273,7 @@ Minimum Node.js version to require via package.json `engines` (inclusive).
---
-##### `npmAccess`Optional
+##### `npmAccess`Optional
```typescript
public readonly npmAccess: NpmAccess;
@@ -5115,7 +5286,7 @@ Access level of the npm package.
---
-##### ~~`npmRegistry`~~Optional
+##### ~~`npmRegistry`~~Optional
- *Deprecated:* use `npmRegistryUrl` instead
@@ -5131,7 +5302,7 @@ Cannot be set together with `npmRegistryUrl`.
---
-##### `npmRegistryUrl`Optional
+##### `npmRegistryUrl`Optional
```typescript
public readonly npmRegistryUrl: string;
@@ -5146,7 +5317,7 @@ Must be a URL (e.g. start with "https://" or "http://")
---
-##### `npmTokenSecret`Optional
+##### `npmTokenSecret`Optional
```typescript
public readonly npmTokenSecret: string;
@@ -5159,20 +5330,20 @@ GitHub secret which contains the NPM token to use when publishing packages.
---
-##### `packageManager`Optional
+##### `packageManager`Optional
```typescript
public readonly packageManager: NodePackageManager;
```
- *Type:* projen.javascript.NodePackageManager
-- *Default:* NodePackageManager.YARN
+- *Default:* NodePackageManager.YARN_CLASSIC
The Node Package Manager used to execute scripts.
---
-##### `packageName`Optional
+##### `packageName`Optional
```typescript
public readonly packageName: string;
@@ -5185,7 +5356,7 @@ The "name" in package.json.
---
-##### `peerDependencyOptions`Optional
+##### `peerDependencyOptions`Optional
```typescript
public readonly peerDependencyOptions: PeerDependencyOptions;
@@ -5197,7 +5368,7 @@ Options for `peerDeps`.
---
-##### `peerDeps`Optional
+##### `peerDeps`Optional
```typescript
public readonly peerDeps: string[];
@@ -5224,7 +5395,7 @@ test your module against the lowest peer version required.
---
-##### `pnpmVersion`Optional
+##### `pnpmVersion`Optional
```typescript
public readonly pnpmVersion: string;
@@ -5237,7 +5408,7 @@ The version of PNPM to use if using PNPM as a package manager.
---
-##### `repository`Optional
+##### `repository`Optional
```typescript
public readonly repository: string;
@@ -5251,7 +5422,7 @@ See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
---
-##### `repositoryDirectory`Optional
+##### `repositoryDirectory`Optional
```typescript
public readonly repositoryDirectory: string;
@@ -5263,7 +5434,7 @@ If the package.json for your package is not in the root directory (for example i
---
-##### `scopedPackagesOptions`Optional
+##### `scopedPackagesOptions`Optional
```typescript
public readonly scopedPackagesOptions: ScopedPackagesOptions[];
@@ -5276,7 +5447,7 @@ Options for privately hosted scoped packages.
---
-##### ~~`scripts`~~Optional
+##### ~~`scripts`~~Optional
- *Deprecated:* use `project.addTask()` or `package.setScript()`
@@ -5295,7 +5466,7 @@ Also adds the script as a task.
---
-##### `stability`Optional
+##### `stability`Optional
```typescript
public readonly stability: string;
@@ -5307,7 +5478,20 @@ Package's Stability.
---
-##### `jsiiReleaseVersion`Optional
+##### `yarnBerryOptions`Optional
+
+```typescript
+public readonly yarnBerryOptions: YarnBerryOptions;
+```
+
+- *Type:* projen.javascript.YarnBerryOptions
+- *Default:* Yarn Berry v4 with all default options
+
+Options for Yarn Berry.
+
+---
+
+##### `jsiiReleaseVersion`Optional
```typescript
public readonly jsiiReleaseVersion: string;
@@ -5320,7 +5504,7 @@ Version requirement of `publib` which is used to publish modules to npm.
---
-##### `majorVersion`Optional
+##### `majorVersion`Optional
```typescript
public readonly majorVersion: number;
@@ -5336,7 +5520,7 @@ If not specified, we bump the global latest version.
---
-##### `minMajorVersion`Optional
+##### `minMajorVersion`Optional
```typescript
public readonly minMajorVersion: number;
@@ -5354,7 +5538,7 @@ Can not be set together with `majorVersion`.
---
-##### `npmDistTag`Optional
+##### `npmDistTag`Optional
```typescript
public readonly npmDistTag: string;
@@ -5370,7 +5554,7 @@ for each branch.
---
-##### `postBuildSteps`Optional
+##### `postBuildSteps`Optional
```typescript
public readonly postBuildSteps: JobStep[];
@@ -5383,7 +5567,7 @@ Steps to execute after build as part of the release workflow.
---
-##### `prerelease`Optional
+##### `prerelease`Optional
```typescript
public readonly prerelease: string;
@@ -5396,7 +5580,7 @@ Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pr
---
-##### `publishDryRun`Optional
+##### `publishDryRun`Optional
```typescript
public readonly publishDryRun: boolean;
@@ -5409,7 +5593,7 @@ Instead of actually publishing to package managers, just print the publishing co
---
-##### `publishTasks`Optional
+##### `publishTasks`Optional
```typescript
public readonly publishTasks: boolean;
@@ -5425,7 +5609,7 @@ in order to create a publishing task for each publishing activity.
---
-##### `releasableCommits`Optional
+##### `releasableCommits`Optional
```typescript
public readonly releasableCommits: ReleasableCommits;
@@ -5438,7 +5622,7 @@ Find commits that should be considered releasable Used to decide if a release is
---
-##### `releaseBranches`Optional
+##### `releaseBranches`Optional
```typescript
public readonly releaseBranches: {[ key: string ]: BranchOptions};
@@ -5458,7 +5642,7 @@ be provided for the default branch.
---
-##### ~~`releaseEveryCommit`~~Optional
+##### ~~`releaseEveryCommit`~~Optional
- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
@@ -5473,7 +5657,7 @@ Automatically release new versions every commit to one of branches in `releaseBr
---
-##### `releaseFailureIssue`Optional
+##### `releaseFailureIssue`Optional
```typescript
public readonly releaseFailureIssue: boolean;
@@ -5486,7 +5670,7 @@ Create a github issue on every failed publishing task.
---
-##### `releaseFailureIssueLabel`Optional
+##### `releaseFailureIssueLabel`Optional
```typescript
public readonly releaseFailureIssueLabel: string;
@@ -5501,7 +5685,7 @@ Only applies if `releaseFailureIssue` is true.
---
-##### ~~`releaseSchedule`~~Optional
+##### ~~`releaseSchedule`~~Optional
- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
@@ -5516,7 +5700,7 @@ CRON schedule to trigger new releases.
---
-##### `releaseTagPrefix`Optional
+##### `releaseTagPrefix`Optional
```typescript
public readonly releaseTagPrefix: string;
@@ -5534,7 +5718,7 @@ with the new prefix.
---
-##### `releaseTrigger`Optional
+##### `releaseTrigger`Optional
```typescript
public readonly releaseTrigger: ReleaseTrigger;
@@ -5547,7 +5731,7 @@ The release trigger to use.
---
-##### `releaseWorkflowName`Optional
+##### `releaseWorkflowName`Optional
```typescript
public readonly releaseWorkflowName: string;
@@ -5560,7 +5744,7 @@ The name of the default release workflow.
---
-##### `releaseWorkflowSetupSteps`Optional
+##### `releaseWorkflowSetupSteps`Optional
```typescript
public readonly releaseWorkflowSetupSteps: JobStep[];
@@ -5572,7 +5756,7 @@ A set of workflow steps to execute in order to setup the workflow container.
---
-##### `versionrcOptions`Optional
+##### `versionrcOptions`Optional
```typescript
public readonly versionrcOptions: {[ key: string ]: any};
@@ -5587,7 +5771,7 @@ Given values either append to default configuration or overwrite values in it.
---
-##### `workflowContainerImage`Optional
+##### `workflowContainerImage`Optional
```typescript
public readonly workflowContainerImage: string;
@@ -5600,7 +5784,7 @@ Container image to use for GitHub workflows.
---
-##### `workflowRunsOn`Optional
+##### `workflowRunsOn`Optional
```typescript
public readonly workflowRunsOn: string[];
@@ -5613,7 +5797,19 @@ Github Runner selection labels.
---
-##### `defaultReleaseBranch`Required
+##### `workflowRunsOnGroup`Optional
+
+```typescript
+public readonly workflowRunsOnGroup: GroupRunnerOptions;
+```
+
+- *Type:* projen.GroupRunnerOptions
+
+Github Runner Group selection options.
+
+---
+
+##### `defaultReleaseBranch`Required
```typescript
public readonly defaultReleaseBranch: string;
@@ -5626,7 +5822,7 @@ The name of the main release branch.
---
-##### `artifactsDirectory`Optional
+##### `artifactsDirectory`Optional
```typescript
public readonly artifactsDirectory: string;
@@ -5639,7 +5835,7 @@ A directory which will contain build artifacts.
---
-##### `autoApproveUpgrades`Optional
+##### `autoApproveUpgrades`Optional
```typescript
public readonly autoApproveUpgrades: boolean;
@@ -5654,7 +5850,7 @@ Throw if set to true but `autoApproveOptions` are not defined.
---
-##### `buildWorkflow`Optional
+##### `buildWorkflow`Optional
```typescript
public readonly buildWorkflow: boolean;
@@ -5667,7 +5863,7 @@ Define a GitHub workflow for building PRs.
---
-##### `buildWorkflowTriggers`Optional
+##### `buildWorkflowTriggers`Optional
```typescript
public readonly buildWorkflowTriggers: Triggers;
@@ -5680,7 +5876,7 @@ Build workflow triggers.
---
-##### `bundlerOptions`Optional
+##### `bundlerOptions`Optional
```typescript
public readonly bundlerOptions: BundlerOptions;
@@ -5692,7 +5888,7 @@ Options for `Bundler`.
---
-##### `codeCov`Optional
+##### `codeCov`Optional
```typescript
public readonly codeCov: boolean;
@@ -5705,7 +5901,7 @@ Define a GitHub workflow step for sending code coverage metrics to https://codec
---
-##### `codeCovTokenSecret`Optional
+##### `codeCovTokenSecret`Optional
```typescript
public readonly codeCovTokenSecret: string;
@@ -5718,7 +5914,7 @@ Define the secret name for a specified https://codecov.io/ token A secret is req
---
-##### `copyrightOwner`Optional
+##### `copyrightOwner`Optional
```typescript
public readonly copyrightOwner: string;
@@ -5731,7 +5927,7 @@ License copyright owner.
---
-##### `copyrightPeriod`Optional
+##### `copyrightPeriod`Optional
```typescript
public readonly copyrightPeriod: string;
@@ -5744,7 +5940,7 @@ The copyright years to put in the LICENSE file.
---
-##### `dependabot`Optional
+##### `dependabot`Optional
```typescript
public readonly dependabot: boolean;
@@ -5759,7 +5955,7 @@ Cannot be used in conjunction with `depsUpgrade`.
---
-##### `dependabotOptions`Optional
+##### `dependabotOptions`Optional
```typescript
public readonly dependabotOptions: DependabotOptions;
@@ -5772,7 +5968,7 @@ Options for dependabot.
---
-##### `depsUpgrade`Optional
+##### `depsUpgrade`Optional
```typescript
public readonly depsUpgrade: boolean;
@@ -5781,13 +5977,13 @@ public readonly depsUpgrade: boolean;
- *Type:* boolean
- *Default:* true
-Use github workflows to handle dependency upgrades.
+Use tasks and github workflows to handle dependency upgrades.
Cannot be used in conjunction with `dependabot`.
---
-##### `depsUpgradeOptions`Optional
+##### `depsUpgradeOptions`Optional
```typescript
public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
@@ -5800,7 +5996,7 @@ Options for `UpgradeDependencies`.
---
-##### `gitignore`Optional
+##### `gitignore`Optional
```typescript
public readonly gitignore: string[];
@@ -5812,7 +6008,7 @@ Additional entries to .gitignore.
---
-##### `jest`Optional
+##### `jest`Optional
```typescript
public readonly jest: boolean;
@@ -5825,7 +6021,7 @@ Setup jest unit tests.
---
-##### `jestOptions`Optional
+##### `jestOptions`Optional
```typescript
public readonly jestOptions: JestOptions;
@@ -5838,7 +6034,7 @@ Jest options.
---
-##### `mutableBuild`Optional
+##### `mutableBuild`Optional
```typescript
public readonly mutableBuild: boolean;
@@ -5857,7 +6053,7 @@ Implies that PR builds do not have anti-tamper checks.
---
-##### ~~`npmignore`~~Optional
+##### ~~`npmignore`~~Optional
- *Deprecated:* - use `project.addPackageIgnore`
@@ -5871,7 +6067,7 @@ Additional entries to .npmignore.
---
-##### `npmignoreEnabled`Optional
+##### `npmignoreEnabled`Optional
```typescript
public readonly npmignoreEnabled: boolean;
@@ -5884,7 +6080,7 @@ Defines an .npmignore file. Normally this is only needed for libraries that are
---
-##### `npmIgnoreOptions`Optional
+##### `npmIgnoreOptions`Optional
```typescript
public readonly npmIgnoreOptions: IgnoreFileOptions;
@@ -5896,7 +6092,7 @@ Configuration options for .npmignore file.
---
-##### `package`Optional
+##### `package`Optional
```typescript
public readonly package: boolean;
@@ -5909,7 +6105,7 @@ Defines a `package` task that will produce an npm tarball under the artifacts di
---
-##### `prettier`Optional
+##### `prettier`Optional
```typescript
public readonly prettier: boolean;
@@ -5922,7 +6118,7 @@ Setup prettier.
---
-##### `prettierOptions`Optional
+##### `prettierOptions`Optional
```typescript
public readonly prettierOptions: PrettierOptions;
@@ -5935,7 +6131,7 @@ Prettier options.
---
-##### `projenDevDependency`Optional
+##### `projenDevDependency`Optional
```typescript
public readonly projenDevDependency: boolean;
@@ -5948,7 +6144,7 @@ Indicates of "projen" should be installed as a devDependency.
---
-##### `projenrcJs`Optional
+##### `projenrcJs`Optional
```typescript
public readonly projenrcJs: boolean;
@@ -5961,7 +6157,7 @@ Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable
---
-##### `projenrcJsOptions`Optional
+##### `projenrcJsOptions`Optional
```typescript
public readonly projenrcJsOptions: ProjenrcOptions;
@@ -5974,7 +6170,7 @@ Options for .projenrc.js.
---
-##### `projenVersion`Optional
+##### `projenVersion`Optional
```typescript
public readonly projenVersion: string;
@@ -5987,7 +6183,7 @@ Version of projen to install.
---
-##### `pullRequestTemplate`Optional
+##### `pullRequestTemplate`Optional
```typescript
public readonly pullRequestTemplate: boolean;
@@ -6000,7 +6196,7 @@ Include a GitHub pull request template.
---
-##### `pullRequestTemplateContents`Optional
+##### `pullRequestTemplateContents`Optional
```typescript
public readonly pullRequestTemplateContents: string[];
@@ -6013,7 +6209,7 @@ The contents of the pull request template.
---
-##### `release`Optional
+##### `release`Optional
```typescript
public readonly release: boolean;
@@ -6026,7 +6222,7 @@ Add release management to this project.
---
-##### `releaseToNpm`Optional
+##### `releaseToNpm`Optional
```typescript
public readonly releaseToNpm: boolean;
@@ -6039,7 +6235,7 @@ Automatically release to npm when new versions are introduced.
---
-##### ~~`releaseWorkflow`~~Optional
+##### ~~`releaseWorkflow`~~Optional
- *Deprecated:* see `release`.
@@ -6054,7 +6250,7 @@ DEPRECATED: renamed to `release`.
---
-##### `workflowBootstrapSteps`Optional
+##### `workflowBootstrapSteps`Optional
```typescript
public readonly workflowBootstrapSteps: JobStep[];
@@ -6067,7 +6263,7 @@ Workflow steps to use in order to bootstrap this repo.
---
-##### `workflowGitIdentity`Optional
+##### `workflowGitIdentity`Optional
```typescript
public readonly workflowGitIdentity: GitIdentity;
@@ -6080,7 +6276,7 @@ The git identity to use in workflows.
---
-##### `workflowNodeVersion`Optional
+##### `workflowNodeVersion`Optional
```typescript
public readonly workflowNodeVersion: string;
@@ -6093,7 +6289,7 @@ The node version to use in GitHub workflows.
---
-##### `workflowPackageCache`Optional
+##### `workflowPackageCache`Optional
```typescript
public readonly workflowPackageCache: boolean;
@@ -6106,7 +6302,7 @@ Enable Node.js package cache in GitHub workflows.
---
-##### `disableTsconfig`Optional
+##### `disableTsconfig`Optional
```typescript
public readonly disableTsconfig: boolean;
@@ -6119,7 +6315,7 @@ Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.jso
---
-##### `disableTsconfigDev`Optional
+##### `disableTsconfigDev`Optional
```typescript
public readonly disableTsconfigDev: boolean;
@@ -6132,7 +6328,7 @@ Do not generate a `tsconfig.dev.json` file.
---
-##### `docgen`Optional
+##### `docgen`Optional
```typescript
public readonly docgen: boolean;
@@ -6145,7 +6341,7 @@ Docgen by Typedoc.
---
-##### `docsDirectory`Optional
+##### `docsDirectory`Optional
```typescript
public readonly docsDirectory: string;
@@ -6158,7 +6354,7 @@ Docs directory.
---
-##### `entrypointTypes`Optional
+##### `entrypointTypes`Optional
```typescript
public readonly entrypointTypes: string;
@@ -6171,7 +6367,7 @@ The .d.ts file that includes the type declarations for this module.
---
-##### `eslint`Optional
+##### `eslint`Optional
```typescript
public readonly eslint: boolean;
@@ -6184,7 +6380,7 @@ Setup eslint.
---
-##### `eslintOptions`Optional
+##### `eslintOptions`Optional
```typescript
public readonly eslintOptions: EslintOptions;
@@ -6197,7 +6393,7 @@ Eslint options.
---
-##### `libdir`Optional
+##### `libdir`Optional
```typescript
public readonly libdir: string;
@@ -6210,7 +6406,7 @@ Typescript artifacts output directory.
---
-##### `projenrcTs`Optional
+##### `projenrcTs`Optional
```typescript
public readonly projenrcTs: boolean;
@@ -6223,7 +6419,7 @@ Use TypeScript for your projenrc file (`.projenrc.ts`).
---
-##### `projenrcTsOptions`Optional
+##### `projenrcTsOptions`Optional
```typescript
public readonly projenrcTsOptions: ProjenrcOptions;
@@ -6235,7 +6431,7 @@ Options for .projenrc.ts.
---
-##### `sampleCode`Optional
+##### `sampleCode`Optional
```typescript
public readonly sampleCode: boolean;
@@ -6248,7 +6444,7 @@ Generate one-time sample in `src/` and `test/` if there are no files there.
---
-##### `srcdir`Optional
+##### `srcdir`Optional
```typescript
public readonly srcdir: string;
@@ -6261,7 +6457,7 @@ Typescript sources directory.
---
-##### `testdir`Optional
+##### `testdir`Optional
```typescript
public readonly testdir: string;
@@ -6279,7 +6475,7 @@ compile the code in-memory.
---
-##### `tsconfig`Optional
+##### `tsconfig`Optional
```typescript
public readonly tsconfig: TypescriptConfigOptions;
@@ -6292,7 +6488,7 @@ Custom TSConfig.
---
-##### `tsconfigDev`Optional
+##### `tsconfigDev`Optional
```typescript
public readonly tsconfigDev: TypescriptConfigOptions;
@@ -6305,7 +6501,7 @@ Custom tsconfig options for the development tsconfig.json file (used for testing
---
-##### `tsconfigDevFile`Optional
+##### `tsconfigDevFile`Optional
```typescript
public readonly tsconfigDevFile: string;
@@ -6318,7 +6514,7 @@ The name of the development tsconfig.json file.
---
-##### `typescriptVersion`Optional
+##### `typescriptVersion`Optional
```typescript
public readonly typescriptVersion: string;
@@ -6334,7 +6530,7 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
---
-##### `additionalCompilerDependencies`Optional
+##### `additionalCompilerDependencies`Optional
```typescript
public readonly additionalCompilerDependencies: string[];
@@ -6349,7 +6545,7 @@ Any package that produces a published artifact should be included in this list.
---
-##### `backport`Optional
+##### `backport`Optional
```typescript
public readonly backport: boolean;
@@ -6362,7 +6558,7 @@ Configure a backport workflow.
---
-##### `backportBranches`Optional
+##### `backportBranches`Optional
```typescript
public readonly backportBranches: string[];
@@ -6371,4085 +6567,4261 @@ public readonly backportBranches: string[];
- *Type:* string[]
- *Default:* Will be derived from PR labels.
-Branches to backport to.
+Branches to backport to.
+
+---
+
+##### `repoName`Optional
+
+```typescript
+public readonly repoName: string;
+```
+
+- *Type:* string
+- *Default:* the package name.
+
+The name of the repository inside the cdk8s-team org where the code of the project is locate in.
+
+---
+
+##### `golang`Optional
+
+```typescript
+public readonly golang: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Publish Golang bindings to GitHub.
+
+---
+
+##### `golangBranch`Optional
+
+```typescript
+public readonly golangBranch: string;
+```
+
+- *Type:* string
+- *Default:* 'main'
+
+Name of the branch in the golang repository to publish to.
+
+---
+
+##### `jsiiVersion`Optional
+
+```typescript
+public readonly jsiiVersion: string;
+```
+
+- *Type:* string
+- *Default:* '1.x'
+
+JSII version to use.
+
+---
+
+##### `maven`Optional
+
+```typescript
+public readonly maven: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Publish Java bindings to Maven.
+
+---
+
+##### `nuget`Optional
+
+```typescript
+public readonly nuget: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Publish Dotnet bindings to Nuget.
---
-##### `repoName`Optional
+##### `pypi`Optional
```typescript
-public readonly repoName: string;
+public readonly pypi: boolean;
```
-- *Type:* string
-- *Default:* the package name.
+- *Type:* boolean
+- *Default:* true
-The name of the repository inside the cdk8s-team org where the code of the project is locate in.
+Publish Python bindings to PyPI.
---
-## Classes
+### Cdk8sTeamNodeProjectOptions
-### Cdk8sTeamJsiiProject
+Options for `Cdk8sTeamNodeProject`.
-#### Initializers
+#### Initializer
```typescript
-import { Cdk8sTeamJsiiProject } from '@cdk8s/projen-common'
+import { Cdk8sTeamNodeProjectOptions } from '@cdk8s/projen-common'
-new Cdk8sTeamJsiiProject(options: Cdk8sTeamJsiiProjectOptions)
+const cdk8sTeamNodeProjectOptions: Cdk8sTeamNodeProjectOptions = { ... }
```
+#### Properties
+
| **Name** | **Type** | **Description** |
| --- | --- | --- |
-| options
| Cdk8sTeamJsiiProjectOptions
| *No description.* |
-
----
-
-##### `options`Required
-
-- *Type:* Cdk8sTeamJsiiProjectOptions
-
----
-
-#### Methods
-
-| **Name** | **Description** |
-| --- | --- |
-| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
-| addGitIgnore
| Adds a .gitignore pattern. |
-| addPackageIgnore
| Exclude these files from the bundled package. |
-| addTask
| Adds a new task to this project. |
-| addTip
| Prints a "tip" message during synthesis. |
-| annotateGenerated
| Marks the provided file(s) as being generated. |
-| postSynthesize
| Called after all components are synthesized. |
-| preSynthesize
| Called before all components are synthesized. |
-| removeTask
| Removes a task from a project. |
-| runTaskCommand
| Returns the shell command to execute in order to run a task. |
-| synth
| Synthesize all project files into `outdir`. |
-| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
-| tryFindJsonFile
| Finds a json file by name. |
-| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
-| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
-| addBins
| *No description.* |
-| addBundledDeps
| Defines bundled dependencies. |
-| addCompileCommand
| DEPRECATED. |
-| addDeps
| Defines normal dependencies. |
-| addDevDeps
| Defines development/test dependencies. |
-| addFields
| Directly set fields in `package.json`. |
-| addKeywords
| Adds keywords to package.json (deduplicated). |
-| addPeerDeps
| Defines peer dependencies. |
-| addScripts
| Replaces the contents of multiple npm package.json scripts. |
-| addTestCommand
| DEPRECATED. |
-| hasScript
| Indicates if a script by the name name is defined. |
-| removeScript
| Removes the npm script (always successful). |
-| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
-| setScript
| Replaces the contents of an npm package.json script. |
+| name
| string
| This is the name of your project. |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
+| gitOptions
| projen.GitOptions
| Configuration options for git. |
+| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
+| outdir
| string
| The root directory of the project. |
+| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
+| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
+| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
+| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
+| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
+| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
+| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
+| autoMerge
| boolean
| Enable automatic merging on GitHub. |
+| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
+| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
+| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
+| github
| boolean
| Enable GitHub integration. |
+| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
+| gitpod
| boolean
| Add a Gitpod development environment. |
+| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
+| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
+| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
+| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
+| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
+| readme
| projen.SampleReadmeProps
| The README setup. |
+| stale
| boolean
| Auto-close of stale issues and pull request. |
+| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
+| vscode
| boolean
| Enable VSCode integration. |
+| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
+| authorEmail
| string
| Author's e-mail. |
+| authorName
| string
| Author's name. |
+| authorOrganization
| boolean
| Is the author an organization. |
+| authorUrl
| string
| Author's URL / Website. |
+| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
+| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
+| bugsEmail
| string
| The email address to which issues should be reported. |
+| bugsUrl
| string
| The url to your project's issue tracker. |
+| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
+| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
+| deps
| string[]
| Runtime dependencies of this module. |
+| description
| string
| The description is just a string that helps people understand the purpose of the package. |
+| devDeps
| string[]
| Build dependencies for this module. |
+| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
+| homepage
| string
| Package's Homepage / Website. |
+| keywords
| string[]
| Keywords to include in `package.json`. |
+| license
| string
| License's SPDX identifier. |
+| licensed
| boolean
| Indicates if a license should be added. |
+| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
+| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
+| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
+| npmRegistry
| string
| The host name of the npm registry to publish to. |
+| npmRegistryUrl
| string
| The base URL of the npm package registry. |
+| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
+| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
+| packageName
| string
| The "name" in package.json. |
+| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
+| peerDeps
| string[]
| Peer dependencies for this module. |
+| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
+| repository
| string
| The repository is the location where the actual code for your package lives. |
+| repositoryDirectory
| string
| 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. |
+| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
+| scripts
| {[ key: string ]: string}
| npm scripts to include. |
+| stability
| string
| Package's Stability. |
+| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
+| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
+| majorVersion
| number
| Major version to release from the default branch. |
+| minMajorVersion
| number
| Minimal Major version to release. |
+| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
+| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
+| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
+| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
+| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
+| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
+| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
+| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
+| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
+| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
+| releaseSchedule
| string
| CRON schedule to trigger new releases. |
+| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
+| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
+| releaseWorkflowName
| string
| The name of the default release workflow. |
+| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
+| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
+| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
+| workflowRunsOn
| string[]
| Github Runner selection labels. |
+| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
+| defaultReleaseBranch
| string
| The name of the main release branch. |
+| artifactsDirectory
| string
| A directory which will contain build artifacts. |
+| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
+| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
+| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
+| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
+| codeCov
| boolean
| 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`. |
+| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
+| copyrightOwner
| string
| License copyright owner. |
+| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
+| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
+| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
+| depsUpgrade
| boolean
| Use tasks and github workflows to handle dependency upgrades. |
+| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
+| gitignore
| string[]
| Additional entries to .gitignore. |
+| jest
| boolean
| Setup jest unit tests. |
+| jestOptions
| projen.javascript.JestOptions
| Jest options. |
+| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
+| npmignore
| string[]
| Additional entries to .npmignore. |
+| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
+| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
+| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
+| prettier
| boolean
| Setup prettier. |
+| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
+| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
+| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
+| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
+| projenVersion
| string
| Version of projen to install. |
+| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
+| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
+| release
| boolean
| Add release management to this project. |
+| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
+| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
+| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
+| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
+| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
+| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
+| backport
| boolean
| Configure a backport workflow. |
+| backportBranches
| string[]
| Branches to backport to. |
+| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
---
-##### `addExcludeFromCleanup`
+##### `name`Required
```typescript
-public addExcludeFromCleanup(globs: string): void
+public readonly name: string;
```
-Exclude the matching files from pre-synth cleanup.
-
-Can be used when, for example, some
-source files include the projen marker and we don't want them to be erased during synth.
-
-###### `globs`Required
-
- *Type:* string
+- *Default:* $BASEDIR
-The glob patterns to match.
+This is the name of your project.
---
-##### `addGitIgnore`
+##### `commitGenerated`Optional
```typescript
-public addGitIgnore(pattern: string): void
+public readonly commitGenerated: boolean;
```
-Adds a .gitignore pattern.
-
-###### `pattern`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-The glob pattern to ignore.
+Whether to commit the managed files by default.
---
-##### `addPackageIgnore`
+##### `gitIgnoreOptions`Optional
```typescript
-public addPackageIgnore(pattern: string): void
+public readonly gitIgnoreOptions: IgnoreFileOptions;
```
-Exclude these files from the bundled package.
-
-Implemented by project types based on the
-packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
-
-###### `pattern`Required
+- *Type:* projen.IgnoreFileOptions
-- *Type:* string
+Configuration options for .gitignore file.
---
-##### `addTask`
+##### `gitOptions`Optional
```typescript
-public addTask(name: string, props?: TaskOptions): Task
+public readonly gitOptions: GitOptions;
```
-Adds a new task to this project.
-
-This will fail if the project already has
-a task with this name.
-
-###### `name`Required
-
-- *Type:* string
+- *Type:* projen.GitOptions
-The task name to add.
+Configuration options for git.
---
-###### `props`Optional
+##### `logging`Optional
-- *Type:* projen.TaskOptions
+```typescript
+public readonly logging: LoggerOptions;
+```
-Task properties.
+- *Type:* projen.LoggerOptions
+- *Default:* {}
+
+Configure logging options such as verbosity.
---
-##### ~~`addTip`~~
+##### `outdir`Optional
```typescript
-public addTip(message: string): void
+public readonly outdir: string;
```
-Prints a "tip" message during synthesis.
+- *Type:* string
+- *Default:* "."
-###### `message`Required
+The root directory of the project.
-- *Type:* string
+Relative to this directory, all files are synthesized.
-The message.
+If this project has a parent, this directory is relative to the parent
+directory and it cannot be the same as the parent or any of it's other
+subprojects.
---
-##### `annotateGenerated`
+##### `parent`Optional
```typescript
-public annotateGenerated(glob: string): void
+public readonly parent: Project;
```
-Marks the provided file(s) as being generated.
+- *Type:* projen.Project
-This is achieved using the
-github-linguist attributes. Generated files do not count against the
-repository statistics and language breakdown.
+The parent project, if this project is part of a bigger project.
-> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
+---
-###### `glob`Required
+##### `projenCommand`Optional
+
+```typescript
+public readonly projenCommand: string;
+```
- *Type:* string
+- *Default:* "npx projen"
-the glob pattern to match (could be a file path).
+The shell command to use in order to run the projen CLI.
+
+Can be used to customize in special environments.
---
-##### `postSynthesize`
+##### `projenrcJson`Optional
```typescript
-public postSynthesize(): void
+public readonly projenrcJson: boolean;
```
-Called after all components are synthesized.
+- *Type:* boolean
+- *Default:* false
-Order is *not* guaranteed.
+Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
-##### `preSynthesize`
+---
+
+##### `projenrcJsonOptions`Optional
```typescript
-public preSynthesize(): void
+public readonly projenrcJsonOptions: ProjenrcJsonOptions;
```
-Called before all components are synthesized.
+- *Type:* projen.ProjenrcJsonOptions
+- *Default:* default options
-##### `removeTask`
+Options for .projenrc.json.
-```typescript
-public removeTask(name: string): Task
-```
+---
-Removes a task from a project.
+##### `renovatebot`Optional
-###### `name`Required
+```typescript
+public readonly renovatebot: boolean;
+```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-The name of the task to remove.
+Use renovatebot to handle dependency upgrades.
---
-##### `runTaskCommand`
+##### `renovatebotOptions`Optional
```typescript
-public runTaskCommand(task: Task): string
+public readonly renovatebotOptions: RenovatebotOptions;
```
-Returns the shell command to execute in order to run a task.
-
-This will
-typically be `npx projen TASK`.
-
-###### `task`Required
-
-- *Type:* projen.Task
+- *Type:* projen.RenovatebotOptions
+- *Default:* default options
-The task for which the command is required.
+Options for renovatebot.
---
-##### `synth`
+##### `autoApproveOptions`Optional
```typescript
-public synth(): void
+public readonly autoApproveOptions: AutoApproveOptions;
```
-Synthesize all project files into `outdir`.
+- *Type:* projen.github.AutoApproveOptions
+- *Default:* auto approve is disabled
-1. Call "this.preSynthesize()"
-2. Delete all generated files
-3. Synthesize all sub-projects
-4. Synthesize all components of this project
-5. Call "postSynthesize()" for all components of this project
-6. Call "this.postSynthesize()"
+Enable and configure the 'auto approve' workflow.
-##### `tryFindFile`
+---
+
+##### `autoMerge`Optional
```typescript
-public tryFindFile(filePath: string): FileBase
+public readonly autoMerge: boolean;
```
-Finds a file at the specified relative path within this project and all its subprojects.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-The file path.
+Enable automatic merging on GitHub.
-If this path is relative, it will be resolved
-from the root of _this_ project.
+Has no effect if `github.mergify`
+is set to false.
---
-##### ~~`tryFindJsonFile`~~
+##### `autoMergeOptions`Optional
```typescript
-public tryFindJsonFile(filePath: string): JsonFile
+public readonly autoMergeOptions: AutoMergeOptions;
```
-Finds a json file by name.
-
-###### `filePath`Required
+- *Type:* projen.github.AutoMergeOptions
+- *Default:* see defaults in `AutoMergeOptions`
-- *Type:* string
+Configure options for automatic merging on GitHub.
-The file path.
+Has no effect if
+`github.mergify` or `autoMerge` is set to false.
---
-##### `tryFindObjectFile`
+##### `clobber`Optional
```typescript
-public tryFindObjectFile(filePath: string): ObjectFile
+public readonly clobber: boolean;
```
-Finds an object file (like JsonFile, YamlFile, etc.) by name.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* true, but false for subprojects
-The file path.
+Add a `clobber` task which resets the repo to origin.
---
-##### `tryRemoveFile`
+##### `devContainer`Optional
```typescript
-public tryRemoveFile(filePath: string): FileBase
+public readonly devContainer: boolean;
```
-Finds a file at the specified relative path within this project and removes it.
-
-###### `filePath`Required
-
-- *Type:* string
-
-The file path.
+- *Type:* boolean
+- *Default:* false
-If this path is relative, it will be
-resolved from the root of _this_ project.
+Add a VSCode development environment (used for GitHub Codespaces).
---
-##### `addBins`
+##### `github`Optional
```typescript
-public addBins(bins: {[ key: string ]: string}): void
+public readonly github: boolean;
```
-###### `bins`Required
+- *Type:* boolean
+- *Default:* true
-- *Type:* {[ key: string ]: string}
+Enable GitHub integration.
+
+Enabled by default for root projects. Disabled for non-root projects.
---
-##### `addBundledDeps`
+##### `githubOptions`Optional
```typescript
-public addBundledDeps(deps: string): void
+public readonly githubOptions: GitHubOptions;
```
-Defines bundled dependencies.
+- *Type:* projen.github.GitHubOptions
+- *Default:* see GitHubOptions
-Bundled dependencies will be added as normal dependencies as well as to the
-`bundledDependencies` section of your `package.json`.
+Options for GitHub integration.
-###### `deps`Required
+---
-- *Type:* string
+##### `gitpod`Optional
-Names modules to install.
+```typescript
+public readonly gitpod: boolean;
+```
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+- *Type:* boolean
+- *Default:* false
+
+Add a Gitpod development environment.
---
-##### ~~`addCompileCommand`~~
+##### ~~`mergify`~~Optional
+
+- *Deprecated:* use `githubOptions.mergify` instead
```typescript
-public addCompileCommand(commands: string): void
+public readonly mergify: boolean;
```
-DEPRECATED.
-
-###### `commands`Required
+- *Type:* boolean
+- *Default:* true
-- *Type:* string
+Whether mergify should be enabled on this repository or not.
---
-##### `addDeps`
+##### ~~`mergifyOptions`~~Optional
+
+- *Deprecated:* use `githubOptions.mergifyOptions` instead
```typescript
-public addDeps(deps: string): void
+public readonly mergifyOptions: MergifyOptions;
```
-Defines normal dependencies.
-
-###### `deps`Required
-
-- *Type:* string
-
-Names modules to install.
+- *Type:* projen.github.MergifyOptions
+- *Default:* default options
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Options for mergify.
---
-##### `addDevDeps`
+##### ~~`projectType`~~Optional
+
+- *Deprecated:* no longer supported at the base project level
```typescript
-public addDevDeps(deps: string): void
+public readonly projectType: ProjectType;
```
-Defines development/test dependencies.
+- *Type:* projen.ProjectType
+- *Default:* ProjectType.UNKNOWN
-###### `deps`Required
+Which type of project this is (library/app).
-- *Type:* string
+---
-Names modules to install.
+##### `projenCredentials`Optional
+
+```typescript
+public readonly projenCredentials: GithubCredentials;
+```
+
+- *Type:* projen.github.GithubCredentials
+- *Default:* use a personal access token named PROJEN_GITHUB_TOKEN
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Choose a method of providing GitHub API access for projen workflows.
---
-##### `addFields`
+##### ~~`projenTokenSecret`~~Optional
+
+- *Deprecated:* use `projenCredentials`
```typescript
-public addFields(fields: {[ key: string ]: any}): void
+public readonly projenTokenSecret: string;
```
-Directly set fields in `package.json`.
-
-###### `fields`Required
+- *Type:* string
+- *Default:* "PROJEN_GITHUB_TOKEN"
-- *Type:* {[ key: string ]: any}
+The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
-The fields to set.
+This token needs to have the `repo`, `workflows`
+and `packages` scope.
---
-##### `addKeywords`
+##### `readme`Optional
```typescript
-public addKeywords(keywords: string): void
+public readonly readme: SampleReadmeProps;
```
-Adds keywords to package.json (deduplicated).
-
-###### `keywords`Required
-
-- *Type:* string
+- *Type:* projen.SampleReadmeProps
+- *Default:* { filename: 'README.md', contents: '# replace this' }
-The keywords to add.
+The README setup.
---
-##### `addPeerDeps`
+*Example*
```typescript
-public addPeerDeps(deps: string): void
+"{ filename: 'readme.md', contents: '# title' }"
```
-Defines peer dependencies.
-When adding peer dependencies, a devDependency will also be added on the
-pinned version of the declared peer. This will ensure that you are testing
-your code against the minimum version required from your consumers.
+##### `stale`Optional
-###### `deps`Required
+```typescript
+public readonly stale: boolean;
+```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-Names modules to install.
+Auto-close of stale issues and pull request.
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+See `staleOptions` for options.
---
-##### `addScripts`
+##### `staleOptions`Optional
```typescript
-public addScripts(scripts: {[ key: string ]: string}): void
+public readonly staleOptions: StaleOptions;
```
-Replaces the contents of multiple npm package.json scripts.
-
-###### `scripts`Required
+- *Type:* projen.github.StaleOptions
+- *Default:* see defaults in `StaleOptions`
-- *Type:* {[ key: string ]: string}
+Auto-close stale issues and pull requests.
-The scripts to set.
+To disable set `stale` to `false`.
---
-##### ~~`addTestCommand`~~
+##### `vscode`Optional
```typescript
-public addTestCommand(commands: string): void
+public readonly vscode: boolean;
```
-DEPRECATED.
+- *Type:* boolean
+- *Default:* true
-###### `commands`Required
+Enable VSCode integration.
-- *Type:* string
+Enabled by default for root projects. Disabled for non-root projects.
---
-##### ~~`hasScript`~~
+##### `allowLibraryDependencies`Optional
```typescript
-public hasScript(name: string): boolean
+public readonly allowLibraryDependencies: boolean;
```
-Indicates if a script by the name name is defined.
-
-###### `name`Required
+- *Type:* boolean
+- *Default:* true
-- *Type:* string
+Allow the project to include `peerDependencies` and `bundledDependencies`.
-The name of the script.
+This is normally only allowed for libraries. For apps, there's no meaning
+for specifying these.
---
-##### `removeScript`
+##### `authorEmail`Optional
```typescript
-public removeScript(name: string): void
+public readonly authorEmail: string;
```
-Removes the npm script (always successful).
-
-###### `name`Required
-
- *Type:* string
-The name of the script.
+Author's e-mail.
---
-##### `renderWorkflowSetup`
+##### `authorName`Optional
```typescript
-public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
+public readonly authorName: string;
```
-Returns the set of workflow steps which should be executed to bootstrap a workflow.
-
-###### `options`Optional
-
-- *Type:* projen.javascript.RenderWorkflowSetupOptions
+- *Type:* string
-Options.
+Author's name.
---
-##### `setScript`
+##### `authorOrganization`Optional
```typescript
-public setScript(name: string, command: string): void
+public readonly authorOrganization: boolean;
```
-Replaces the contents of an npm package.json script.
-
-###### `name`Required
-
-- *Type:* string
+- *Type:* boolean
-The script name.
+Is the author an organization.
---
-###### `command`Required
+##### `authorUrl`Optional
+
+```typescript
+public readonly authorUrl: string;
+```
- *Type:* string
-The command to execute.
+Author's URL / Website.
---
+##### `autoDetectBin`Optional
-#### Properties
+```typescript
+public readonly autoDetectBin: boolean;
+```
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| buildTask
| projen.Task
| *No description.* |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| compileTask
| projen.Task
| *No description.* |
-| components
| projen.Component[]
| Returns all the components within this project. |
-| deps
| projen.Dependencies
| Project dependencies. |
-| ejected
| boolean
| Whether or not the project is being ejected. |
-| files
| projen.FileBase[]
| All files in this project. |
-| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
-| gitignore
| projen.IgnoreFile
| .gitignore. |
-| logger
| projen.Logger
| Logging utilities. |
-| name
| string
| Project name. |
-| outdir
| string
| Absolute output directory of this project. |
-| packageTask
| projen.Task
| *No description.* |
-| postCompileTask
| projen.Task
| *No description.* |
-| preCompileTask
| projen.Task
| *No description.* |
-| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
-| projenCommand
| string
| The command to use in order to run the projen CLI. |
-| root
| projen.Project
| The root project. |
-| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
-| tasks
| projen.Tasks
| Project tasks. |
-| testTask
| projen.Task
| *No description.* |
-| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
-| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
-| parent
| projen.Project
| A parent project. |
-| projectType
| projen.ProjectType
| *No description.* |
-| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
-| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
-| github
| projen.github.GitHub
| Access all github components. |
-| gitpod
| projen.Gitpod
| Access for Gitpod. |
-| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
-| allowLibraryDependencies
| boolean
| *No description.* |
-| artifactsDirectory
| string
| The build output directory. |
-| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
-| bundler
| projen.javascript.Bundler
| *No description.* |
-| entrypoint
| string
| *No description.* |
-| manifest
| any
| *No description.* |
-| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
-| package
| projen.javascript.NodePackage
| API for managing the node package. |
-| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
-| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
-| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
-| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
-| buildWorkflowJobId
| string
| The job ID of the build workflow. |
-| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
-| maxNodeVersion
| string
| Maximum node version required by this package. |
-| minNodeVersion
| string
| Minimum node.js version required by this package. |
-| npmignore
| projen.IgnoreFile
| The .npmignore file. |
-| prettier
| projen.javascript.Prettier
| *No description.* |
-| publisher
| projen.release.Publisher
| Package publisher. |
-| release
| projen.release.Release
| Release management. |
-| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
-| docsDirectory
| string
| *No description.* |
-| libdir
| string
| The directory in which compiled .js files reside. |
-| srcdir
| string
| The directory in which the .ts sources reside. |
-| testdir
| string
| The directory in which tests reside. |
-| tsconfigDev
| projen.javascript.TypescriptConfig
| A typescript configuration file which covers all files (sources, tests, projen). |
-| watchTask
| projen.Task
| The "watch" task. |
-| docgen
| boolean
| *No description.* |
-| eslint
| projen.javascript.Eslint
| *No description.* |
-| tsconfig
| projen.javascript.TypescriptConfig
| *No description.* |
-| tsconfigEslint
| projen.javascript.TypescriptConfig
| *No description.* |
+- *Type:* boolean
+- *Default:* true
+
+Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
---
-##### `buildTask`Required
+##### `bin`Optional
```typescript
-public readonly buildTask: Task;
+public readonly bin: {[ key: string ]: string};
```
-- *Type:* projen.Task
+- *Type:* {[ key: string ]: string}
+
+Binary programs vended with your module.
+
+You can use this option to add/customize how binaries are represented in
+your `package.json`, but unless `autoDetectBin` is `false`, every
+executable file under `bin` will automatically be added to this section.
---
-##### `commitGenerated`Required
+##### `bugsEmail`Optional
```typescript
-public readonly commitGenerated: boolean;
+public readonly bugsEmail: string;
```
-- *Type:* boolean
+- *Type:* string
-Whether to commit the managed files by default.
+The email address to which issues should be reported.
---
-##### `compileTask`Required
+##### `bugsUrl`Optional
```typescript
-public readonly compileTask: Task;
+public readonly bugsUrl: string;
```
-- *Type:* projen.Task
+- *Type:* string
+
+The url to your project's issue tracker.
---
-##### `components`Required
+##### `bundledDeps`Optional
```typescript
-public readonly components: Component[];
+public readonly bundledDeps: string[];
```
-- *Type:* projen.Component[]
+- *Type:* string[]
-Returns all the components within this project.
+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.
---
-##### `deps`Required
+##### `codeArtifactOptions`Optional
```typescript
-public readonly deps: Dependencies;
+public readonly codeArtifactOptions: CodeArtifactOptions;
```
-- *Type:* projen.Dependencies
+- *Type:* projen.javascript.CodeArtifactOptions
+- *Default:* undefined
-Project dependencies.
+Options for npm packages using AWS CodeArtifact.
+
+This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
---
-##### `ejected`Required
+##### `deps`Optional
```typescript
-public readonly ejected: boolean;
+public readonly deps: string[];
```
-- *Type:* boolean
+- *Type:* string[]
+- *Default:* []
-Whether or not the project is being ejected.
+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.
---
-##### `files`Required
+*Example*
```typescript
-public readonly files: FileBase[];
+[ 'express', 'lodash', 'foo@^2' ]
```
-- *Type:* projen.FileBase[]
-
-All files in this project.
-
----
-##### `gitattributes`Required
+##### `description`Optional
```typescript
-public readonly gitattributes: GitAttributesFile;
+public readonly description: string;
```
-- *Type:* projen.GitAttributesFile
+- *Type:* string
-The .gitattributes file for this repository.
+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
---
-##### `gitignore`Required
+##### `devDeps`Optional
```typescript
-public readonly gitignore: IgnoreFile;
+public readonly devDeps: string[];
```
-- *Type:* projen.IgnoreFile
+- *Type:* string[]
+- *Default:* []
-.gitignore.
+Build dependencies for this module.
+
+These dependencies will only be
+available in your build environment but will not be fetched when this
+module is consumed.
+
+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.
---
-##### `logger`Required
+*Example*
```typescript
-public readonly logger: Logger;
+[ 'typescript', '@types/express' ]
```
-- *Type:* projen.Logger
-
-Logging utilities.
-
----
-##### `name`Required
+##### `entrypoint`Optional
```typescript
-public readonly name: string;
+public readonly entrypoint: string;
```
- *Type:* string
+- *Default:* "lib/index.js"
-Project name.
+Module entrypoint (`main` in `package.json`).
+
+Set to an empty string to not include `main` in your package.json
---
-##### `outdir`Required
+##### `homepage`Optional
```typescript
-public readonly outdir: string;
+public readonly homepage: string;
```
- *Type:* string
-Absolute output directory of this project.
+Package's Homepage / Website.
---
-##### `packageTask`Required
+##### `keywords`Optional
```typescript
-public readonly packageTask: Task;
+public readonly keywords: string[];
```
-- *Type:* projen.Task
+- *Type:* string[]
+
+Keywords to include in `package.json`.
---
-##### `postCompileTask`Required
+##### `license`Optional
```typescript
-public readonly postCompileTask: Task;
+public readonly license: string;
```
-- *Type:* projen.Task
-
----
-
-##### `preCompileTask`Required
+- *Type:* string
+- *Default:* "Apache-2.0"
-```typescript
-public readonly preCompileTask: Task;
-```
+License's SPDX identifier.
-- *Type:* projen.Task
+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.
---
-##### `projectBuild`Required
+##### `licensed`Optional
```typescript
-public readonly projectBuild: ProjectBuild;
+public readonly licensed: boolean;
```
-- *Type:* projen.ProjectBuild
+- *Type:* boolean
+- *Default:* true
-Manages the build process of the project.
+Indicates if a license should be added.
---
-##### `projenCommand`Required
+##### `maxNodeVersion`Optional
```typescript
-public readonly projenCommand: string;
+public readonly maxNodeVersion: string;
```
- *Type:* string
+- *Default:* no max
-The command to use in order to run the projen CLI.
+Minimum node.js version to require via `engines` (inclusive).
---
-##### `root`Required
+##### `minNodeVersion`Optional
```typescript
-public readonly root: Project;
+public readonly minNodeVersion: string;
```
-- *Type:* projen.Project
+- *Type:* string
+- *Default:* no "engines" specified
-The root project.
+Minimum Node.js version to require via package.json `engines` (inclusive).
---
-##### `subprojects`Required
+##### `npmAccess`Optional
```typescript
-public readonly subprojects: Project[];
+public readonly npmAccess: NpmAccess;
```
-- *Type:* projen.Project[]
+- *Type:* projen.javascript.NpmAccess
+- *Default:* for scoped packages (e.g. `foo@bar`), the default is `NpmAccess.RESTRICTED`, for non-scoped packages, the default is `NpmAccess.PUBLIC`.
-Returns all the subprojects within this project.
+Access level of the npm package.
---
-##### `tasks`Required
+##### ~~`npmRegistry`~~Optional
+
+- *Deprecated:* use `npmRegistryUrl` instead
```typescript
-public readonly tasks: Tasks;
+public readonly npmRegistry: string;
```
-- *Type:* projen.Tasks
-
-Project tasks.
-
----
-
-##### `testTask`Required
+- *Type:* string
-```typescript
-public readonly testTask: Task;
-```
+The host name of the npm registry to publish to.
-- *Type:* projen.Task
+Cannot be set together with `npmRegistryUrl`.
---
-##### `defaultTask`Optional
+##### `npmRegistryUrl`Optional
```typescript
-public readonly defaultTask: Task;
+public readonly npmRegistryUrl: string;
```
-- *Type:* projen.Task
+- *Type:* string
+- *Default:* "https://registry.npmjs.org"
-This is the "default" task, the one that executes "projen".
+The base URL of the npm package registry.
-Undefined if
-the project is being ejected.
+Must be a URL (e.g. start with "https://" or "http://")
---
-##### `initProject`Optional
+##### `npmTokenSecret`Optional
```typescript
-public readonly initProject: InitProject;
+public readonly npmTokenSecret: string;
```
-- *Type:* projen.InitProject
-
-The options used when this project is bootstrapped via `projen new`.
+- *Type:* string
+- *Default:* "NPM_TOKEN"
-It
-includes the original set of options passed to the CLI and also the JSII
-FQN of the project type.
+GitHub secret which contains the NPM token to use when publishing packages.
---
-##### `parent`Optional
+##### `packageManager`Optional
```typescript
-public readonly parent: Project;
+public readonly packageManager: NodePackageManager;
```
-- *Type:* projen.Project
-
-A parent project.
+- *Type:* projen.javascript.NodePackageManager
+- *Default:* NodePackageManager.YARN_CLASSIC
-If undefined, this is the root project.
+The Node Package Manager used to execute scripts.
---
-##### `projectType`Required
+##### `packageName`Optional
```typescript
-public readonly projectType: ProjectType;
+public readonly packageName: string;
```
-- *Type:* projen.ProjectType
+- *Type:* string
+- *Default:* defaults to project name
+
+The "name" in package.json.
---
-##### `autoApprove`Optional
+##### `peerDependencyOptions`Optional
```typescript
-public readonly autoApprove: AutoApprove;
+public readonly peerDependencyOptions: PeerDependencyOptions;
```
-- *Type:* projen.github.AutoApprove
+- *Type:* projen.javascript.PeerDependencyOptions
-Auto approve set up for this project.
+Options for `peerDeps`.
---
-##### `devContainer`Optional
+##### `peerDeps`Optional
```typescript
-public readonly devContainer: DevContainer;
+public readonly peerDeps: string[];
```
-- *Type:* projen.vscode.DevContainer
+- *Type:* string[]
+- *Default:* []
-Access for .devcontainer.json (used for GitHub Codespaces).
+Peer dependencies for this module.
-This will be `undefined` if devContainer boolean is false
+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.
---
-##### `github`Optional
+##### `pnpmVersion`Optional
```typescript
-public readonly github: GitHub;
-```
-
-- *Type:* projen.github.GitHub
+public readonly pnpmVersion: string;
+```
-Access all github components.
+- *Type:* string
+- *Default:* "7"
-This will be `undefined` for subprojects.
+The version of PNPM to use if using PNPM as a package manager.
---
-##### `gitpod`Optional
+##### `repository`Optional
```typescript
-public readonly gitpod: Gitpod;
+public readonly repository: string;
```
-- *Type:* projen.Gitpod
+- *Type:* string
-Access for Gitpod.
+The repository is the location where the actual code for your package lives.
-This will be `undefined` if gitpod boolean is false
+See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
---
-##### `vscode`Optional
+##### `repositoryDirectory`Optional
```typescript
-public readonly vscode: VsCode;
+public readonly repositoryDirectory: string;
```
-- *Type:* projen.vscode.VsCode
-
-Access all VSCode components.
+- *Type:* string
-This will be `undefined` for subprojects.
+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.
---
-##### ~~`allowLibraryDependencies`~~Required
-
-- *Deprecated:* use `package.allowLibraryDependencies`
+##### `scopedPackagesOptions`Optional
```typescript
-public readonly allowLibraryDependencies: boolean;
+public readonly scopedPackagesOptions: ScopedPackagesOptions[];
```
-- *Type:* boolean
+- *Type:* projen.javascript.ScopedPackagesOptions[]
+- *Default:* fetch all scoped packages from the public npm registry
+
+Options for privately hosted scoped packages.
---
-##### `artifactsDirectory`Required
+##### ~~`scripts`~~Optional
+
+- *Deprecated:* use `project.addTask()` or `package.setScript()`
```typescript
-public readonly artifactsDirectory: string;
+public readonly scripts: {[ key: string ]: string};
```
-- *Type:* string
+- *Type:* {[ key: string ]: string}
+- *Default:* {}
-The build output directory.
+npm scripts to include.
-An npm tarball will be created under the `js`
-subdirectory. For example, if this is set to `dist` (the default), the npm
-tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
+If a script has the same name as a standard script,
+the standard script will be overwritten.
+Also adds the script as a task.
---
-##### `artifactsJavascriptDirectory`Required
+##### `stability`Optional
```typescript
-public readonly artifactsJavascriptDirectory: string;
+public readonly stability: string;
```
- *Type:* string
-The location of the npm tarball after build (`${artifactsDirectory}/js`).
+Package's Stability.
---
-##### `bundler`Required
+##### `yarnBerryOptions`Optional
```typescript
-public readonly bundler: Bundler;
+public readonly yarnBerryOptions: YarnBerryOptions;
```
-- *Type:* projen.javascript.Bundler
+- *Type:* projen.javascript.YarnBerryOptions
+- *Default:* Yarn Berry v4 with all default options
----
+Options for Yarn Berry.
-##### ~~`entrypoint`~~Required
+---
-- *Deprecated:* use `package.entrypoint`
+##### `jsiiReleaseVersion`Optional
```typescript
-public readonly entrypoint: string;
+public readonly jsiiReleaseVersion: string;
```
- *Type:* string
+- *Default:* "latest"
----
+Version requirement of `publib` which is used to publish modules to npm.
-##### ~~`manifest`~~Required
+---
-- *Deprecated:* use `package.addField(x, y)`
+##### `majorVersion`Optional
```typescript
-public readonly manifest: any;
+public readonly majorVersion: number;
```
-- *Type:* any
+- *Type:* number
+- *Default:* Major version is not enforced.
+
+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.
---
-##### `npmrc`Required
+##### `minMajorVersion`Optional
```typescript
-public readonly npmrc: NpmConfig;
+public readonly minMajorVersion: number;
```
-- *Type:* projen.javascript.NpmConfig
+- *Type:* number
+- *Default:* No minimum version is being enforced
-The .npmrc file.
+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`.
---
-##### `package`Required
+##### `npmDistTag`Optional
```typescript
-public readonly package: NodePackage;
+public readonly npmDistTag: string;
```
-- *Type:* projen.javascript.NodePackage
+- *Type:* string
+- *Default:* "latest"
-API for managing the node package.
+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.
-##### ~~`packageManager`~~Required
+---
-- *Deprecated:* use `package.packageManager`
+##### `postBuildSteps`Optional
```typescript
-public readonly packageManager: NodePackageManager;
+public readonly postBuildSteps: JobStep[];
```
-- *Type:* projen.javascript.NodePackageManager
+- *Type:* projen.github.workflows.JobStep[]
+- *Default:* []
-The package manager to use.
+Steps to execute after build as part of the release workflow.
---
-##### `runScriptCommand`Required
+##### `prerelease`Optional
```typescript
-public readonly runScriptCommand: string;
+public readonly prerelease: string;
```
- *Type:* string
+- *Default:* normal semantic versions
-The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
+Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
---
-##### `autoMerge`Optional
+##### `publishDryRun`Optional
```typescript
-public readonly autoMerge: AutoMerge;
+public readonly publishDryRun: boolean;
```
-- *Type:* projen.github.AutoMerge
+- *Type:* boolean
+- *Default:* false
-Component that sets up mergify for merging approved pull requests.
+Instead of actually publishing to package managers, just print the publishing command.
---
-##### `buildWorkflow`Optional
+##### `publishTasks`Optional
```typescript
-public readonly buildWorkflow: BuildWorkflow;
+public readonly publishTasks: boolean;
```
-- *Type:* projen.build.BuildWorkflow
+- *Type:* boolean
+- *Default:* false
-The PR build GitHub workflow.
+Define publishing tasks that can be executed manually as well as workflows.
-`undefined` if `buildWorkflow` is disabled.
+Normally, publishing only happens within automated workflows. Enable this
+in order to create a publishing task for each publishing activity.
---
-##### `buildWorkflowJobId`Optional
+##### `releasableCommits`Optional
```typescript
-public readonly buildWorkflowJobId: string;
+public readonly releasableCommits: ReleasableCommits;
```
-- *Type:* string
+- *Type:* projen.ReleasableCommits
+- *Default:* ReleasableCommits.everyCommit()
-The job ID of the build workflow.
+Find commits that should be considered releasable Used to decide if a release is required.
---
-##### `jest`Optional
+##### `releaseBranches`Optional
```typescript
-public readonly jest: Jest;
+public readonly releaseBranches: {[ key: string ]: BranchOptions};
```
-- *Type:* projen.javascript.Jest
+- *Type:* {[ key: string ]: projen.release.BranchOptions}
+- *Default:* no additional branches are used for release. you can use `addBranch()` to add additional branches.
-The Jest configuration (if enabled).
+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.
---
-##### `maxNodeVersion`Optional
+##### ~~`releaseEveryCommit`~~Optional
+
+- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
```typescript
-public readonly maxNodeVersion: string;
+public readonly releaseEveryCommit: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-Maximum node version required by this package.
+Automatically release new versions every commit to one of branches in `releaseBranches`.
---
-##### `minNodeVersion`Optional
+##### `releaseFailureIssue`Optional
```typescript
-public readonly minNodeVersion: string;
+public readonly releaseFailureIssue: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-Minimum node.js version required by this package.
+Create a github issue on every failed publishing task.
---
-##### `npmignore`Optional
+##### `releaseFailureIssueLabel`Optional
```typescript
-public readonly npmignore: IgnoreFile;
+public readonly releaseFailureIssueLabel: string;
```
-- *Type:* projen.IgnoreFile
-
-The .npmignore file.
-
----
-
-##### `prettier`Optional
+- *Type:* string
+- *Default:* "failed-release"
-```typescript
-public readonly prettier: Prettier;
-```
+The label to apply to issues indicating publish failures.
-- *Type:* projen.javascript.Prettier
+Only applies if `releaseFailureIssue` is true.
---
-##### ~~`publisher`~~Optional
+##### ~~`releaseSchedule`~~Optional
-- *Deprecated:* use `release.publisher`.
+- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
```typescript
-public readonly publisher: Publisher;
+public readonly releaseSchedule: string;
```
-- *Type:* projen.release.Publisher
-
-Package publisher.
+- *Type:* string
+- *Default:* no scheduled releases
-This will be `undefined` if the project does not have a
-release workflow.
+CRON schedule to trigger new releases.
---
-##### `release`Optional
+##### `releaseTagPrefix`Optional
```typescript
-public readonly release: Release;
+public readonly releaseTagPrefix: string;
```
-- *Type:* projen.release.Release
+- *Type:* string
+- *Default:* "v"
-Release management.
+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.
---
-##### `upgradeWorkflow`Optional
+##### `releaseTrigger`Optional
```typescript
-public readonly upgradeWorkflow: UpgradeDependencies;
+public readonly releaseTrigger: ReleaseTrigger;
```
-- *Type:* projen.javascript.UpgradeDependencies
+- *Type:* projen.release.ReleaseTrigger
+- *Default:* Continuous releases (`ReleaseTrigger.continuous()`)
-The upgrade workflow.
+The release trigger to use.
---
-##### `docsDirectory`Required
+##### `releaseWorkflowName`Optional
```typescript
-public readonly docsDirectory: string;
+public readonly releaseWorkflowName: string;
```
- *Type:* string
+- *Default:* "Release"
+
+The name of the default release workflow.
---
-##### `libdir`Required
+##### `releaseWorkflowSetupSteps`Optional
```typescript
-public readonly libdir: string;
+public readonly releaseWorkflowSetupSteps: JobStep[];
```
-- *Type:* string
+- *Type:* projen.github.workflows.JobStep[]
-The directory in which compiled .js files reside.
+A set of workflow steps to execute in order to setup the workflow container.
---
-##### `srcdir`Required
+##### `versionrcOptions`Optional
```typescript
-public readonly srcdir: string;
+public readonly versionrcOptions: {[ key: string ]: any};
```
-- *Type:* string
+- *Type:* {[ key: string ]: any}
+- *Default:* standard configuration applicable for GitHub repositories
-The directory in which the .ts sources reside.
+Custom configuration used when creating changelog with standard-version package.
+
+Given values either append to default configuration or overwrite values in it.
---
-##### `testdir`Required
+##### `workflowContainerImage`Optional
```typescript
-public readonly testdir: string;
+public readonly workflowContainerImage: string;
```
- *Type:* string
+- *Default:* default image
-The directory in which tests reside.
+Container image to use for GitHub workflows.
---
-##### `tsconfigDev`Required
+##### `workflowRunsOn`Optional
```typescript
-public readonly tsconfigDev: TypescriptConfig;
+public readonly workflowRunsOn: string[];
```
-- *Type:* projen.javascript.TypescriptConfig
+- *Type:* string[]
+- *Default:* ["ubuntu-latest"]
-A typescript configuration file which covers all files (sources, tests, projen).
+Github Runner selection labels.
---
-##### `watchTask`Required
+##### `workflowRunsOnGroup`Optional
```typescript
-public readonly watchTask: Task;
+public readonly workflowRunsOnGroup: GroupRunnerOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.GroupRunnerOptions
-The "watch" task.
+Github Runner Group selection options.
---
-##### `docgen`Optional
+##### `defaultReleaseBranch`Required
```typescript
-public readonly docgen: boolean;
+public readonly defaultReleaseBranch: string;
```
-- *Type:* boolean
+- *Type:* string
+- *Default:* "main"
+
+The name of the main release branch.
---
-##### `eslint`Optional
+##### `artifactsDirectory`Optional
```typescript
-public readonly eslint: Eslint;
+public readonly artifactsDirectory: string;
```
-- *Type:* projen.javascript.Eslint
+- *Type:* string
+- *Default:* "dist"
+
+A directory which will contain build artifacts.
---
-##### `tsconfig`Optional
+##### `autoApproveUpgrades`Optional
```typescript
-public readonly tsconfig: TypescriptConfig;
+public readonly autoApproveUpgrades: boolean;
```
-- *Type:* projen.javascript.TypescriptConfig
+- *Type:* boolean
+- *Default:* true
+
+Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
+
+Throw if set to true but `autoApproveOptions` are not defined.
---
-##### `tsconfigEslint`Optional
+##### `buildWorkflow`Optional
```typescript
-public readonly tsconfigEslint: TypescriptConfig;
+public readonly buildWorkflow: boolean;
```
-- *Type:* projen.javascript.TypescriptConfig
-
----
-
-#### Constants
+- *Type:* boolean
+- *Default:* true if not a subproject
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
+Define a GitHub workflow for building PRs.
---
-##### `DEFAULT_TASK`Required
+##### `buildWorkflowTriggers`Optional
```typescript
-public readonly DEFAULT_TASK: string;
+public readonly buildWorkflowTriggers: Triggers;
```
-- *Type:* string
-
-The name of the default task (the task executed when `projen` is run without arguments).
+- *Type:* projen.github.workflows.Triggers
+- *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
-Normally
-this task should synthesize the project files.
+Build workflow triggers.
---
-### Cdk8sTeamNodeProject
-
-#### Initializers
+##### `bundlerOptions`Optional
```typescript
-import { Cdk8sTeamNodeProject } from '@cdk8s/projen-common'
-
-new Cdk8sTeamNodeProject(options: Cdk8sTeamNodeProjectOptions)
+public readonly bundlerOptions: BundlerOptions;
```
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| options
| Cdk8sTeamNodeProjectOptions
| *No description.* |
+- *Type:* projen.javascript.BundlerOptions
----
+Options for `Bundler`.
-##### `options`Required
+---
-- *Type:* Cdk8sTeamNodeProjectOptions
+##### `codeCov`Optional
----
+```typescript
+public readonly codeCov: boolean;
+```
-#### Methods
+- *Type:* boolean
+- *Default:* false
-| **Name** | **Description** |
-| --- | --- |
-| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
-| addGitIgnore
| Adds a .gitignore pattern. |
-| addPackageIgnore
| Exclude these files from the bundled package. |
-| addTask
| Adds a new task to this project. |
-| addTip
| Prints a "tip" message during synthesis. |
-| annotateGenerated
| Marks the provided file(s) as being generated. |
-| postSynthesize
| Called after all components are synthesized. |
-| preSynthesize
| Called before all components are synthesized. |
-| removeTask
| Removes a task from a project. |
-| runTaskCommand
| Returns the shell command to execute in order to run a task. |
-| synth
| Synthesize all project files into `outdir`. |
-| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
-| tryFindJsonFile
| Finds a json file by name. |
-| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
-| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
-| addBins
| *No description.* |
-| addBundledDeps
| Defines bundled dependencies. |
-| addCompileCommand
| DEPRECATED. |
-| addDeps
| Defines normal dependencies. |
-| addDevDeps
| Defines development/test dependencies. |
-| addFields
| Directly set fields in `package.json`. |
-| addKeywords
| Adds keywords to package.json (deduplicated). |
-| addPeerDeps
| Defines peer dependencies. |
-| addScripts
| Replaces the contents of multiple npm package.json scripts. |
-| addTestCommand
| DEPRECATED. |
-| hasScript
| Indicates if a script by the name name is defined. |
-| removeScript
| Removes the npm script (always successful). |
-| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
-| setScript
| Replaces the contents of an npm package.json script. |
+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`.
---
-##### `addExcludeFromCleanup`
+##### `codeCovTokenSecret`Optional
```typescript
-public addExcludeFromCleanup(globs: string): void
+public readonly codeCovTokenSecret: string;
```
-Exclude the matching files from pre-synth cleanup.
-
-Can be used when, for example, some
-source files include the projen marker and we don't want them to be erased during synth.
-
-###### `globs`Required
-
- *Type:* string
+- *Default:* if this option is not specified, only public repositories are supported
-The glob patterns to match.
+Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
---
-##### `addGitIgnore`
+##### `copyrightOwner`Optional
```typescript
-public addGitIgnore(pattern: string): void
+public readonly copyrightOwner: string;
```
-Adds a .gitignore pattern.
-
-###### `pattern`Required
-
- *Type:* string
+- *Default:* defaults to the value of authorName or "" if `authorName` is undefined.
-The glob pattern to ignore.
+License copyright owner.
---
-##### `addPackageIgnore`
+##### `copyrightPeriod`Optional
```typescript
-public addPackageIgnore(pattern: string): void
+public readonly copyrightPeriod: string;
```
-Exclude these files from the bundled package.
-
-Implemented by project types based on the
-packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
-
-###### `pattern`Required
-
- *Type:* string
+- *Default:* current year
+
+The copyright years to put in the LICENSE file.
---
-##### `addTask`
+##### `dependabot`Optional
```typescript
-public addTask(name: string, props?: TaskOptions): Task
+public readonly dependabot: boolean;
```
-Adds a new task to this project.
-
-This will fail if the project already has
-a task with this name.
-
-###### `name`Required
+- *Type:* boolean
+- *Default:* false
-- *Type:* string
+Use dependabot to handle dependency upgrades.
-The task name to add.
+Cannot be used in conjunction with `depsUpgrade`.
---
-###### `props`Optional
+##### `dependabotOptions`Optional
-- *Type:* projen.TaskOptions
+```typescript
+public readonly dependabotOptions: DependabotOptions;
+```
-Task properties.
+- *Type:* projen.github.DependabotOptions
+- *Default:* default options
+
+Options for dependabot.
---
-##### ~~`addTip`~~
+##### `depsUpgrade`Optional
```typescript
-public addTip(message: string): void
+public readonly depsUpgrade: boolean;
```
-Prints a "tip" message during synthesis.
-
-###### `message`Required
+- *Type:* boolean
+- *Default:* true
-- *Type:* string
+Use tasks and github workflows to handle dependency upgrades.
-The message.
+Cannot be used in conjunction with `dependabot`.
---
-##### `annotateGenerated`
+##### `depsUpgradeOptions`Optional
```typescript
-public annotateGenerated(glob: string): void
+public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
```
-Marks the provided file(s) as being generated.
+- *Type:* projen.javascript.UpgradeDependenciesOptions
+- *Default:* default options
-This is achieved using the
-github-linguist attributes. Generated files do not count against the
-repository statistics and language breakdown.
+Options for `UpgradeDependencies`.
-> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
+---
-###### `glob`Required
+##### `gitignore`Optional
-- *Type:* string
+```typescript
+public readonly gitignore: string[];
+```
-the glob pattern to match (could be a file path).
+- *Type:* string[]
+
+Additional entries to .gitignore.
---
-##### `postSynthesize`
+##### `jest`Optional
```typescript
-public postSynthesize(): void
+public readonly jest: boolean;
```
-Called after all components are synthesized.
-
-Order is *not* guaranteed.
-
-##### `preSynthesize`
+- *Type:* boolean
+- *Default:* true
-```typescript
-public preSynthesize(): void
-```
+Setup jest unit tests.
-Called before all components are synthesized.
+---
-##### `removeTask`
+##### `jestOptions`Optional
```typescript
-public removeTask(name: string): Task
+public readonly jestOptions: JestOptions;
```
-Removes a task from a project.
-
-###### `name`Required
-
-- *Type:* string
+- *Type:* projen.javascript.JestOptions
+- *Default:* default options
-The name of the task to remove.
+Jest options.
---
-##### `runTaskCommand`
+##### `mutableBuild`Optional
```typescript
-public runTaskCommand(task: Task): string
+public readonly mutableBuild: boolean;
```
-Returns the shell command to execute in order to run a task.
-
-This will
-typically be `npx projen TASK`.
+- *Type:* boolean
+- *Default:* true
-###### `task`Required
+Automatically update files modified during builds to pull-request branches.
-- *Type:* projen.Task
+This means
+that any files synthesized by projen or e.g. test snapshots will always be up-to-date
+before a PR is merged.
-The task for which the command is required.
+Implies that PR builds do not have anti-tamper checks.
---
-##### `synth`
+##### ~~`npmignore`~~Optional
+
+- *Deprecated:* - use `project.addPackageIgnore`
```typescript
-public synth(): void
+public readonly npmignore: string[];
```
-Synthesize all project files into `outdir`.
+- *Type:* string[]
-1. Call "this.preSynthesize()"
-2. Delete all generated files
-3. Synthesize all sub-projects
-4. Synthesize all components of this project
-5. Call "postSynthesize()" for all components of this project
-6. Call "this.postSynthesize()"
+Additional entries to .npmignore.
-##### `tryFindFile`
+---
+
+##### `npmignoreEnabled`Optional
```typescript
-public tryFindFile(filePath: string): FileBase
+public readonly npmignoreEnabled: boolean;
```
-Finds a file at the specified relative path within this project and all its subprojects.
-
-###### `filePath`Required
-
-- *Type:* string
-
-The file path.
+- *Type:* boolean
+- *Default:* true
-If this path is relative, it will be resolved
-from the root of _this_ project.
+Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
---
-##### ~~`tryFindJsonFile`~~
+##### `npmIgnoreOptions`Optional
```typescript
-public tryFindJsonFile(filePath: string): JsonFile
+public readonly npmIgnoreOptions: IgnoreFileOptions;
```
-Finds a json file by name.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* projen.IgnoreFileOptions
-The file path.
+Configuration options for .npmignore file.
---
-##### `tryFindObjectFile`
+##### `package`Optional
```typescript
-public tryFindObjectFile(filePath: string): ObjectFile
+public readonly package: boolean;
```
-Finds an object file (like JsonFile, YamlFile, etc.) by name.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-The file path.
+Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
---
-##### `tryRemoveFile`
+##### `prettier`Optional
```typescript
-public tryRemoveFile(filePath: string): FileBase
+public readonly prettier: boolean;
```
-Finds a file at the specified relative path within this project and removes it.
-
-###### `filePath`Required
-
-- *Type:* string
-
-The file path.
+- *Type:* boolean
+- *Default:* false
-If this path is relative, it will be
-resolved from the root of _this_ project.
+Setup prettier.
---
-##### `addBins`
+##### `prettierOptions`Optional
```typescript
-public addBins(bins: {[ key: string ]: string}): void
+public readonly prettierOptions: PrettierOptions;
```
-###### `bins`Required
+- *Type:* projen.javascript.PrettierOptions
+- *Default:* default options
-- *Type:* {[ key: string ]: string}
+Prettier options.
---
-##### `addBundledDeps`
+##### `projenDevDependency`Optional
```typescript
-public addBundledDeps(deps: string): void
+public readonly projenDevDependency: boolean;
```
-Defines bundled dependencies.
+- *Type:* boolean
+- *Default:* true
-Bundled dependencies will be added as normal dependencies as well as to the
-`bundledDependencies` section of your `package.json`.
+Indicates of "projen" should be installed as a devDependency.
-###### `deps`Required
+---
-- *Type:* string
+##### `projenrcJs`Optional
-Names modules to install.
+```typescript
+public readonly projenrcJs: boolean;
+```
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+- *Type:* boolean
+- *Default:* true if projenrcJson is false
+
+Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
---
-##### ~~`addCompileCommand`~~
+##### `projenrcJsOptions`Optional
```typescript
-public addCompileCommand(commands: string): void
+public readonly projenrcJsOptions: ProjenrcOptions;
```
-DEPRECATED.
-
-###### `commands`Required
+- *Type:* projen.javascript.ProjenrcOptions
+- *Default:* default options
-- *Type:* string
+Options for .projenrc.js.
---
-##### `addDeps`
+##### `projenVersion`Optional
```typescript
-public addDeps(deps: string): void
+public readonly projenVersion: string;
```
-Defines normal dependencies.
-
-###### `deps`Required
-
- *Type:* string
+- *Default:* Defaults to the latest version.
-Names modules to install.
-
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Version of projen to install.
---
-##### `addDevDeps`
+##### `pullRequestTemplate`Optional
```typescript
-public addDevDeps(deps: string): void
+public readonly pullRequestTemplate: boolean;
```
-Defines development/test dependencies.
-
-###### `deps`Required
-
-- *Type:* string
-
-Names modules to install.
+- *Type:* boolean
+- *Default:* true
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Include a GitHub pull request template.
---
-##### `addFields`
+##### `pullRequestTemplateContents`Optional
```typescript
-public addFields(fields: {[ key: string ]: any}): void
+public readonly pullRequestTemplateContents: string[];
```
-Directly set fields in `package.json`.
-
-###### `fields`Required
-
-- *Type:* {[ key: string ]: any}
+- *Type:* string[]
+- *Default:* default content
-The fields to set.
+The contents of the pull request template.
---
-##### `addKeywords`
+##### `release`Optional
```typescript
-public addKeywords(keywords: string): void
+public readonly release: boolean;
```
-Adds keywords to package.json (deduplicated).
-
-###### `keywords`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* true (false for subprojects)
-The keywords to add.
+Add release management to this project.
---
-##### `addPeerDeps`
+##### `releaseToNpm`Optional
```typescript
-public addPeerDeps(deps: string): void
+public readonly releaseToNpm: boolean;
```
-Defines peer dependencies.
+- *Type:* boolean
+- *Default:* false
-When adding peer dependencies, a devDependency will also be added on the
-pinned version of the declared peer. This will ensure that you are testing
-your code against the minimum version required from your consumers.
+Automatically release to npm when new versions are introduced.
-###### `deps`Required
+---
-- *Type:* string
+##### ~~`releaseWorkflow`~~Optional
-Names modules to install.
+- *Deprecated:* see `release`.
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+```typescript
+public readonly releaseWorkflow: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true if not a subproject
+
+DEPRECATED: renamed to `release`.
---
-##### `addScripts`
+##### `workflowBootstrapSteps`Optional
```typescript
-public addScripts(scripts: {[ key: string ]: string}): void
+public readonly workflowBootstrapSteps: JobStep[];
```
-Replaces the contents of multiple npm package.json scripts.
-
-###### `scripts`Required
-
-- *Type:* {[ key: string ]: string}
+- *Type:* projen.github.workflows.JobStep[]
+- *Default:* "yarn install --frozen-lockfile && yarn projen"
-The scripts to set.
+Workflow steps to use in order to bootstrap this repo.
---
-##### ~~`addTestCommand`~~
+##### `workflowGitIdentity`Optional
```typescript
-public addTestCommand(commands: string): void
+public readonly workflowGitIdentity: GitIdentity;
```
-DEPRECATED.
-
-###### `commands`Required
+- *Type:* projen.github.GitIdentity
+- *Default:* GitHub Actions
-- *Type:* string
+The git identity to use in workflows.
---
-##### ~~`hasScript`~~
+##### `workflowNodeVersion`Optional
```typescript
-public hasScript(name: string): boolean
+public readonly workflowNodeVersion: string;
```
-Indicates if a script by the name name is defined.
-
-###### `name`Required
-
- *Type:* string
+- *Default:* same as `minNodeVersion`
-The name of the script.
+The node version to use in GitHub workflows.
---
-##### `removeScript`
+##### `workflowPackageCache`Optional
```typescript
-public removeScript(name: string): void
+public readonly workflowPackageCache: boolean;
```
-Removes the npm script (always successful).
-
-###### `name`Required
-
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-The name of the script.
+Enable Node.js package cache in GitHub workflows.
---
-##### `renderWorkflowSetup`
+##### `backport`Optional
```typescript
-public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
+public readonly backport: boolean;
```
-Returns the set of workflow steps which should be executed to bootstrap a workflow.
-
-###### `options`Optional
-
-- *Type:* projen.javascript.RenderWorkflowSetupOptions
+- *Type:* boolean
+- *Default:* false
-Options.
+Configure a backport workflow.
---
-##### `setScript`
+##### `backportBranches`Optional
```typescript
-public setScript(name: string, command: string): void
+public readonly backportBranches: string[];
```
-Replaces the contents of an npm package.json script.
+- *Type:* string[]
+- *Default:* Will be derived from PR labels.
-###### `name`Required
+Branches to backport to.
+
+---
+
+##### `repoName`Optional
+
+```typescript
+public readonly repoName: string;
+```
- *Type:* string
+- *Default:* the package name.
-The script name.
+The name of the repository inside the cdk8s-team org where the code of the project is locate in.
---
-###### `command`Required
+### Cdk8sTeamTypeScriptProjectOptions
-- *Type:* string
+Options for `Cdk8sTeamTypeScriptProject`.
-The command to execute.
+#### Initializer
----
+```typescript
+import { Cdk8sTeamTypeScriptProjectOptions } from '@cdk8s/projen-common'
+const cdk8sTeamTypeScriptProjectOptions: Cdk8sTeamTypeScriptProjectOptions = { ... }
+```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
-| buildTask
| projen.Task
| *No description.* |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| compileTask
| projen.Task
| *No description.* |
-| components
| projen.Component[]
| Returns all the components within this project. |
-| deps
| projen.Dependencies
| Project dependencies. |
-| ejected
| boolean
| Whether or not the project is being ejected. |
-| files
| projen.FileBase[]
| All files in this project. |
-| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
-| gitignore
| projen.IgnoreFile
| .gitignore. |
-| logger
| projen.Logger
| Logging utilities. |
-| name
| string
| Project name. |
-| outdir
| string
| Absolute output directory of this project. |
-| packageTask
| projen.Task
| *No description.* |
-| postCompileTask
| projen.Task
| *No description.* |
-| preCompileTask
| projen.Task
| *No description.* |
-| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
-| projenCommand
| string
| The command to use in order to run the projen CLI. |
-| root
| projen.Project
| The root project. |
-| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
-| tasks
| projen.Tasks
| Project tasks. |
-| testTask
| projen.Task
| *No description.* |
-| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
-| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
-| parent
| projen.Project
| A parent project. |
-| projectType
| projen.ProjectType
| *No description.* |
-| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
-| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
-| github
| projen.github.GitHub
| Access all github components. |
-| gitpod
| projen.Gitpod
| Access for Gitpod. |
-| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
-| allowLibraryDependencies
| boolean
| *No description.* |
-| artifactsDirectory
| string
| The build output directory. |
-| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
-| bundler
| projen.javascript.Bundler
| *No description.* |
-| entrypoint
| string
| *No description.* |
-| manifest
| any
| *No description.* |
-| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
-| package
| projen.javascript.NodePackage
| API for managing the node package. |
-| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
-| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
-| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
-| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
-| buildWorkflowJobId
| string
| The job ID of the build workflow. |
-| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
-| maxNodeVersion
| string
| Maximum node version required by this package. |
-| minNodeVersion
| string
| Minimum node.js version required by this package. |
-| npmignore
| projen.IgnoreFile
| The .npmignore file. |
-| prettier
| projen.javascript.Prettier
| *No description.* |
-| publisher
| projen.release.Publisher
| Package publisher. |
-| release
| projen.release.Release
| Release management. |
-| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
+| name
| string
| This is the name of your project. |
+| commitGenerated
| boolean
| Whether to commit the managed files by default. |
+| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
+| gitOptions
| projen.GitOptions
| Configuration options for git. |
+| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
+| outdir
| string
| The root directory of the project. |
+| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
+| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
+| projenrcJson
| boolean
| Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. |
+| projenrcJsonOptions
| projen.ProjenrcJsonOptions
| Options for .projenrc.json. |
+| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
+| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
+| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
+| autoMerge
| boolean
| Enable automatic merging on GitHub. |
+| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
+| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
+| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
+| github
| boolean
| Enable GitHub integration. |
+| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
+| gitpod
| boolean
| Add a Gitpod development environment. |
+| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
+| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
+| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
+| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
+| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
+| readme
| projen.SampleReadmeProps
| The README setup. |
+| stale
| boolean
| Auto-close of stale issues and pull request. |
+| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
+| vscode
| boolean
| Enable VSCode integration. |
+| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
+| authorEmail
| string
| Author's e-mail. |
+| authorName
| string
| Author's name. |
+| authorOrganization
| boolean
| Is the author an organization. |
+| authorUrl
| string
| Author's URL / Website. |
+| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
+| bin
| {[ key: string ]: string}
| Binary programs vended with your module. |
+| bugsEmail
| string
| The email address to which issues should be reported. |
+| bugsUrl
| string
| The url to your project's issue tracker. |
+| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
+| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
+| deps
| string[]
| Runtime dependencies of this module. |
+| description
| string
| The description is just a string that helps people understand the purpose of the package. |
+| devDeps
| string[]
| Build dependencies for this module. |
+| entrypoint
| string
| Module entrypoint (`main` in `package.json`). |
+| homepage
| string
| Package's Homepage / Website. |
+| keywords
| string[]
| Keywords to include in `package.json`. |
+| license
| string
| License's SPDX identifier. |
+| licensed
| boolean
| Indicates if a license should be added. |
+| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
+| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
+| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
+| npmRegistry
| string
| The host name of the npm registry to publish to. |
+| npmRegistryUrl
| string
| The base URL of the npm package registry. |
+| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
+| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
+| packageName
| string
| The "name" in package.json. |
+| peerDependencyOptions
| projen.javascript.PeerDependencyOptions
| Options for `peerDeps`. |
+| peerDeps
| string[]
| Peer dependencies for this module. |
+| pnpmVersion
| string
| The version of PNPM to use if using PNPM as a package manager. |
+| repository
| string
| The repository is the location where the actual code for your package lives. |
+| repositoryDirectory
| string
| 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. |
+| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
+| scripts
| {[ key: string ]: string}
| npm scripts to include. |
+| stability
| string
| Package's Stability. |
+| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
+| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
+| majorVersion
| number
| Major version to release from the default branch. |
+| minMajorVersion
| number
| Minimal Major version to release. |
+| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
+| postBuildSteps
| projen.github.workflows.JobStep[]
| Steps to execute after build as part of the release workflow. |
+| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
+| publishDryRun
| boolean
| Instead of actually publishing to package managers, just print the publishing command. |
+| publishTasks
| boolean
| Define publishing tasks that can be executed manually as well as workflows. |
+| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
+| releaseBranches
| {[ key: string ]: projen.release.BranchOptions}
| Defines additional release branches. |
+| releaseEveryCommit
| boolean
| Automatically release new versions every commit to one of branches in `releaseBranches`. |
+| releaseFailureIssue
| boolean
| Create a github issue on every failed publishing task. |
+| releaseFailureIssueLabel
| string
| The label to apply to issues indicating publish failures. |
+| releaseSchedule
| string
| CRON schedule to trigger new releases. |
+| releaseTagPrefix
| string
| Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. |
+| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
+| releaseWorkflowName
| string
| The name of the default release workflow. |
+| releaseWorkflowSetupSteps
| projen.github.workflows.JobStep[]
| A set of workflow steps to execute in order to setup the workflow container. |
+| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with standard-version package. |
+| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
+| workflowRunsOn
| string[]
| Github Runner selection labels. |
+| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
+| defaultReleaseBranch
| string
| The name of the main release branch. |
+| artifactsDirectory
| string
| A directory which will contain build artifacts. |
+| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
+| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
+| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
+| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
+| codeCov
| boolean
| 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`. |
+| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
+| copyrightOwner
| string
| License copyright owner. |
+| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
+| dependabot
| boolean
| Use dependabot to handle dependency upgrades. |
+| dependabotOptions
| projen.github.DependabotOptions
| Options for dependabot. |
+| depsUpgrade
| boolean
| Use tasks and github workflows to handle dependency upgrades. |
+| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
+| gitignore
| string[]
| Additional entries to .gitignore. |
+| jest
| boolean
| Setup jest unit tests. |
+| jestOptions
| projen.javascript.JestOptions
| Jest options. |
+| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
+| npmignore
| string[]
| Additional entries to .npmignore. |
+| npmignoreEnabled
| boolean
| Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. |
+| npmIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .npmignore file. |
+| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
+| prettier
| boolean
| Setup prettier. |
+| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
+| projenDevDependency
| boolean
| Indicates of "projen" should be installed as a devDependency. |
+| projenrcJs
| boolean
| Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. |
+| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
+| projenVersion
| string
| Version of projen to install. |
+| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
+| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
+| release
| boolean
| Add release management to this project. |
+| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
+| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
+| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
+| workflowGitIdentity
| projen.github.GitIdentity
| The git identity to use in workflows. |
+| workflowNodeVersion
| string
| The node version to use in GitHub workflows. |
+| workflowPackageCache
| boolean
| Enable Node.js package cache in GitHub workflows. |
+| disableTsconfig
| boolean
| Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). |
+| disableTsconfigDev
| boolean
| Do not generate a `tsconfig.dev.json` file. |
+| docgen
| boolean
| Docgen by Typedoc. |
+| docsDirectory
| string
| Docs directory. |
+| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
+| eslint
| boolean
| Setup eslint. |
+| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
+| libdir
| string
| Typescript artifacts output directory. |
+| projenrcTs
| boolean
| Use TypeScript for your projenrc file (`.projenrc.ts`). |
+| projenrcTsOptions
| projen.typescript.ProjenrcOptions
| Options for .projenrc.ts. |
+| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
+| srcdir
| string
| Typescript sources directory. |
+| testdir
| string
| Jest tests directory. Tests files should be named `xxx.test.ts`. |
+| tsconfig
| projen.javascript.TypescriptConfigOptions
| Custom TSConfig. |
+| tsconfigDev
| projen.javascript.TypescriptConfigOptions
| Custom tsconfig options for the development tsconfig.json file (used for testing). |
+| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
+| typescriptVersion
| string
| TypeScript version to use. |
+| additionalCompilerDependencies
| string[]
| Packages that compile the project apart from the typescript/jsii compiler. |
+| backport
| boolean
| Configure a backport workflow. |
+| backportBranches
| string[]
| Branches to backport to. |
+| repoName
| string
| The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
---
-##### `buildTask`Required
+##### `name`Required
```typescript
-public readonly buildTask: Task;
+public readonly name: string;
```
-- *Type:* projen.Task
+- *Type:* string
+- *Default:* $BASEDIR
+
+This is the name of your project.
---
-##### `commitGenerated`Required
+##### `commitGenerated`Optional
```typescript
public readonly commitGenerated: boolean;
```
- *Type:* boolean
+- *Default:* true
Whether to commit the managed files by default.
---
-##### `compileTask`Required
+##### `gitIgnoreOptions`Optional
```typescript
-public readonly compileTask: Task;
+public readonly gitIgnoreOptions: IgnoreFileOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.IgnoreFileOptions
+
+Configuration options for .gitignore file.
---
-##### `components`Required
+##### `gitOptions`Optional
```typescript
-public readonly components: Component[];
+public readonly gitOptions: GitOptions;
```
-- *Type:* projen.Component[]
+- *Type:* projen.GitOptions
-Returns all the components within this project.
+Configuration options for git.
---
-##### `deps`Required
+##### `logging`Optional
```typescript
-public readonly deps: Dependencies;
+public readonly logging: LoggerOptions;
```
-- *Type:* projen.Dependencies
+- *Type:* projen.LoggerOptions
+- *Default:* {}
-Project dependencies.
+Configure logging options such as verbosity.
---
-##### `ejected`Required
+##### `outdir`Optional
```typescript
-public readonly ejected: boolean;
+public readonly outdir: string;
```
-- *Type:* boolean
+- *Type:* string
+- *Default:* "."
-Whether or not the project is being ejected.
+The root directory of the project.
+
+Relative to this directory, all files are synthesized.
+
+If this project has a parent, this directory is relative to the parent
+directory and it cannot be the same as the parent or any of it's other
+subprojects.
---
-##### `files`Required
+##### `parent`Optional
```typescript
-public readonly files: FileBase[];
+public readonly parent: Project;
```
-- *Type:* projen.FileBase[]
+- *Type:* projen.Project
-All files in this project.
+The parent project, if this project is part of a bigger project.
---
-##### `gitattributes`Required
+##### `projenCommand`Optional
```typescript
-public readonly gitattributes: GitAttributesFile;
+public readonly projenCommand: string;
```
-- *Type:* projen.GitAttributesFile
+- *Type:* string
+- *Default:* "npx projen"
-The .gitattributes file for this repository.
+The shell command to use in order to run the projen CLI.
+
+Can be used to customize in special environments.
---
-##### `gitignore`Required
+##### `projenrcJson`Optional
```typescript
-public readonly gitignore: IgnoreFile;
+public readonly projenrcJson: boolean;
```
-- *Type:* projen.IgnoreFile
+- *Type:* boolean
+- *Default:* false
-.gitignore.
+Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
---
-##### `logger`Required
+##### `projenrcJsonOptions`Optional
```typescript
-public readonly logger: Logger;
+public readonly projenrcJsonOptions: ProjenrcJsonOptions;
```
-- *Type:* projen.Logger
+- *Type:* projen.ProjenrcJsonOptions
+- *Default:* default options
-Logging utilities.
+Options for .projenrc.json.
---
-##### `name`Required
+##### `renovatebot`Optional
```typescript
-public readonly name: string;
+public readonly renovatebot: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-Project name.
+Use renovatebot to handle dependency upgrades.
---
-##### `outdir`Required
+##### `renovatebotOptions`Optional
```typescript
-public readonly outdir: string;
+public readonly renovatebotOptions: RenovatebotOptions;
```
-- *Type:* string
+- *Type:* projen.RenovatebotOptions
+- *Default:* default options
-Absolute output directory of this project.
+Options for renovatebot.
---
-##### `packageTask`Required
+##### `autoApproveOptions`Optional
```typescript
-public readonly packageTask: Task;
+public readonly autoApproveOptions: AutoApproveOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.github.AutoApproveOptions
+- *Default:* auto approve is disabled
+
+Enable and configure the 'auto approve' workflow.
---
-##### `postCompileTask`Required
+##### `autoMerge`Optional
```typescript
-public readonly postCompileTask: Task;
+public readonly autoMerge: boolean;
```
-- *Type:* projen.Task
+- *Type:* boolean
+- *Default:* true
+
+Enable automatic merging on GitHub.
+
+Has no effect if `github.mergify`
+is set to false.
---
-##### `preCompileTask`Required
+##### `autoMergeOptions`Optional
```typescript
-public readonly preCompileTask: Task;
+public readonly autoMergeOptions: AutoMergeOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.github.AutoMergeOptions
+- *Default:* see defaults in `AutoMergeOptions`
+
+Configure options for automatic merging on GitHub.
+
+Has no effect if
+`github.mergify` or `autoMerge` is set to false.
---
-##### `projectBuild`Required
+##### `clobber`Optional
```typescript
-public readonly projectBuild: ProjectBuild;
+public readonly clobber: boolean;
```
-- *Type:* projen.ProjectBuild
+- *Type:* boolean
+- *Default:* true, but false for subprojects
-Manages the build process of the project.
+Add a `clobber` task which resets the repo to origin.
---
-##### `projenCommand`Required
+##### `devContainer`Optional
```typescript
-public readonly projenCommand: string;
+public readonly devContainer: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-The command to use in order to run the projen CLI.
+Add a VSCode development environment (used for GitHub Codespaces).
---
-##### `root`Required
+##### `github`Optional
```typescript
-public readonly root: Project;
+public readonly github: boolean;
```
-- *Type:* projen.Project
+- *Type:* boolean
+- *Default:* true
-The root project.
+Enable GitHub integration.
+
+Enabled by default for root projects. Disabled for non-root projects.
---
-##### `subprojects`Required
+##### `githubOptions`Optional
```typescript
-public readonly subprojects: Project[];
+public readonly githubOptions: GitHubOptions;
```
-- *Type:* projen.Project[]
+- *Type:* projen.github.GitHubOptions
+- *Default:* see GitHubOptions
-Returns all the subprojects within this project.
+Options for GitHub integration.
---
-##### `tasks`Required
+##### `gitpod`Optional
```typescript
-public readonly tasks: Tasks;
+public readonly gitpod: boolean;
```
-- *Type:* projen.Tasks
+- *Type:* boolean
+- *Default:* false
-Project tasks.
+Add a Gitpod development environment.
---
-##### `testTask`Required
+##### ~~`mergify`~~Optional
+
+- *Deprecated:* use `githubOptions.mergify` instead
```typescript
-public readonly testTask: Task;
+public readonly mergify: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether mergify should be enabled on this repository or not.
+
+---
+
+##### ~~`mergifyOptions`~~Optional
+
+- *Deprecated:* use `githubOptions.mergifyOptions` instead
+
+```typescript
+public readonly mergifyOptions: MergifyOptions;
+```
+
+- *Type:* projen.github.MergifyOptions
+- *Default:* default options
+
+Options for mergify.
+
+---
+
+##### ~~`projectType`~~Optional
+
+- *Deprecated:* no longer supported at the base project level
+
+```typescript
+public readonly projectType: ProjectType;
```
-- *Type:* projen.Task
+- *Type:* projen.ProjectType
+- *Default:* ProjectType.UNKNOWN
+
+Which type of project this is (library/app).
---
-##### `defaultTask`Optional
+##### `projenCredentials`Optional
```typescript
-public readonly defaultTask: Task;
+public readonly projenCredentials: GithubCredentials;
```
-- *Type:* projen.Task
-
-This is the "default" task, the one that executes "projen".
+- *Type:* projen.github.GithubCredentials
+- *Default:* use a personal access token named PROJEN_GITHUB_TOKEN
-Undefined if
-the project is being ejected.
+Choose a method of providing GitHub API access for projen workflows.
---
-##### `initProject`Optional
+##### ~~`projenTokenSecret`~~Optional
+
+- *Deprecated:* use `projenCredentials`
```typescript
-public readonly initProject: InitProject;
+public readonly projenTokenSecret: string;
```
-- *Type:* projen.InitProject
+- *Type:* string
+- *Default:* "PROJEN_GITHUB_TOKEN"
-The options used when this project is bootstrapped via `projen new`.
+The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
-It
-includes the original set of options passed to the CLI and also the JSII
-FQN of the project type.
+This token needs to have the `repo`, `workflows`
+and `packages` scope.
---
-##### `parent`Optional
+##### `readme`Optional
```typescript
-public readonly parent: Project;
+public readonly readme: SampleReadmeProps;
```
-- *Type:* projen.Project
-
-A parent project.
+- *Type:* projen.SampleReadmeProps
+- *Default:* { filename: 'README.md', contents: '# replace this' }
-If undefined, this is the root project.
+The README setup.
---
-##### `projectType`Required
+*Example*
```typescript
-public readonly projectType: ProjectType;
+"{ filename: 'readme.md', contents: '# title' }"
```
-- *Type:* projen.ProjectType
-
----
-##### `autoApprove`Optional
+##### `stale`Optional
```typescript
-public readonly autoApprove: AutoApprove;
+public readonly stale: boolean;
```
-- *Type:* projen.github.AutoApprove
+- *Type:* boolean
+- *Default:* false
-Auto approve set up for this project.
+Auto-close of stale issues and pull request.
+
+See `staleOptions` for options.
---
-##### `devContainer`Optional
+##### `staleOptions`Optional
```typescript
-public readonly devContainer: DevContainer;
+public readonly staleOptions: StaleOptions;
```
-- *Type:* projen.vscode.DevContainer
+- *Type:* projen.github.StaleOptions
+- *Default:* see defaults in `StaleOptions`
-Access for .devcontainer.json (used for GitHub Codespaces).
+Auto-close stale issues and pull requests.
-This will be `undefined` if devContainer boolean is false
+To disable set `stale` to `false`.
---
-##### `github`Optional
+##### `vscode`Optional
```typescript
-public readonly github: GitHub;
+public readonly vscode: boolean;
```
-- *Type:* projen.github.GitHub
+- *Type:* boolean
+- *Default:* true
-Access all github components.
+Enable VSCode integration.
-This will be `undefined` for subprojects.
+Enabled by default for root projects. Disabled for non-root projects.
---
-##### `gitpod`Optional
+##### `allowLibraryDependencies`Optional
```typescript
-public readonly gitpod: Gitpod;
+public readonly allowLibraryDependencies: boolean;
```
-- *Type:* projen.Gitpod
+- *Type:* boolean
+- *Default:* true
-Access for Gitpod.
+Allow the project to include `peerDependencies` and `bundledDependencies`.
-This will be `undefined` if gitpod boolean is false
+This is normally only allowed for libraries. For apps, there's no meaning
+for specifying these.
---
-##### `vscode`Optional
+##### `authorEmail`Optional
```typescript
-public readonly vscode: VsCode;
+public readonly authorEmail: string;
```
-- *Type:* projen.vscode.VsCode
-
-Access all VSCode components.
+- *Type:* string
-This will be `undefined` for subprojects.
+Author's e-mail.
---
-##### ~~`allowLibraryDependencies`~~Required
-
-- *Deprecated:* use `package.allowLibraryDependencies`
+##### `authorName`Optional
```typescript
-public readonly allowLibraryDependencies: boolean;
+public readonly authorName: string;
```
-- *Type:* boolean
+- *Type:* string
+
+Author's name.
---
-##### `artifactsDirectory`Required
+##### `authorOrganization`Optional
```typescript
-public readonly artifactsDirectory: string;
+public readonly authorOrganization: boolean;
```
-- *Type:* string
-
-The build output directory.
+- *Type:* boolean
-An npm tarball will be created under the `js`
-subdirectory. For example, if this is set to `dist` (the default), the npm
-tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
+Is the author an organization.
---
-##### `artifactsJavascriptDirectory`Required
+##### `authorUrl`Optional
```typescript
-public readonly artifactsJavascriptDirectory: string;
+public readonly authorUrl: string;
```
- *Type:* string
-The location of the npm tarball after build (`${artifactsDirectory}/js`).
+Author's URL / Website.
---
-##### `bundler`Required
+##### `autoDetectBin`Optional
```typescript
-public readonly bundler: Bundler;
+public readonly autoDetectBin: boolean;
```
-- *Type:* projen.javascript.Bundler
+- *Type:* boolean
+- *Default:* true
----
+Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
-##### ~~`entrypoint`~~Required
+---
-- *Deprecated:* use `package.entrypoint`
+##### `bin`Optional
```typescript
-public readonly entrypoint: string;
+public readonly bin: {[ key: string ]: string};
```
-- *Type:* string
+- *Type:* {[ key: string ]: string}
----
+Binary programs vended with your module.
-##### ~~`manifest`~~Required
+You can use this option to add/customize how binaries are represented in
+your `package.json`, but unless `autoDetectBin` is `false`, every
+executable file under `bin` will automatically be added to this section.
-- *Deprecated:* use `package.addField(x, y)`
+---
+
+##### `bugsEmail`Optional
```typescript
-public readonly manifest: any;
+public readonly bugsEmail: string;
```
-- *Type:* any
+- *Type:* string
+
+The email address to which issues should be reported.
---
-##### `npmrc`Required
+##### `bugsUrl`Optional
```typescript
-public readonly npmrc: NpmConfig;
+public readonly bugsUrl: string;
```
-- *Type:* projen.javascript.NpmConfig
+- *Type:* string
-The .npmrc file.
+The url to your project's issue tracker.
---
-##### `package`Required
+##### `bundledDeps`Optional
```typescript
-public readonly package: NodePackage;
+public readonly bundledDeps: string[];
```
-- *Type:* projen.javascript.NodePackage
+- *Type:* string[]
-API for managing the node package.
+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`.
-##### ~~`packageManager`~~Required
+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.
-- *Deprecated:* use `package.packageManager`
+---
+
+##### `codeArtifactOptions`Optional
```typescript
-public readonly packageManager: NodePackageManager;
+public readonly codeArtifactOptions: CodeArtifactOptions;
```
-- *Type:* projen.javascript.NodePackageManager
+- *Type:* projen.javascript.CodeArtifactOptions
+- *Default:* undefined
-The package manager to use.
+Options for npm packages using AWS CodeArtifact.
+
+This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
---
-##### `runScriptCommand`Required
+##### `deps`Optional
```typescript
-public readonly runScriptCommand: string;
+public readonly deps: string[];
```
-- *Type:* string
+- *Type:* string[]
+- *Default:* []
-The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
+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.
---
-##### `autoMerge`Optional
+*Example*
```typescript
-public readonly autoMerge: AutoMerge;
+[ 'express', 'lodash', 'foo@^2' ]
```
-- *Type:* projen.github.AutoMerge
-
-Component that sets up mergify for merging approved pull requests.
-
----
-##### `buildWorkflow`Optional
+##### `description`Optional
```typescript
-public readonly buildWorkflow: BuildWorkflow;
+public readonly description: string;
```
-- *Type:* projen.build.BuildWorkflow
+- *Type:* string
-The PR build GitHub workflow.
+The description is just a string that helps people understand the purpose of the package.
-`undefined` if `buildWorkflow` is disabled.
+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
---
-##### `buildWorkflowJobId`Optional
+##### `devDeps`Optional
```typescript
-public readonly buildWorkflowJobId: string;
+public readonly devDeps: string[];
```
-- *Type:* string
+- *Type:* string[]
+- *Default:* []
+
+Build dependencies for this module.
+
+These dependencies will only be
+available in your build environment but will not be fetched when this
+module is consumed.
-The job ID of the build workflow.
+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.
---
-##### `jest`Optional
+*Example*
```typescript
-public readonly jest: Jest;
+[ 'typescript', '@types/express' ]
```
-- *Type:* projen.javascript.Jest
-
-The Jest configuration (if enabled).
-
----
-##### `maxNodeVersion`Optional
+##### `entrypoint`Optional
```typescript
-public readonly maxNodeVersion: string;
+public readonly entrypoint: string;
```
- *Type:* string
+- *Default:* "lib/index.js"
-Maximum node version required by this package.
+Module entrypoint (`main` in `package.json`).
+
+Set to an empty string to not include `main` in your package.json
---
-##### `minNodeVersion`Optional
+##### `homepage`Optional
```typescript
-public readonly minNodeVersion: string;
+public readonly homepage: string;
```
- *Type:* string
-Minimum node.js version required by this package.
+Package's Homepage / Website.
---
-##### `npmignore`Optional
+##### `keywords`Optional
```typescript
-public readonly npmignore: IgnoreFile;
+public readonly keywords: string[];
```
-- *Type:* projen.IgnoreFile
+- *Type:* string[]
-The .npmignore file.
+Keywords to include in `package.json`.
---
-##### `prettier`Optional
+##### `license`Optional
```typescript
-public readonly prettier: Prettier;
+public readonly license: string;
```
-- *Type:* projen.javascript.Prettier
+- *Type:* string
+- *Default:* "Apache-2.0"
----
+License's SPDX identifier.
-##### ~~`publisher`~~Optional
+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.
-- *Deprecated:* use `release.publisher`.
+---
+
+##### `licensed`Optional
```typescript
-public readonly publisher: Publisher;
+public readonly licensed: boolean;
```
-- *Type:* projen.release.Publisher
-
-Package publisher.
+- *Type:* boolean
+- *Default:* true
-This will be `undefined` if the project does not have a
-release workflow.
+Indicates if a license should be added.
---
-##### `release`Optional
+##### `maxNodeVersion`Optional
```typescript
-public readonly release: Release;
+public readonly maxNodeVersion: string;
```
-- *Type:* projen.release.Release
+- *Type:* string
+- *Default:* no max
-Release management.
+Minimum node.js version to require via `engines` (inclusive).
---
-##### `upgradeWorkflow`Optional
+##### `minNodeVersion`Optional
```typescript
-public readonly upgradeWorkflow: UpgradeDependencies;
+public readonly minNodeVersion: string;
```
-- *Type:* projen.javascript.UpgradeDependencies
-
-The upgrade workflow.
-
----
-
-#### Constants
+- *Type:* string
+- *Default:* no "engines" specified
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
+Minimum Node.js version to require via package.json `engines` (inclusive).
---
-##### `DEFAULT_TASK`Required
+##### `npmAccess`Optional
```typescript
-public readonly DEFAULT_TASK: string;
+public readonly npmAccess: NpmAccess;
```
-- *Type:* string
-
-The name of the default task (the task executed when `projen` is run without arguments).
+- *Type:* projen.javascript.NpmAccess
+- *Default:* for scoped packages (e.g. `foo@bar`), the default is `NpmAccess.RESTRICTED`, for non-scoped packages, the default is `NpmAccess.PUBLIC`.
-Normally
-this task should synthesize the project files.
+Access level of the npm package.
---
-### Cdk8sTeamTypeScriptProject
+##### ~~`npmRegistry`~~Optional
-#### Initializers
+- *Deprecated:* use `npmRegistryUrl` instead
```typescript
-import { Cdk8sTeamTypeScriptProject } from '@cdk8s/projen-common'
-
-new Cdk8sTeamTypeScriptProject(options: Cdk8sTeamTypeScriptProjectOptions)
+public readonly npmRegistry: string;
```
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| options
| Cdk8sTeamTypeScriptProjectOptions
| *No description.* |
-
----
-
-##### `options`Required
-
-- *Type:* Cdk8sTeamTypeScriptProjectOptions
-
----
+- *Type:* string
-#### Methods
+The host name of the npm registry to publish to.
-| **Name** | **Description** |
-| --- | --- |
-| addExcludeFromCleanup
| Exclude the matching files from pre-synth cleanup. |
-| addGitIgnore
| Adds a .gitignore pattern. |
-| addPackageIgnore
| Exclude these files from the bundled package. |
-| addTask
| Adds a new task to this project. |
-| addTip
| Prints a "tip" message during synthesis. |
-| annotateGenerated
| Marks the provided file(s) as being generated. |
-| postSynthesize
| Called after all components are synthesized. |
-| preSynthesize
| Called before all components are synthesized. |
-| removeTask
| Removes a task from a project. |
-| runTaskCommand
| Returns the shell command to execute in order to run a task. |
-| synth
| Synthesize all project files into `outdir`. |
-| tryFindFile
| Finds a file at the specified relative path within this project and all its subprojects. |
-| tryFindJsonFile
| Finds a json file by name. |
-| tryFindObjectFile
| Finds an object file (like JsonFile, YamlFile, etc.) by name. |
-| tryRemoveFile
| Finds a file at the specified relative path within this project and removes it. |
-| addBins
| *No description.* |
-| addBundledDeps
| Defines bundled dependencies. |
-| addCompileCommand
| DEPRECATED. |
-| addDeps
| Defines normal dependencies. |
-| addDevDeps
| Defines development/test dependencies. |
-| addFields
| Directly set fields in `package.json`. |
-| addKeywords
| Adds keywords to package.json (deduplicated). |
-| addPeerDeps
| Defines peer dependencies. |
-| addScripts
| Replaces the contents of multiple npm package.json scripts. |
-| addTestCommand
| DEPRECATED. |
-| hasScript
| Indicates if a script by the name name is defined. |
-| removeScript
| Removes the npm script (always successful). |
-| renderWorkflowSetup
| Returns the set of workflow steps which should be executed to bootstrap a workflow. |
-| setScript
| Replaces the contents of an npm package.json script. |
+Cannot be set together with `npmRegistryUrl`.
---
-##### `addExcludeFromCleanup`
+##### `npmRegistryUrl`Optional
```typescript
-public addExcludeFromCleanup(globs: string): void
+public readonly npmRegistryUrl: string;
```
-Exclude the matching files from pre-synth cleanup.
-
-Can be used when, for example, some
-source files include the projen marker and we don't want them to be erased during synth.
-
-###### `globs`Required
-
- *Type:* string
+- *Default:* "https://registry.npmjs.org"
-The glob patterns to match.
+The base URL of the npm package registry.
+
+Must be a URL (e.g. start with "https://" or "http://")
---
-##### `addGitIgnore`
+##### `npmTokenSecret`Optional
```typescript
-public addGitIgnore(pattern: string): void
+public readonly npmTokenSecret: string;
```
-Adds a .gitignore pattern.
-
-###### `pattern`Required
-
- *Type:* string
+- *Default:* "NPM_TOKEN"
-The glob pattern to ignore.
+GitHub secret which contains the NPM token to use when publishing packages.
---
-##### `addPackageIgnore`
+##### `packageManager`Optional
```typescript
-public addPackageIgnore(pattern: string): void
+public readonly packageManager: NodePackageManager;
```
-Exclude these files from the bundled package.
-
-Implemented by project types based on the
-packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.
-
-###### `pattern`Required
+- *Type:* projen.javascript.NodePackageManager
+- *Default:* NodePackageManager.YARN_CLASSIC
-- *Type:* string
+The Node Package Manager used to execute scripts.
---
-##### `addTask`
+##### `packageName`Optional
```typescript
-public addTask(name: string, props?: TaskOptions): Task
+public readonly packageName: string;
```
-Adds a new task to this project.
-
-This will fail if the project already has
-a task with this name.
-
-###### `name`Required
-
- *Type:* string
+- *Default:* defaults to project name
-The task name to add.
-
----
-
-###### `props`Optional
-
-- *Type:* projen.TaskOptions
-
-Task properties.
+The "name" in package.json.
---
-##### ~~`addTip`~~
+##### `peerDependencyOptions`Optional
```typescript
-public addTip(message: string): void
+public readonly peerDependencyOptions: PeerDependencyOptions;
```
-Prints a "tip" message during synthesis.
-
-###### `message`Required
-
-- *Type:* string
+- *Type:* projen.javascript.PeerDependencyOptions
-The message.
+Options for `peerDeps`.
---
-##### `annotateGenerated`
+##### `peerDeps`Optional
```typescript
-public annotateGenerated(glob: string): void
+public readonly peerDeps: string[];
```
-Marks the provided file(s) as being generated.
+- *Type:* string[]
+- *Default:* []
-This is achieved using the
-github-linguist attributes. Generated files do not count against the
-repository statistics and language breakdown.
+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.
-> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
+---
-###### `glob`Required
+##### `pnpmVersion`Optional
+
+```typescript
+public readonly pnpmVersion: string;
+```
- *Type:* string
+- *Default:* "7"
-the glob pattern to match (could be a file path).
+The version of PNPM to use if using PNPM as a package manager.
---
-##### `postSynthesize`
+##### `repository`Optional
```typescript
-public postSynthesize(): void
+public readonly repository: string;
```
-Called after all components are synthesized.
-
-Order is *not* guaranteed.
+- *Type:* string
-##### `preSynthesize`
+The repository is the location where the actual code for your package lives.
-```typescript
-public preSynthesize(): void
-```
+See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
-Called before all components are synthesized.
+---
-##### `removeTask`
+##### `repositoryDirectory`Optional
```typescript
-public removeTask(name: string): Task
+public readonly repositoryDirectory: string;
```
-Removes a task from a project.
-
-###### `name`Required
-
- *Type:* string
-The name of the task to remove.
+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.
---
-##### `runTaskCommand`
+##### `scopedPackagesOptions`Optional
```typescript
-public runTaskCommand(task: Task): string
+public readonly scopedPackagesOptions: ScopedPackagesOptions[];
```
-Returns the shell command to execute in order to run a task.
-
-This will
-typically be `npx projen TASK`.
-
-###### `task`Required
-
-- *Type:* projen.Task
+- *Type:* projen.javascript.ScopedPackagesOptions[]
+- *Default:* fetch all scoped packages from the public npm registry
-The task for which the command is required.
+Options for privately hosted scoped packages.
---
-##### `synth`
+##### ~~`scripts`~~Optional
+
+- *Deprecated:* use `project.addTask()` or `package.setScript()`
```typescript
-public synth(): void
+public readonly scripts: {[ key: string ]: string};
```
-Synthesize all project files into `outdir`.
+- *Type:* {[ key: string ]: string}
+- *Default:* {}
-1. Call "this.preSynthesize()"
-2. Delete all generated files
-3. Synthesize all sub-projects
-4. Synthesize all components of this project
-5. Call "postSynthesize()" for all components of this project
-6. Call "this.postSynthesize()"
+npm scripts to include.
-##### `tryFindFile`
+If a script has the same name as a standard script,
+the standard script will be overwritten.
+Also adds the script as a task.
-```typescript
-public tryFindFile(filePath: string): FileBase
-```
+---
-Finds a file at the specified relative path within this project and all its subprojects.
+##### `stability`Optional
-###### `filePath`Required
+```typescript
+public readonly stability: string;
+```
- *Type:* string
-The file path.
-
-If this path is relative, it will be resolved
-from the root of _this_ project.
+Package's Stability.
---
-##### ~~`tryFindJsonFile`~~
+##### `yarnBerryOptions`Optional
```typescript
-public tryFindJsonFile(filePath: string): JsonFile
+public readonly yarnBerryOptions: YarnBerryOptions;
```
-Finds a json file by name.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* projen.javascript.YarnBerryOptions
+- *Default:* Yarn Berry v4 with all default options
-The file path.
+Options for Yarn Berry.
---
-##### `tryFindObjectFile`
+##### `jsiiReleaseVersion`Optional
```typescript
-public tryFindObjectFile(filePath: string): ObjectFile
+public readonly jsiiReleaseVersion: string;
```
-Finds an object file (like JsonFile, YamlFile, etc.) by name.
-
-###### `filePath`Required
-
- *Type:* string
+- *Default:* "latest"
-The file path.
+Version requirement of `publib` which is used to publish modules to npm.
---
-##### `tryRemoveFile`
+##### `majorVersion`Optional
```typescript
-public tryRemoveFile(filePath: string): FileBase
+public readonly majorVersion: number;
```
-Finds a file at the specified relative path within this project and removes it.
-
-###### `filePath`Required
-
-- *Type:* string
+- *Type:* number
+- *Default:* Major version is not enforced.
-The file path.
+Major version to release from the default branch.
-If this path is relative, it will be
-resolved from the root of _this_ project.
+If this is specified, we bump the latest version of this major version line.
+If not specified, we bump the global latest version.
---
-##### `addBins`
+##### `minMajorVersion`Optional
```typescript
-public addBins(bins: {[ key: string ]: string}): void
+public readonly minMajorVersion: number;
```
-###### `bins`Required
+- *Type:* number
+- *Default:* No minimum version is being enforced
-- *Type:* {[ key: string ]: string}
+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`.
---
-##### `addBundledDeps`
+##### `npmDistTag`Optional
```typescript
-public addBundledDeps(deps: string): void
+public readonly npmDistTag: string;
```
-Defines bundled dependencies.
-
-Bundled dependencies will be added as normal dependencies as well as to the
-`bundledDependencies` section of your `package.json`.
-
-###### `deps`Required
-
- *Type:* string
+- *Default:* "latest"
-Names modules to install.
+The npmDistTag to use when publishing from the default branch.
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+To set the npm dist-tag for release branches, set the `npmDistTag` property
+for each branch.
---
-##### ~~`addCompileCommand`~~
+##### `postBuildSteps`Optional
```typescript
-public addCompileCommand(commands: string): void
+public readonly postBuildSteps: JobStep[];
```
-DEPRECATED.
-
-###### `commands`Required
+- *Type:* projen.github.workflows.JobStep[]
+- *Default:* []
-- *Type:* string
+Steps to execute after build as part of the release workflow.
---
-##### `addDeps`
+##### `prerelease`Optional
```typescript
-public addDeps(deps: string): void
+public readonly prerelease: string;
```
-Defines normal dependencies.
-
-###### `deps`Required
-
- *Type:* string
+- *Default:* normal semantic versions
-Names modules to install.
-
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
---
-##### `addDevDeps`
+##### `publishDryRun`Optional
```typescript
-public addDevDeps(deps: string): void
+public readonly publishDryRun: boolean;
```
-Defines development/test dependencies.
-
-###### `deps`Required
-
-- *Type:* string
-
-Names modules to install.
+- *Type:* boolean
+- *Default:* false
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Instead of actually publishing to package managers, just print the publishing command.
---
-##### `addFields`
+##### `publishTasks`Optional
```typescript
-public addFields(fields: {[ key: string ]: any}): void
+public readonly publishTasks: boolean;
```
-Directly set fields in `package.json`.
-
-###### `fields`Required
+- *Type:* boolean
+- *Default:* false
-- *Type:* {[ key: string ]: any}
+Define publishing tasks that can be executed manually as well as workflows.
-The fields to set.
+Normally, publishing only happens within automated workflows. Enable this
+in order to create a publishing task for each publishing activity.
---
-##### `addKeywords`
+##### `releasableCommits`Optional
```typescript
-public addKeywords(keywords: string): void
+public readonly releasableCommits: ReleasableCommits;
```
-Adds keywords to package.json (deduplicated).
-
-###### `keywords`Required
-
-- *Type:* string
+- *Type:* projen.ReleasableCommits
+- *Default:* ReleasableCommits.everyCommit()
-The keywords to add.
+Find commits that should be considered releasable Used to decide if a release is required.
---
-##### `addPeerDeps`
+##### `releaseBranches`Optional
```typescript
-public addPeerDeps(deps: string): void
+public readonly releaseBranches: {[ key: string ]: BranchOptions};
```
-Defines peer dependencies.
+- *Type:* {[ key: string ]: projen.release.BranchOptions}
+- *Default:* no additional branches are used for release. you can use `addBranch()` to add additional branches.
-When adding peer dependencies, a devDependency will also be added on the
-pinned version of the declared peer. This will ensure that you are testing
-your code against the minimum version required from your consumers.
+Defines additional release branches.
-###### `deps`Required
+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.
+
+---
+
+##### ~~`releaseEveryCommit`~~Optional
+
+- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.continuous()` instead
-- *Type:* string
+```typescript
+public readonly releaseEveryCommit: boolean;
+```
-Names modules to install.
+- *Type:* boolean
+- *Default:* true
-By default, the the dependency will
-be installed in the next `npx projen` run and the version will be recorded
-in your `package.json` file. You can upgrade manually or using `yarn
-add/upgrade`. If you wish to specify a version range use this syntax:
-`module@^7`.
+Automatically release new versions every commit to one of branches in `releaseBranches`.
---
-##### `addScripts`
+##### `releaseFailureIssue`Optional
```typescript
-public addScripts(scripts: {[ key: string ]: string}): void
+public readonly releaseFailureIssue: boolean;
```
-Replaces the contents of multiple npm package.json scripts.
-
-###### `scripts`Required
-
-- *Type:* {[ key: string ]: string}
+- *Type:* boolean
+- *Default:* false
-The scripts to set.
+Create a github issue on every failed publishing task.
---
-##### ~~`addTestCommand`~~
+##### `releaseFailureIssueLabel`Optional
```typescript
-public addTestCommand(commands: string): void
+public readonly releaseFailureIssueLabel: string;
```
-DEPRECATED.
+- *Type:* string
+- *Default:* "failed-release"
-###### `commands`Required
+The label to apply to issues indicating publish failures.
-- *Type:* string
+Only applies if `releaseFailureIssue` is true.
---
-##### ~~`hasScript`~~
+##### ~~`releaseSchedule`~~Optional
+
+- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
```typescript
-public hasScript(name: string): boolean
+public readonly releaseSchedule: string;
```
-Indicates if a script by the name name is defined.
-
-###### `name`Required
-
- *Type:* string
+- *Default:* no scheduled releases
-The name of the script.
+CRON schedule to trigger new releases.
---
-##### `removeScript`
+##### `releaseTagPrefix`Optional
```typescript
-public removeScript(name: string): void
+public readonly releaseTagPrefix: string;
```
-Removes the npm script (always successful).
-
-###### `name`Required
-
- *Type:* string
+- *Default:* "v"
-The name of the script.
+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.
---
-##### `renderWorkflowSetup`
+##### `releaseTrigger`Optional
```typescript
-public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
+public readonly releaseTrigger: ReleaseTrigger;
```
-Returns the set of workflow steps which should be executed to bootstrap a workflow.
-
-###### `options`Optional
-
-- *Type:* projen.javascript.RenderWorkflowSetupOptions
+- *Type:* projen.release.ReleaseTrigger
+- *Default:* Continuous releases (`ReleaseTrigger.continuous()`)
-Options.
+The release trigger to use.
---
-##### `setScript`
+##### `releaseWorkflowName`Optional
```typescript
-public setScript(name: string, command: string): void
+public readonly releaseWorkflowName: string;
```
-Replaces the contents of an npm package.json script.
-
-###### `name`Required
-
- *Type:* string
+- *Default:* "Release"
-The script name.
+The name of the default release workflow.
---
-###### `command`Required
+##### `releaseWorkflowSetupSteps`Optional
-- *Type:* string
+```typescript
+public readonly releaseWorkflowSetupSteps: JobStep[];
+```
-The command to execute.
+- *Type:* projen.github.workflows.JobStep[]
+
+A set of workflow steps to execute in order to setup the workflow container.
---
+##### `versionrcOptions`Optional
-#### Properties
+```typescript
+public readonly versionrcOptions: {[ key: string ]: any};
+```
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| buildTask
| projen.Task
| *No description.* |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| compileTask
| projen.Task
| *No description.* |
-| components
| projen.Component[]
| Returns all the components within this project. |
-| deps
| projen.Dependencies
| Project dependencies. |
-| ejected
| boolean
| Whether or not the project is being ejected. |
-| files
| projen.FileBase[]
| All files in this project. |
-| gitattributes
| projen.GitAttributesFile
| The .gitattributes file for this repository. |
-| gitignore
| projen.IgnoreFile
| .gitignore. |
-| logger
| projen.Logger
| Logging utilities. |
-| name
| string
| Project name. |
-| outdir
| string
| Absolute output directory of this project. |
-| packageTask
| projen.Task
| *No description.* |
-| postCompileTask
| projen.Task
| *No description.* |
-| preCompileTask
| projen.Task
| *No description.* |
-| projectBuild
| projen.ProjectBuild
| Manages the build process of the project. |
-| projenCommand
| string
| The command to use in order to run the projen CLI. |
-| root
| projen.Project
| The root project. |
-| subprojects
| projen.Project[]
| Returns all the subprojects within this project. |
-| tasks
| projen.Tasks
| Project tasks. |
-| testTask
| projen.Task
| *No description.* |
-| defaultTask
| projen.Task
| This is the "default" task, the one that executes "projen". |
-| initProject
| projen.InitProject
| The options used when this project is bootstrapped via `projen new`. |
-| parent
| projen.Project
| A parent project. |
-| projectType
| projen.ProjectType
| *No description.* |
-| autoApprove
| projen.github.AutoApprove
| Auto approve set up for this project. |
-| devContainer
| projen.vscode.DevContainer
| Access for .devcontainer.json (used for GitHub Codespaces). |
-| github
| projen.github.GitHub
| Access all github components. |
-| gitpod
| projen.Gitpod
| Access for Gitpod. |
-| vscode
| projen.vscode.VsCode
| Access all VSCode components. |
-| allowLibraryDependencies
| boolean
| *No description.* |
-| artifactsDirectory
| string
| The build output directory. |
-| artifactsJavascriptDirectory
| string
| The location of the npm tarball after build (`${artifactsDirectory}/js`). |
-| bundler
| projen.javascript.Bundler
| *No description.* |
-| entrypoint
| string
| *No description.* |
-| manifest
| any
| *No description.* |
-| npmrc
| projen.javascript.NpmConfig
| The .npmrc file. |
-| package
| projen.javascript.NodePackage
| API for managing the node package. |
-| packageManager
| projen.javascript.NodePackageManager
| The package manager to use. |
-| runScriptCommand
| string
| The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
-| autoMerge
| projen.github.AutoMerge
| Component that sets up mergify for merging approved pull requests. |
-| buildWorkflow
| projen.build.BuildWorkflow
| The PR build GitHub workflow. |
-| buildWorkflowJobId
| string
| The job ID of the build workflow. |
-| jest
| projen.javascript.Jest
| The Jest configuration (if enabled). |
-| maxNodeVersion
| string
| Maximum node version required by this package. |
-| minNodeVersion
| string
| Minimum node.js version required by this package. |
-| npmignore
| projen.IgnoreFile
| The .npmignore file. |
-| prettier
| projen.javascript.Prettier
| *No description.* |
-| publisher
| projen.release.Publisher
| Package publisher. |
-| release
| projen.release.Release
| Release management. |
-| upgradeWorkflow
| projen.javascript.UpgradeDependencies
| The upgrade workflow. |
-| docsDirectory
| string
| *No description.* |
-| libdir
| string
| The directory in which compiled .js files reside. |
-| srcdir
| string
| The directory in which the .ts sources reside. |
-| testdir
| string
| The directory in which tests reside. |
-| tsconfigDev
| projen.javascript.TypescriptConfig
| A typescript configuration file which covers all files (sources, tests, projen). |
-| watchTask
| projen.Task
| The "watch" task. |
-| docgen
| boolean
| *No description.* |
-| eslint
| projen.javascript.Eslint
| *No description.* |
-| tsconfig
| projen.javascript.TypescriptConfig
| *No description.* |
-| tsconfigEslint
| projen.javascript.TypescriptConfig
| *No description.* |
+- *Type:* {[ key: string ]: any}
+- *Default:* standard configuration applicable for GitHub repositories
+
+Custom configuration used when creating changelog with standard-version package.
+
+Given values either append to default configuration or overwrite values in it.
---
-##### `buildTask`Required
+##### `workflowContainerImage`Optional
```typescript
-public readonly buildTask: Task;
+public readonly workflowContainerImage: string;
```
-- *Type:* projen.Task
+- *Type:* string
+- *Default:* default image
+
+Container image to use for GitHub workflows.
---
-##### `commitGenerated`Required
+##### `workflowRunsOn`Optional
```typescript
-public readonly commitGenerated: boolean;
+public readonly workflowRunsOn: string[];
```
-- *Type:* boolean
+- *Type:* string[]
+- *Default:* ["ubuntu-latest"]
-Whether to commit the managed files by default.
+Github Runner selection labels.
---
-##### `compileTask`Required
+##### `workflowRunsOnGroup`Optional
```typescript
-public readonly compileTask: Task;
+public readonly workflowRunsOnGroup: GroupRunnerOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.GroupRunnerOptions
+
+Github Runner Group selection options.
---
-##### `components`Required
+##### `defaultReleaseBranch`Required
```typescript
-public readonly components: Component[];
+public readonly defaultReleaseBranch: string;
```
-- *Type:* projen.Component[]
+- *Type:* string
+- *Default:* "main"
-Returns all the components within this project.
+The name of the main release branch.
---
-##### `deps`Required
+##### `artifactsDirectory`Optional
```typescript
-public readonly deps: Dependencies;
+public readonly artifactsDirectory: string;
```
-- *Type:* projen.Dependencies
+- *Type:* string
+- *Default:* "dist"
-Project dependencies.
+A directory which will contain build artifacts.
---
-##### `ejected`Required
+##### `autoApproveUpgrades`Optional
```typescript
-public readonly ejected: boolean;
+public readonly autoApproveUpgrades: boolean;
```
- *Type:* boolean
+- *Default:* true
-Whether or not the project is being ejected.
+Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
+
+Throw if set to true but `autoApproveOptions` are not defined.
---
-##### `files`Required
+##### `buildWorkflow`Optional
```typescript
-public readonly files: FileBase[];
+public readonly buildWorkflow: boolean;
```
-- *Type:* projen.FileBase[]
+- *Type:* boolean
+- *Default:* true if not a subproject
-All files in this project.
+Define a GitHub workflow for building PRs.
---
-##### `gitattributes`Required
+##### `buildWorkflowTriggers`Optional
```typescript
-public readonly gitattributes: GitAttributesFile;
+public readonly buildWorkflowTriggers: Triggers;
```
-- *Type:* projen.GitAttributesFile
+- *Type:* projen.github.workflows.Triggers
+- *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
-The .gitattributes file for this repository.
+Build workflow triggers.
---
-##### `gitignore`Required
+##### `bundlerOptions`Optional
```typescript
-public readonly gitignore: IgnoreFile;
+public readonly bundlerOptions: BundlerOptions;
```
-- *Type:* projen.IgnoreFile
+- *Type:* projen.javascript.BundlerOptions
-.gitignore.
+Options for `Bundler`.
---
-##### `logger`Required
+##### `codeCov`Optional
```typescript
-public readonly logger: Logger;
+public readonly codeCov: boolean;
```
-- *Type:* projen.Logger
+- *Type:* boolean
+- *Default:* false
-Logging utilities.
+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`.
---
-##### `name`Required
+##### `codeCovTokenSecret`Optional
```typescript
-public readonly name: string;
+public readonly codeCovTokenSecret: string;
```
- *Type:* string
+- *Default:* if this option is not specified, only public repositories are supported
-Project name.
+Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
---
-##### `outdir`Required
+##### `copyrightOwner`Optional
```typescript
-public readonly outdir: string;
+public readonly copyrightOwner: string;
```
- *Type:* string
+- *Default:* defaults to the value of authorName or "" if `authorName` is undefined.
-Absolute output directory of this project.
+License copyright owner.
---
-##### `packageTask`Required
+##### `copyrightPeriod`Optional
```typescript
-public readonly packageTask: Task;
+public readonly copyrightPeriod: string;
```
-- *Type:* projen.Task
+- *Type:* string
+- *Default:* current year
+
+The copyright years to put in the LICENSE file.
---
-##### `postCompileTask`Required
+##### `dependabot`Optional
```typescript
-public readonly postCompileTask: Task;
+public readonly dependabot: boolean;
```
-- *Type:* projen.Task
-
----
-
-##### `preCompileTask`Required
+- *Type:* boolean
+- *Default:* false
-```typescript
-public readonly preCompileTask: Task;
-```
+Use dependabot to handle dependency upgrades.
-- *Type:* projen.Task
+Cannot be used in conjunction with `depsUpgrade`.
---
-##### `projectBuild`Required
+##### `dependabotOptions`Optional
```typescript
-public readonly projectBuild: ProjectBuild;
+public readonly dependabotOptions: DependabotOptions;
```
-- *Type:* projen.ProjectBuild
+- *Type:* projen.github.DependabotOptions
+- *Default:* default options
-Manages the build process of the project.
+Options for dependabot.
---
-##### `projenCommand`Required
+##### `depsUpgrade`Optional
```typescript
-public readonly projenCommand: string;
+public readonly depsUpgrade: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-The command to use in order to run the projen CLI.
+Use tasks and github workflows to handle dependency upgrades.
+
+Cannot be used in conjunction with `dependabot`.
---
-##### `root`Required
+##### `depsUpgradeOptions`Optional
```typescript
-public readonly root: Project;
+public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
```
-- *Type:* projen.Project
+- *Type:* projen.javascript.UpgradeDependenciesOptions
+- *Default:* default options
-The root project.
+Options for `UpgradeDependencies`.
---
-##### `subprojects`Required
+##### `gitignore`Optional
```typescript
-public readonly subprojects: Project[];
+public readonly gitignore: string[];
```
-- *Type:* projen.Project[]
+- *Type:* string[]
-Returns all the subprojects within this project.
+Additional entries to .gitignore.
---
-##### `tasks`Required
+##### `jest`Optional
```typescript
-public readonly tasks: Tasks;
+public readonly jest: boolean;
```
-- *Type:* projen.Tasks
+- *Type:* boolean
+- *Default:* true
-Project tasks.
+Setup jest unit tests.
---
-##### `testTask`Required
+##### `jestOptions`Optional
```typescript
-public readonly testTask: Task;
+public readonly jestOptions: JestOptions;
```
-- *Type:* projen.Task
+- *Type:* projen.javascript.JestOptions
+- *Default:* default options
+
+Jest options.
---
-##### `defaultTask`Optional
+##### `mutableBuild`Optional
```typescript
-public readonly defaultTask: Task;
+public readonly mutableBuild: boolean;
```
-- *Type:* projen.Task
+- *Type:* boolean
+- *Default:* true
-This is the "default" task, the one that executes "projen".
+Automatically update files modified during builds to pull-request branches.
-Undefined if
-the project is being ejected.
+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.
---
-##### `initProject`Optional
+##### ~~`npmignore`~~Optional
+
+- *Deprecated:* - use `project.addPackageIgnore`
```typescript
-public readonly initProject: InitProject;
+public readonly npmignore: string[];
```
-- *Type:* projen.InitProject
-
-The options used when this project is bootstrapped via `projen new`.
+- *Type:* string[]
-It
-includes the original set of options passed to the CLI and also the JSII
-FQN of the project type.
+Additional entries to .npmignore.
---
-##### `parent`Optional
+##### `npmignoreEnabled`Optional
```typescript
-public readonly parent: Project;
+public readonly npmignoreEnabled: boolean;
```
-- *Type:* projen.Project
-
-A parent project.
+- *Type:* boolean
+- *Default:* true
-If undefined, this is the root project.
+Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
---
-##### `projectType`Required
+##### `npmIgnoreOptions`Optional
```typescript
-public readonly projectType: ProjectType;
+public readonly npmIgnoreOptions: IgnoreFileOptions;
```
-- *Type:* projen.ProjectType
+- *Type:* projen.IgnoreFileOptions
+
+Configuration options for .npmignore file.
---
-##### `autoApprove`Optional
+##### `package`Optional
```typescript
-public readonly autoApprove: AutoApprove;
+public readonly package: boolean;
```
-- *Type:* projen.github.AutoApprove
+- *Type:* boolean
+- *Default:* true
-Auto approve set up for this project.
+Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
---
-##### `devContainer`Optional
+##### `prettier`Optional
```typescript
-public readonly devContainer: DevContainer;
+public readonly prettier: boolean;
```
-- *Type:* projen.vscode.DevContainer
-
-Access for .devcontainer.json (used for GitHub Codespaces).
+- *Type:* boolean
+- *Default:* false
-This will be `undefined` if devContainer boolean is false
+Setup prettier.
---
-##### `github`Optional
+##### `prettierOptions`Optional
```typescript
-public readonly github: GitHub;
+public readonly prettierOptions: PrettierOptions;
```
-- *Type:* projen.github.GitHub
-
-Access all github components.
+- *Type:* projen.javascript.PrettierOptions
+- *Default:* default options
-This will be `undefined` for subprojects.
+Prettier options.
---
-##### `gitpod`Optional
+##### `projenDevDependency`Optional
```typescript
-public readonly gitpod: Gitpod;
+public readonly projenDevDependency: boolean;
```
-- *Type:* projen.Gitpod
-
-Access for Gitpod.
+- *Type:* boolean
+- *Default:* true
-This will be `undefined` if gitpod boolean is false
+Indicates of "projen" should be installed as a devDependency.
---
-##### `vscode`Optional
+##### `projenrcJs`Optional
```typescript
-public readonly vscode: VsCode;
+public readonly projenrcJs: boolean;
```
-- *Type:* projen.vscode.VsCode
-
-Access all VSCode components.
+- *Type:* boolean
+- *Default:* true if projenrcJson is false
-This will be `undefined` for subprojects.
+Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
---
-##### ~~`allowLibraryDependencies`~~Required
-
-- *Deprecated:* use `package.allowLibraryDependencies`
+##### `projenrcJsOptions`Optional
```typescript
-public readonly allowLibraryDependencies: boolean;
+public readonly projenrcJsOptions: ProjenrcOptions;
```
-- *Type:* boolean
+- *Type:* projen.javascript.ProjenrcOptions
+- *Default:* default options
+
+Options for .projenrc.js.
---
-##### `artifactsDirectory`Required
+##### `projenVersion`Optional
```typescript
-public readonly artifactsDirectory: string;
+public readonly projenVersion: string;
```
- *Type:* string
+- *Default:* Defaults to the latest version.
-The build output directory.
-
-An npm tarball will be created under the `js`
-subdirectory. For example, if this is set to `dist` (the default), the npm
-tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
+Version of projen to install.
---
-##### `artifactsJavascriptDirectory`Required
+##### `pullRequestTemplate`Optional
```typescript
-public readonly artifactsJavascriptDirectory: string;
+public readonly pullRequestTemplate: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
-The location of the npm tarball after build (`${artifactsDirectory}/js`).
+Include a GitHub pull request template.
---
-##### `bundler`Required
+##### `pullRequestTemplateContents`Optional
```typescript
-public readonly bundler: Bundler;
+public readonly pullRequestTemplateContents: string[];
```
-- *Type:* projen.javascript.Bundler
+- *Type:* string[]
+- *Default:* default content
----
+The contents of the pull request template.
-##### ~~`entrypoint`~~Required
+---
-- *Deprecated:* use `package.entrypoint`
+##### `release`Optional
```typescript
-public readonly entrypoint: string;
+public readonly release: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* true (false for subprojects)
----
+Add release management to this project.
-##### ~~`manifest`~~Required
+---
-- *Deprecated:* use `package.addField(x, y)`
+##### `releaseToNpm`Optional
```typescript
-public readonly manifest: any;
+public readonly releaseToNpm: boolean;
```
-- *Type:* any
+- *Type:* boolean
+- *Default:* false
+
+Automatically release to npm when new versions are introduced.
---
-##### `npmrc`Required
+##### ~~`releaseWorkflow`~~Optional
+
+- *Deprecated:* see `release`.
```typescript
-public readonly npmrc: NpmConfig;
+public readonly releaseWorkflow: boolean;
```
-- *Type:* projen.javascript.NpmConfig
+- *Type:* boolean
+- *Default:* true if not a subproject
-The .npmrc file.
+DEPRECATED: renamed to `release`.
---
-##### `package`Required
+##### `workflowBootstrapSteps`Optional
```typescript
-public readonly package: NodePackage;
+public readonly workflowBootstrapSteps: JobStep[];
```
-- *Type:* projen.javascript.NodePackage
+- *Type:* projen.github.workflows.JobStep[]
+- *Default:* "yarn install --frozen-lockfile && yarn projen"
-API for managing the node package.
+Workflow steps to use in order to bootstrap this repo.
---
-##### ~~`packageManager`~~Required
-
-- *Deprecated:* use `package.packageManager`
+##### `workflowGitIdentity`Optional
```typescript
-public readonly packageManager: NodePackageManager;
+public readonly workflowGitIdentity: GitIdentity;
```
-- *Type:* projen.javascript.NodePackageManager
+- *Type:* projen.github.GitIdentity
+- *Default:* GitHub Actions
-The package manager to use.
+The git identity to use in workflows.
---
-##### `runScriptCommand`Required
+##### `workflowNodeVersion`Optional
```typescript
-public readonly runScriptCommand: string;
+public readonly workflowNodeVersion: string;
```
- *Type:* string
+- *Default:* same as `minNodeVersion`
-The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
+The node version to use in GitHub workflows.
---
-##### `autoMerge`Optional
+##### `workflowPackageCache`Optional
```typescript
-public readonly autoMerge: AutoMerge;
+public readonly workflowPackageCache: boolean;
```
-- *Type:* projen.github.AutoMerge
+- *Type:* boolean
+- *Default:* false
-Component that sets up mergify for merging approved pull requests.
+Enable Node.js package cache in GitHub workflows.
---
-##### `buildWorkflow`Optional
+##### `disableTsconfig`Optional
```typescript
-public readonly buildWorkflow: BuildWorkflow;
+public readonly disableTsconfig: boolean;
```
-- *Type:* projen.build.BuildWorkflow
-
-The PR build GitHub workflow.
+- *Type:* boolean
+- *Default:* false
-`undefined` if `buildWorkflow` is disabled.
+Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
---
-##### `buildWorkflowJobId`Optional
+##### `disableTsconfigDev`Optional
```typescript
-public readonly buildWorkflowJobId: string;
+public readonly disableTsconfigDev: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* false
-The job ID of the build workflow.
+Do not generate a `tsconfig.dev.json` file.
---
-##### `jest`Optional
+##### `docgen`Optional
```typescript
-public readonly jest: Jest;
+public readonly docgen: boolean;
```
-- *Type:* projen.javascript.Jest
+- *Type:* boolean
+- *Default:* false
-The Jest configuration (if enabled).
+Docgen by Typedoc.
---
-##### `maxNodeVersion`Optional
+##### `docsDirectory`Optional
```typescript
-public readonly maxNodeVersion: string;
+public readonly docsDirectory: string;
```
- *Type:* string
+- *Default:* "docs"
-Maximum node version required by this package.
+Docs directory.
---
-##### `minNodeVersion`Optional
+##### `entrypointTypes`Optional
```typescript
-public readonly minNodeVersion: string;
+public readonly entrypointTypes: string;
```
- *Type:* string
+- *Default:* .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
-Minimum node.js version required by this package.
+The .d.ts file that includes the type declarations for this module.
---
-##### `npmignore`Optional
+##### `eslint`Optional
```typescript
-public readonly npmignore: IgnoreFile;
+public readonly eslint: boolean;
```
-- *Type:* projen.IgnoreFile
+- *Type:* boolean
+- *Default:* true
-The .npmignore file.
+Setup eslint.
---
-##### `prettier`Optional
+##### `eslintOptions`Optional
```typescript
-public readonly prettier: Prettier;
+public readonly eslintOptions: EslintOptions;
```
-- *Type:* projen.javascript.Prettier
+- *Type:* projen.javascript.EslintOptions
+- *Default:* opinionated default options
----
+Eslint options.
-##### ~~`publisher`~~Optional
+---
-- *Deprecated:* use `release.publisher`.
+##### `libdir`Optional
```typescript
-public readonly publisher: Publisher;
+public readonly libdir: string;
```
-- *Type:* projen.release.Publisher
-
-Package publisher.
+- *Type:* string
+- *Default:* "lib"
-This will be `undefined` if the project does not have a
-release workflow.
+Typescript artifacts output directory.
---
-##### `release`Optional
+##### `projenrcTs`Optional
```typescript
-public readonly release: Release;
+public readonly projenrcTs: boolean;
```
-- *Type:* projen.release.Release
+- *Type:* boolean
+- *Default:* false
-Release management.
+Use TypeScript for your projenrc file (`.projenrc.ts`).
---
-##### `upgradeWorkflow`Optional
+##### `projenrcTsOptions`Optional
```typescript
-public readonly upgradeWorkflow: UpgradeDependencies;
+public readonly projenrcTsOptions: ProjenrcOptions;
```
-- *Type:* projen.javascript.UpgradeDependencies
+- *Type:* projen.typescript.ProjenrcOptions
-The upgrade workflow.
+Options for .projenrc.ts.
---
-##### `docsDirectory`Required
+##### `sampleCode`Optional
```typescript
-public readonly docsDirectory: string;
+public readonly sampleCode: boolean;
```
-- *Type:* string
+- *Type:* boolean
+- *Default:* true
+
+Generate one-time sample in `src/` and `test/` if there are no files there.
---
-##### `libdir`Required
+##### `srcdir`Optional
```typescript
-public readonly libdir: string;
+public readonly srcdir: string;
```
- *Type:* string
+- *Default:* "src"
-The directory in which compiled .js files reside.
+Typescript sources directory.
---
-##### `srcdir`Required
+##### `testdir`Optional
```typescript
-public readonly srcdir: string;
+public readonly testdir: string;
```
- *Type:* string
+- *Default:* "test"
-The directory in which the .ts sources reside.
+Jest tests directory. Tests files should be named `xxx.test.ts`.
+
+If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),
+then tests are going to be compiled into `lib/` and executed as javascript.
+If the test directory is outside of `src`, then we configure jest to
+compile the code in-memory.
---
-##### `testdir`Required
+##### `tsconfig`Optional
```typescript
-public readonly testdir: string;
+public readonly tsconfig: TypescriptConfigOptions;
```
-- *Type:* string
+- *Type:* projen.javascript.TypescriptConfigOptions
+- *Default:* default options
-The directory in which tests reside.
+Custom TSConfig.
---
-##### `tsconfigDev`Required
+##### `tsconfigDev`Optional
```typescript
-public readonly tsconfigDev: TypescriptConfig;
+public readonly tsconfigDev: TypescriptConfigOptions;
```
-- *Type:* projen.javascript.TypescriptConfig
+- *Type:* projen.javascript.TypescriptConfigOptions
+- *Default:* use the production tsconfig options
-A typescript configuration file which covers all files (sources, tests, projen).
+Custom tsconfig options for the development tsconfig.json file (used for testing).
---
-##### `watchTask`Required
+##### `tsconfigDevFile`Optional
```typescript
-public readonly watchTask: Task;
+public readonly tsconfigDevFile: string;
```
-- *Type:* projen.Task
+- *Type:* string
+- *Default:* "tsconfig.dev.json"
-The "watch" task.
+The name of the development tsconfig.json file.
---
-##### `docgen`Optional
+##### `typescriptVersion`Optional
```typescript
-public readonly docgen: boolean;
+public readonly typescriptVersion: string;
```
-- *Type:* boolean
+- *Type:* string
+- *Default:* "latest"
+
+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`).
---
-##### `eslint`Optional
+##### `additionalCompilerDependencies`Optional
```typescript
-public readonly eslint: Eslint;
+public readonly additionalCompilerDependencies: string[];
```
-- *Type:* projen.javascript.Eslint
+- *Type:* string[]
+- *Default:* No additional compiler dependencies.
+
+Packages that compile the project apart from the typescript/jsii compiler.
+
+Any package that produces a published artifact should be included in this list.
---
-##### `tsconfig`Optional
+##### `backport`Optional
```typescript
-public readonly tsconfig: TypescriptConfig;
+public readonly backport: boolean;
```
-- *Type:* projen.javascript.TypescriptConfig
+- *Type:* boolean
+- *Default:* false
+
+Configure a backport workflow.
---
-##### `tsconfigEslint`Optional
+##### `backportBranches`Optional
```typescript
-public readonly tsconfigEslint: TypescriptConfig;
+public readonly backportBranches: string[];
```
-- *Type:* projen.javascript.TypescriptConfig
-
----
-
-#### Constants
+- *Type:* string[]
+- *Default:* Will be derived from PR labels.
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| DEFAULT_TASK
| string
| The name of the default task (the task executed when `projen` is run without arguments). |
+Branches to backport to.
---
-##### `DEFAULT_TASK`Required
+##### `repoName`Optional
```typescript
-public readonly DEFAULT_TASK: string;
+public readonly repoName: string;
```
- *Type:* string
+- *Default:* the package name.
-The name of the default task (the task executed when `projen` is run without arguments).
-
-Normally
-this task should synthesize the project files.
+The name of the repository inside the cdk8s-team org where the code of the project is locate in.
---
+
diff --git a/package.json b/package.json
index b38665ca..14671f7d 100644
--- a/package.json
+++ b/package.json
@@ -40,10 +40,10 @@
"devDependencies": {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "^0.3.9",
"eslint-import-resolver-typescript": "^2.7.1",
"eslint-plugin-import": "^2.29.0",
"jest": "^27",
@@ -54,14 +54,14 @@
"jsii-pacmak": "^1.91.0",
"jsii-rosetta": "1.x",
"npm-check-updates": "^16",
- "projen": "^0.72.28",
+ "projen": "^0.76.27",
"standard-version": "^9",
"ts-jest": "^27",
"ts-node": "^10.9.1",
"typescript": "^4.9.5"
},
"peerDependencies": {
- "projen": "^0.72.1"
+ "projen": "^0.76.27"
},
"dependencies": {
"codemaker": "^1.91.0",
diff --git a/test/projects/__snapshots__/jsii.test.ts.snap b/test/projects/__snapshots__/jsii.test.ts.snap
index bce40fa6..72443f6a 100644
--- a/test/projects/__snapshots__/jsii.test.ts.snap
+++ b/test/projects/__snapshots__/jsii.test.ts.snap
@@ -256,7 +256,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -1409,7 +1408,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -1511,16 +1509,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -1629,7 +1628,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -1966,7 +1964,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=comp1,jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=comp1,jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -1993,7 +1991,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -2020,13 +2018,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -2355,10 +2353,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -2814,7 +2812,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -3999,7 +3996,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -4103,16 +4099,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -4223,7 +4220,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -4584,7 +4580,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -4611,7 +4607,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -4638,13 +4634,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -4973,10 +4969,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -5417,7 +5413,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -6154,7 +6149,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -6244,16 +6238,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -6356,7 +6351,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -6572,7 +6566,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -6599,7 +6593,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -6626,13 +6620,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -6961,10 +6955,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -7372,7 +7366,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -8230,7 +8223,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -8328,16 +8320,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -8440,7 +8433,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -8706,7 +8698,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -8733,7 +8725,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -8760,13 +8752,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -9095,10 +9087,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -9529,7 +9521,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -10266,7 +10257,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -10356,16 +10346,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -10468,7 +10459,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -10684,7 +10674,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -10711,7 +10701,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -10738,13 +10728,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -11073,10 +11063,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -11484,7 +11474,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -12342,7 +12331,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -12440,16 +12428,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -12552,7 +12541,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -12818,7 +12806,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -12845,7 +12833,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -12872,13 +12860,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -13207,10 +13195,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -13641,7 +13629,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -14378,7 +14365,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -14468,16 +14454,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -14580,7 +14567,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -14796,7 +14782,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -14823,7 +14809,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -14850,13 +14836,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -15185,10 +15171,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -15596,7 +15582,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -16454,7 +16439,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -16552,16 +16536,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -16664,7 +16649,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -16930,7 +16914,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -16957,7 +16941,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -16984,13 +16968,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -17319,10 +17303,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -17754,7 +17738,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -18907,7 +18890,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -19009,16 +18991,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -19127,7 +19110,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -19464,7 +19446,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -19491,7 +19473,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -19518,13 +19500,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -19853,10 +19835,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -20293,7 +20275,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -21446,7 +21427,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -21548,16 +21528,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -21666,7 +21647,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -22003,7 +21983,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -22030,7 +22010,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -22057,13 +22037,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -22392,10 +22372,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -22832,7 +22812,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -23985,7 +23964,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -24087,16 +24065,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -24205,7 +24184,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -24542,7 +24520,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -24569,7 +24547,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -24596,13 +24574,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -24931,10 +24909,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -25371,7 +25349,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -26524,7 +26501,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -26626,16 +26602,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -26744,7 +26721,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -27081,7 +27057,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -27108,7 +27084,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -27135,13 +27111,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -27470,10 +27446,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
@@ -27910,7 +27886,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -29063,7 +29038,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.dev.json
!/src/
@@ -29165,16 +29139,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -29283,7 +29258,6 @@ tsconfig.tsbuildinfo
".github/workflows/upgrade-runtime-dependencies-main.yml",
".gitignore",
".mergify.yml",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -29620,7 +29594,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=jsii,jsii-docgen,jsii-pacmak,jsii-rosetta,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -29647,7 +29621,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -29674,13 +29648,13 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest-junit,jest,jsii-diff,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest-junit jest jsii-diff npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -30009,10 +29983,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "^27",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "^27",
diff --git a/test/projects/__snapshots__/node.test.ts.snap b/test/projects/__snapshots__/node.test.ts.snap
index cdf0b387..e4858f1d 100644
--- a/test/projects/__snapshots__/node.test.ts.snap
+++ b/test/projects/__snapshots__/node.test.ts.snap
@@ -42,7 +42,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -805,7 +804,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -862,6 +860,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -910,7 +913,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -1165,7 +1167,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -1192,13 +1194,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -1515,6 +1517,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -1617,7 +1620,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -2263,7 +2265,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -2316,6 +2317,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -2356,7 +2362,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -2528,7 +2533,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -2555,13 +2560,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates",
},
Object {
"exec": "npx projen",
@@ -2878,6 +2883,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -2971,7 +2977,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -3617,7 +3622,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -3670,6 +3674,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -3710,7 +3719,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -3882,7 +3890,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -3909,13 +3917,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates",
},
Object {
"exec": "npx projen",
@@ -4232,6 +4240,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -4325,7 +4334,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -4971,7 +4979,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -5024,6 +5031,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -5064,7 +5076,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -5236,7 +5247,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -5263,13 +5274,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates",
},
Object {
"exec": "npx projen",
@@ -5586,6 +5597,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -5680,7 +5692,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -6411,7 +6422,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -6466,6 +6476,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -6512,7 +6527,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -6743,7 +6757,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -6770,13 +6784,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -7093,6 +7107,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -7191,7 +7206,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -7922,7 +7936,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -7977,6 +7990,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -8023,7 +8041,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -8254,7 +8271,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -8281,13 +8298,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -8604,6 +8621,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -8702,7 +8720,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -9433,7 +9450,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -9488,6 +9504,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -9534,7 +9555,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -9765,7 +9785,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -9792,13 +9812,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -10115,6 +10135,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -10213,7 +10234,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -10944,7 +10964,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -10999,6 +11018,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -11045,7 +11069,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -11276,7 +11299,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -11303,13 +11326,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -11626,6 +11649,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
@@ -11724,7 +11748,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -12455,7 +12478,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/CODE_OF_CONDUCT.md
!/DCO
!/git-hooks/prepare-commit-msg
@@ -12510,6 +12532,11 @@ permissions-backup.acl
".projen/deps.json": Object {
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".",
"dependencies": Array [
+ Object {
+ "name": "constructs",
+ "type": "build",
+ "version": "^10.0.0",
+ },
Object {
"name": "jest",
"type": "build",
@@ -12556,7 +12583,6 @@ permissions-backup.acl
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -12787,7 +12813,7 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -12814,13 +12840,13 @@ permissions-backup.acl
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=jest,jest-junit,npm-check-updates,standard-version",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=constructs,jest,jest-junit,npm-check-updates,standard-version",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade jest jest-junit npm-check-updates standard-version",
+ "exec": "yarn upgrade constructs jest jest-junit npm-check-updates standard-version",
},
Object {
"exec": "npx projen",
@@ -13137,6 +13163,7 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"organization": false,
},
"devDependencies": Object {
+ "constructs": "^10.0.0",
"jest": "*",
"jest-junit": "^15",
"npm-check-updates": "^16",
diff --git a/test/projects/__snapshots__/typescript.test.ts.snap b/test/projects/__snapshots__/typescript.test.ts.snap
index f84d0c07..6c69fa99 100644
--- a/test/projects/__snapshots__/typescript.test.ts.snap
+++ b/test/projects/__snapshots__/typescript.test.ts.snap
@@ -256,7 +256,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -1081,7 +1080,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -1169,16 +1167,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -1249,7 +1248,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -1499,7 +1497,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=comp1,typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=comp1,typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -1526,7 +1524,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -1553,13 +1551,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -1887,10 +1885,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -2333,7 +2331,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -3190,7 +3187,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -3280,16 +3276,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -3362,7 +3359,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -3636,7 +3632,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -3663,7 +3659,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -3690,13 +3686,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -4024,10 +4020,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -4455,7 +4451,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -5192,7 +5187,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -5278,16 +5272,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -5352,7 +5347,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -5543,7 +5537,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -5570,7 +5564,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -5597,13 +5591,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -5931,10 +5925,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -6353,7 +6347,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -7090,7 +7083,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -7176,16 +7168,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -7250,7 +7243,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -7441,7 +7433,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -7468,7 +7460,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -7495,13 +7487,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -7829,10 +7821,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -8251,7 +8243,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -8988,7 +8979,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -9074,16 +9064,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -9148,7 +9139,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -9339,7 +9329,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -9366,7 +9356,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -9393,13 +9383,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates ts-jest",
},
Object {
"exec": "npx projen",
@@ -9727,10 +9717,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -10150,7 +10140,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -10975,7 +10964,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -11063,16 +11051,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -11143,7 +11132,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -11393,7 +11381,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -11420,7 +11408,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -11447,13 +11435,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -11781,10 +11769,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -12208,7 +12196,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -13033,7 +13020,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -13121,16 +13107,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -13201,7 +13188,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -13451,7 +13437,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -13478,7 +13464,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -13505,13 +13491,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -13839,10 +13825,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -14266,7 +14252,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -15091,7 +15076,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -15179,16 +15163,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -15259,7 +15244,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -15509,7 +15493,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -15536,7 +15520,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -15563,13 +15547,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -15897,10 +15881,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -16324,7 +16308,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -17149,7 +17132,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -17237,16 +17219,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -17317,7 +17300,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -17567,7 +17549,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -17594,7 +17576,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -17621,13 +17603,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -17955,10 +17937,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
@@ -18382,7 +18364,6 @@ Object {
/.gitignore linguist-generated
/.mergify.yml linguist-generated
/.npmignore linguist-generated
-/.npmrc linguist-generated
/.projen/** linguist-generated
/.projen/deps.json linguist-generated
/.projen/files.json linguist-generated
@@ -19207,7 +19188,6 @@ junit.xml
!/.mergify.yml
!/.github/workflows/upgrade-runtime-dependencies-main.yml
!/.github/pull_request_template.md
-!/.npmrc
!/test/
!/tsconfig.json
!/tsconfig.dev.json
@@ -19295,16 +19275,17 @@ tsconfig.tsbuildinfo
Object {
"name": "@typescript-eslint/eslint-plugin",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
"name": "@typescript-eslint/parser",
"type": "build",
- "version": "^5",
+ "version": "^6",
},
Object {
- "name": "eslint-import-resolver-node",
+ "name": "constructs",
"type": "build",
+ "version": "^10.0.0",
},
Object {
"name": "eslint-import-resolver-typescript",
@@ -19375,7 +19356,6 @@ tsconfig.tsbuildinfo
".gitignore",
".mergify.yml",
".npmignore",
- ".npmrc",
".projen/deps.json",
".projen/files.json",
".projen/tasks.json",
@@ -19625,7 +19605,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=typescript",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=typescript",
},
Object {
"exec": "yarn install --check-files",
@@ -19652,7 +19632,7 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=projen,@cdk8s/projen-common",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=projen,@cdk8s/projen-common",
},
Object {
"exec": "yarn install --check-files",
@@ -19679,13 +19659,13 @@ tsconfig.tsbuildinfo
"exec": "yarn upgrade npm-check-updates",
},
Object {
- "exec": "npm-check-updates --upgrade --target=minor --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,eslint-import-resolver-node,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
+ "exec": "npm-check-updates --upgrade --target=minor --peer --dep=dev --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,npm-check-updates,standard-version,ts-jest",
},
Object {
"exec": "yarn install --check-files",
},
Object {
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit npm-check-updates standard-version ts-jest",
},
Object {
"exec": "npx projen",
@@ -20013,10 +19993,10 @@ echo \\"Configured core.hooksPath to \${hooksdir}\\"
"devDependencies": Object {
"@types/jest": "*",
"@types/node": "^16",
- "@typescript-eslint/eslint-plugin": "^5",
- "@typescript-eslint/parser": "^5",
+ "@typescript-eslint/eslint-plugin": "^6",
+ "@typescript-eslint/parser": "^6",
+ "constructs": "^10.0.0",
"eslint": "^8",
- "eslint-import-resolver-node": "*",
"eslint-import-resolver-typescript": "*",
"eslint-plugin-import": "*",
"jest": "*",
diff --git a/yarn.lock b/yarn.lock
index da84066a..3937167f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -307,14 +307,14 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@eslint-community/eslint-utils@^4.2.0":
+"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
version "4.10.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
@@ -947,7 +947,7 @@
jest-matcher-utils "^27.0.0"
pretty-format "^27.0.0"
-"@types/json-schema@^7.0.9":
+"@types/json-schema@^7.0.12":
version "7.0.15"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -989,7 +989,7 @@
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759"
integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==
-"@types/semver@^7.3.12":
+"@types/semver@^7.5.0":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.5.tgz#deed5ab7019756c9c90ea86139106b0346223f35"
integrity sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==
@@ -1011,89 +1011,90 @@
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@^5":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db"
- integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==
+"@typescript-eslint/eslint-plugin@^6":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.11.0.tgz#52aae65174ff526576351f9ccd41cea01001463f"
+ integrity sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==
dependencies:
- "@eslint-community/regexpp" "^4.4.0"
- "@typescript-eslint/scope-manager" "5.62.0"
- "@typescript-eslint/type-utils" "5.62.0"
- "@typescript-eslint/utils" "5.62.0"
+ "@eslint-community/regexpp" "^4.5.1"
+ "@typescript-eslint/scope-manager" "6.11.0"
+ "@typescript-eslint/type-utils" "6.11.0"
+ "@typescript-eslint/utils" "6.11.0"
+ "@typescript-eslint/visitor-keys" "6.11.0"
debug "^4.3.4"
graphemer "^1.4.0"
- ignore "^5.2.0"
- natural-compare-lite "^1.4.0"
- semver "^7.3.7"
- tsutils "^3.21.0"
+ ignore "^5.2.4"
+ natural-compare "^1.4.0"
+ semver "^7.5.4"
+ ts-api-utils "^1.0.1"
-"@typescript-eslint/parser@^5":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
- integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
+"@typescript-eslint/parser@^6":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.11.0.tgz#9640d9595d905f3be4f278bf515130e6129b202e"
+ integrity sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.62.0"
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/typescript-estree" "5.62.0"
+ "@typescript-eslint/scope-manager" "6.11.0"
+ "@typescript-eslint/types" "6.11.0"
+ "@typescript-eslint/typescript-estree" "6.11.0"
+ "@typescript-eslint/visitor-keys" "6.11.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
- integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
+"@typescript-eslint/scope-manager@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz#621f603537c89f4d105733d949aa4d55eee5cea8"
+ integrity sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==
dependencies:
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/visitor-keys" "5.62.0"
+ "@typescript-eslint/types" "6.11.0"
+ "@typescript-eslint/visitor-keys" "6.11.0"
-"@typescript-eslint/type-utils@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a"
- integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==
+"@typescript-eslint/type-utils@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.11.0.tgz#d0b8b1ab6c26b974dbf91de1ebc5b11fea24e0d1"
+ integrity sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==
dependencies:
- "@typescript-eslint/typescript-estree" "5.62.0"
- "@typescript-eslint/utils" "5.62.0"
+ "@typescript-eslint/typescript-estree" "6.11.0"
+ "@typescript-eslint/utils" "6.11.0"
debug "^4.3.4"
- tsutils "^3.21.0"
+ ts-api-utils "^1.0.1"
-"@typescript-eslint/types@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
- integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
+"@typescript-eslint/types@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.11.0.tgz#8ad3aa000cbf4bdc4dcceed96e9b577f15e0bf53"
+ integrity sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==
-"@typescript-eslint/typescript-estree@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
- integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
+"@typescript-eslint/typescript-estree@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz#7b52c12a623bf7f8ec7f8a79901b9f98eb5c7990"
+ integrity sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==
dependencies:
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/visitor-keys" "5.62.0"
+ "@typescript-eslint/types" "6.11.0"
+ "@typescript-eslint/visitor-keys" "6.11.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/utils@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
- integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@types/json-schema" "^7.0.9"
- "@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.62.0"
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/typescript-estree" "5.62.0"
- eslint-scope "^5.1.1"
- semver "^7.3.7"
+ semver "^7.5.4"
+ ts-api-utils "^1.0.1"
+
+"@typescript-eslint/utils@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.11.0.tgz#11374f59ef4cea50857b1303477c08aafa2ca604"
+ integrity sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.4.0"
+ "@types/json-schema" "^7.0.12"
+ "@types/semver" "^7.5.0"
+ "@typescript-eslint/scope-manager" "6.11.0"
+ "@typescript-eslint/types" "6.11.0"
+ "@typescript-eslint/typescript-estree" "6.11.0"
+ semver "^7.5.4"
-"@typescript-eslint/visitor-keys@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
- integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
+"@typescript-eslint/visitor-keys@6.11.0":
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz#d991538788923f92ec40d44389e7075b359f3458"
+ integrity sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==
dependencies:
- "@typescript-eslint/types" "5.62.0"
- eslint-visitor-keys "^3.3.0"
+ "@typescript-eslint/types" "6.11.0"
+ eslint-visitor-keys "^3.4.1"
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
@@ -1845,6 +1846,11 @@ console-control-strings@^1.1.0:
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+constructs@^10.0.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.3.0.tgz#4c246fce9cf8e77711ad45944e9fbd41f1501965"
+ integrity sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==
+
conventional-changelog-angular@^5.0.12:
version "5.0.13"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -2472,14 +2478,6 @@ eslint-plugin-import@^2.29.0:
semver "^6.3.1"
tsconfig-paths "^3.14.2"
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
eslint-scope@^7.2.2:
version "7.2.2"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
@@ -2565,11 +2563,6 @@ esrecurse@^4.3.0:
dependencies:
estraverse "^5.2.0"
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
estraverse@^5.1.0, estraverse@^5.2.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
@@ -3247,7 +3240,7 @@ ignore-walk@^6.0.0:
dependencies:
minimatch "^9.0.0"
-ignore@^5.2.0:
+ignore@^5.2.0, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
@@ -4687,11 +4680,6 @@ ms@^2.0.0, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-natural-compare-lite@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
- integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
-
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -5225,15 +5213,16 @@ progress@^2.0.3:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-projen@^0.72.28:
- version "0.72.28"
- resolved "https://registry.yarnpkg.com/projen/-/projen-0.72.28.tgz#3b6cae61f5ca07217278f470b3eacaec49686321"
- integrity sha512-olnefNj+UZvRzm+vfAHbMmRz/2/b0OQdqY5YoZ+3Tx7u1kR3ubLr+loouWhSY5VB6PUBGWz5MvBUHg5uF0phjQ==
+projen@^0.76.27:
+ version "0.76.27"
+ resolved "https://registry.yarnpkg.com/projen/-/projen-0.76.27.tgz#b3b4dace99ef22170b1f2e8a15a9b8a2e655a0e2"
+ integrity sha512-f/9MibFkrEk1KYIXcvYI9gWQgb0MU6Vhk/vB3L4CxUla8N5BvfihgWHRAlwTTRBiuwOE1/nQ7u/bskurugxCTw==
dependencies:
"@iarna/toml" "^2.2.5"
case "^1.6.3"
chalk "^4.1.2"
comment-json "4.2.2"
+ constructs "^10.0.0"
conventional-changelog-config-spec "^2.1.0"
fast-json-patch "^3.1.1"
glob "^8"
@@ -5511,16 +5500,7 @@ resolve.exports@^1.1.0:
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999"
integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==
-resolve@^1.1.6:
- version "1.22.4"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
- integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.4:
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.4:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@@ -6180,6 +6160,11 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+ts-api-utils@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331"
+ integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==
+
ts-jest@^27:
version "27.1.5"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297"
@@ -6223,18 +6208,6 @@ tsconfig-paths@^3.14.1, tsconfig-paths@^3.14.2:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tslib@^1.8.1:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
- integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-
-tsutils@^3.21.0:
- version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
- integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
- dependencies:
- tslib "^1.8.1"
-
tuf-js@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43"
@@ -6720,9 +6693,9 @@ yallist@^4.0.0:
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^2.2.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144"
- integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
+ integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3:
version "20.2.9"