diff --git a/.gitattributes b/.gitattributes
index e4608aa..d01f504 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -21,7 +21,8 @@
/API.md linguist-generated
/LICENSE linguist-generated
/package.json linguist-generated
-/src/cdk-options.ts linguist-generated
+/src/cdk-common-options.ts linguist-generated
+/src/cdk-construct-library-options.ts linguist-generated
/src/yarn/monorepo-options.ts linguist-generated
/src/yarn/monorepo-release-options.ts linguist-generated
/src/yarn/typescript-workspace-options.ts linguist-generated
diff --git a/.gitignore b/.gitignore
index 7cd3d48..400b6d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,8 +51,9 @@ tsconfig.json
!/.github/workflows/auto-merge.yml
!/.github/workflows/upgrade-main.yml
!/.github/workflows/upgrade-dev-deps-main.yml
+!/src/cdk-common-options.ts
!/src/yarn/monorepo-options.ts
!/src/yarn/monorepo-release-options.ts
!/src/yarn/typescript-workspace-options.ts
-!/src/cdk-options.ts
+!/src/cdk-construct-library-options.ts
!/.projenrc.ts
diff --git a/.projen/deps.json b/.projen/deps.json
index dd88308..9cddce3 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -74,12 +74,12 @@
},
{
"name": "jsii-rosetta",
- "version": "~5.2",
+ "version": "~5.5",
"type": "build"
},
{
"name": "jsii",
- "version": "~5.2",
+ "version": "~5.5",
"type": "build"
},
{
@@ -96,7 +96,7 @@
},
{
"name": "typescript",
- "version": "~5.2",
+ "version": "~5.5",
"type": "build"
},
{
diff --git a/.projen/files.json b/.projen/files.json
index 2cfd0cc..5ce025c 100644
--- a/.projen/files.json
+++ b/.projen/files.json
@@ -15,7 +15,8 @@
".projen/files.json",
".projen/tasks.json",
"LICENSE",
- "src/cdk-options.ts",
+ "src/cdk-common-options.ts",
+ "src/cdk-construct-library-options.ts",
"src/yarn/monorepo-options.ts",
"src/yarn/monorepo-release-options.ts",
"src/yarn/typescript-workspace-options.ts",
diff --git a/.projenrc.ts b/.projenrc.ts
index d5ee027..7be29d4 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -1,5 +1,5 @@
import { UpgradeDependenciesSchedule } from 'projen/lib/javascript';
-import { generateCdkConstructLibraryOptions } from './projenrc/cdk-constructlibrary-options';
+import { generateCdkCommonOptions, generateCdkConstructLibraryOptions } from './projenrc/cdk-constructlibrary-options';
import { generateYarnMonorepoOptions } from './projenrc/yarn-monorepo-options';
import { CdklabsJsiiProject } from './src';
@@ -26,10 +26,12 @@ const project = new CdklabsJsiiProject({
peerDependencyOptions: {
pinnedDevDependency: false,
},
- jsiiVersion: '~5.2',
- typescriptVersion: '~5.2',
+ jsiiVersion: '~5.5',
+ typescriptVersion: '~5.5',
});
project.addPeerDeps('constructs@^10.0.0');
+
+generateCdkCommonOptions(project);
generateYarnMonorepoOptions(project);
generateCdkConstructLibraryOptions(project);
diff --git a/API.md b/API.md
index 085ea62..13bf6a5 100644
--- a/API.md
+++ b/API.md
@@ -14862,6 +14862,8 @@ This token is used to enable auto-merge on pull requests.
### CdkCommonOptions
+CdkCommonOptions.
+
#### Initializer
```typescript
@@ -14874,12 +14876,12 @@ const cdkCommonOptions: CdkCommonOptions = { ... }
| **Name** | **Type** | **Description** |
| --- | --- | --- |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
---
@@ -14893,7 +14895,9 @@ public readonly enablePRAutoMerge: boolean;
- *Type:* boolean
- *Default:* true for private projects, false otherwise
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
---
@@ -14906,7 +14910,9 @@ public readonly ghAutoMergeOptions: AutoMergeOptions;
- *Type:* AutoMergeOptions
- *Default:* default options
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
---
@@ -14921,9 +14927,7 @@ public readonly private: boolean;
Whether or not this package is private.
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
+Setting this variable to true means that your project is created with sane defaults for private repositories.
---
@@ -14936,7 +14940,7 @@ public readonly setNodeEngineVersion: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
---
@@ -14949,7 +14953,7 @@ public readonly tenancy: OrgTenancy;
- *Type:* OrgTenancy
- *Default:* Auto detected from package name
-The org this project is part of.
+The organization this project is part of.
---
@@ -14962,7 +14966,7 @@ public readonly upgradeCdklabsProjenProjectTypes: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
---
@@ -14981,14 +14985,7 @@ Whether to have a separate workflow to upgrade runtime deps and mark this PR as
### CdkConstructLibraryOptions
-Options for CdkConstructLibrary.
-
-`ModifiedProjenCdkConstructLibraryOptions` is generated automatically from upstream
-by copying the properties from projen `CdkConstructLibraryOptions`, and modifying some
-of them.
-
-We have to do it this way because jsii doesn't allow overwriting properties
-by redeclaring them here, and we need to change the documentation of some props.
+CdkConstructLibraryOptions.
#### Initializer
@@ -15061,12 +15058,14 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
| docsDirectory
| string
| Docs directory. |
| dotnet
| projen.cdk.JsiiDotNetTarget
| *No description.* |
| edgeLambdaAutoDiscover
| boolean
| Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
| entrypoint
| string
| Module entrypoint (`main` in `package.json`). Set to an empty string to not include `main` in your package.json. |
| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
| eslint
| boolean
| Setup eslint. |
| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
| excludeTypescript
| string[]
| Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. |
| experimentalIntegRunner
| boolean
| Enable experimental support for the AWS CDK integ-runner. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| github
| boolean
| Enable GitHub integration. |
| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
| gitignore
| string[]
| Additional entries to .gitignore. |
@@ -15115,6 +15114,7 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
| prettier
| boolean
| Setup prettier. |
| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
+| private
| boolean
| Whether or not this package is private. |
| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
@@ -15155,19 +15155,24 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
| 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. |
| rootdir
| string
| *No description.* |
+| rosettaOptions
| RosettaOptions
| Options for rosetta:extract task. |
| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
| scripts
| {[ key: string ]: string}
| npm scripts to include. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
| srcdir
| string
| Typescript sources directory. |
| stability
| string
| Package's Stability. |
| stale
| boolean
| Auto-close of stale issues and pull request. |
| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
| testdir
| string
| Jest tests directory. |
| 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. |
| tsJestOptions
| projen.typescript.TsJestOptions
| Options for ts-jest. |
| typescriptVersion
| string
| TypeScript version to use. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
+| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with commit-and-tag-version package. |
| vscode
| boolean
| Enable VSCode integration. |
| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
@@ -15178,14 +15183,6 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
| workflowRunsOn
| string[]
| Github Runner selection labels. |
| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
-| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
-| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
-| rosettaOptions
| RosettaOptions
| Options for rosetta:extract task. |
---
@@ -16033,6 +16030,21 @@ Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lam
---
+##### `enablePRAutoMerge`Optional
+
+```typescript
+public readonly enablePRAutoMerge: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true for private projects, false otherwise
+
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
+
+---
+
##### `entrypoint`Optional
```typescript
@@ -16114,6 +16126,21 @@ Enable experimental support for the AWS CDK integ-runner.
---
+##### `ghAutoMergeOptions`Optional
+
+```typescript
+public readonly ghAutoMergeOptions: AutoMergeOptions;
+```
+
+- *Type:* AutoMergeOptions
+- *Default:* default options
+
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
+
+---
+
##### `github`Optional
```typescript
@@ -16798,6 +16825,21 @@ Prettier options.
---
+##### `private`Optional
+
+```typescript
+public readonly private: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether or not this package is private.
+
+Setting this variable to true means that your project is created with sane defaults for private repositories.
+
+---
+
##### ~~`projectType`~~Optional
- *Deprecated:* no longer supported at the base project level
@@ -17346,6 +17388,18 @@ public readonly rootdir: string;
---
+##### `rosettaOptions`Optional
+
+```typescript
+public readonly rosettaOptions: RosettaOptions;
+```
+
+- *Type:* RosettaOptions
+
+Options for rosetta:extract task.
+
+---
+
##### `sampleCode`Optional
```typescript
@@ -17391,6 +17445,19 @@ Also adds the script as a task.
---
+##### `setNodeEngineVersion`Optional
+
+```typescript
+public readonly setNodeEngineVersion: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+
+---
+
##### `srcdir`Optional
```typescript
@@ -17446,6 +17513,19 @@ To disable set `stale` to `false`.
---
+##### `tenancy`Optional
+
+```typescript
+public readonly tenancy: OrgTenancy;
+```
+
+- *Type:* OrgTenancy
+- *Default:* Auto detected from package name
+
+The organization this project is part of.
+
+---
+
##### `testdir`Optional
```typescript
@@ -17532,6 +17612,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
---
+##### `upgradeCdklabsProjenProjectTypes`Optional
+
+```typescript
+public readonly upgradeCdklabsProjenProjectTypes: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
+
+---
+
+##### `upgradeRuntimeDepsAsFix`Optional
+
+```typescript
+public readonly upgradeRuntimeDepsAsFix: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
+
+---
+
##### `versionrcOptions`Optional
```typescript
@@ -17665,113 +17771,6 @@ Options for Yarn Berry.
---
-##### `enablePRAutoMerge`Optional
-
-```typescript
-public readonly enablePRAutoMerge: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true for private projects, false otherwise
-
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
-
----
-
-##### `ghAutoMergeOptions`Optional
-
-```typescript
-public readonly ghAutoMergeOptions: AutoMergeOptions;
-```
-
-- *Type:* AutoMergeOptions
-- *Default:* default options
-
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
-
----
-
-##### `private`Optional
-
-```typescript
-public readonly private: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether or not this package is private.
-
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
-
----
-
-##### `setNodeEngineVersion`Optional
-
-```typescript
-public readonly setNodeEngineVersion: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
-
----
-
-##### `tenancy`Optional
-
-```typescript
-public readonly tenancy: OrgTenancy;
-```
-
-- *Type:* OrgTenancy
-- *Default:* Auto detected from package name
-
-The org this project is part of.
-
----
-
-##### `upgradeCdklabsProjenProjectTypes`Optional
-
-```typescript
-public readonly upgradeCdklabsProjenProjectTypes: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
-
----
-
-##### `upgradeRuntimeDepsAsFix`Optional
-
-```typescript
-public readonly upgradeRuntimeDepsAsFix: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
-
----
-
-##### `rosettaOptions`Optional
-
-```typescript
-public readonly rosettaOptions: RosettaOptions;
-```
-
-- *Type:* RosettaOptions
-
-Options for rosetta:extract task.
-
----
-
### CdkJsiiProjectOptions
#### Initializer
@@ -17947,12 +17946,12 @@ const cdkJsiiProjectOptions: CdkJsiiProjectOptions = { ... }
| publishToPypi
| projen.cdk.JsiiPythonTarget
| Publish to pypi. |
| python
| projen.cdk.JsiiPythonTarget
| *No description.* |
| rootdir
| string
| *No description.* |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
---
@@ -20242,7 +20241,9 @@ public readonly enablePRAutoMerge: boolean;
- *Type:* boolean
- *Default:* true for private projects, false otherwise
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
---
@@ -20255,7 +20256,9 @@ public readonly ghAutoMergeOptions: AutoMergeOptions;
- *Type:* AutoMergeOptions
- *Default:* default options
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
---
@@ -20270,9 +20273,7 @@ public readonly private: boolean;
Whether or not this package is private.
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
+Setting this variable to true means that your project is created with sane defaults for private repositories.
---
@@ -20285,7 +20286,7 @@ public readonly setNodeEngineVersion: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
---
@@ -20298,7 +20299,7 @@ public readonly tenancy: OrgTenancy;
- *Type:* OrgTenancy
- *Default:* Auto detected from package name
-The org this project is part of.
+The organization this project is part of.
---
@@ -20311,7 +20312,7 @@ public readonly upgradeCdklabsProjenProjectTypes: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
---
@@ -20401,12 +20402,14 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
| docsDirectory
| string
| Docs directory. |
| dotnet
| projen.cdk.JsiiDotNetTarget
| *No description.* |
| edgeLambdaAutoDiscover
| boolean
| Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
| entrypoint
| string
| Module entrypoint (`main` in `package.json`). Set to an empty string to not include `main` in your package.json. |
| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
| eslint
| boolean
| Setup eslint. |
| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
| excludeTypescript
| string[]
| Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. |
| experimentalIntegRunner
| boolean
| Enable experimental support for the AWS CDK integ-runner. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| github
| boolean
| Enable GitHub integration. |
| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
| gitignore
| string[]
| Additional entries to .gitignore. |
@@ -20455,6 +20458,7 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
| prerelease
| string
| Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). |
| prettier
| boolean
| Setup prettier. |
| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
+| private
| boolean
| Whether or not this package is private. |
| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
@@ -20495,19 +20499,24 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
| 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. |
| rootdir
| string
| *No description.* |
+| rosettaOptions
| RosettaOptions
| Options for rosetta:extract task. |
| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
| scripts
| {[ key: string ]: string}
| npm scripts to include. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
| srcdir
| string
| Typescript sources directory. |
| stability
| string
| Package's Stability. |
| stale
| boolean
| Auto-close of stale issues and pull request. |
| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
| testdir
| string
| Jest tests directory. |
| 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. |
| tsJestOptions
| projen.typescript.TsJestOptions
| Options for ts-jest. |
| typescriptVersion
| string
| TypeScript version to use. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
+| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with commit-and-tag-version package. |
| vscode
| boolean
| Enable VSCode integration. |
| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
@@ -20518,14 +20527,6 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
| workflowRunsOn
| string[]
| Github Runner selection labels. |
| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
-| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
-| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
-| rosettaOptions
| RosettaOptions
| Options for rosetta:extract task. |
| cdklabsPublishingDefaults
| boolean
| Set default publishing properties. |
| jsiiTargetLanguages
| JsiiLanguage[]
| Specify specific languages to publish to. |
@@ -21375,6 +21376,21 @@ Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lam
---
+##### `enablePRAutoMerge`Optional
+
+```typescript
+public readonly enablePRAutoMerge: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true for private projects, false otherwise
+
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
+
+---
+
##### `entrypoint`Optional
```typescript
@@ -21456,6 +21472,21 @@ Enable experimental support for the AWS CDK integ-runner.
---
+##### `ghAutoMergeOptions`Optional
+
+```typescript
+public readonly ghAutoMergeOptions: AutoMergeOptions;
+```
+
+- *Type:* AutoMergeOptions
+- *Default:* default options
+
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
+
+---
+
##### `github`Optional
```typescript
@@ -22140,18 +22171,33 @@ Prettier options.
---
-##### ~~`projectType`~~Optional
-
-- *Deprecated:* no longer supported at the base project level
+##### `private`Optional
```typescript
-public readonly projectType: ProjectType;
+public readonly private: boolean;
```
-- *Type:* projen.ProjectType
-- *Default:* ProjectType.UNKNOWN
+- *Type:* boolean
+- *Default:* true
-Which type of project this is (library/app).
+Whether or not this package is private.
+
+Setting this variable to true means that your project is created with sane defaults for private repositories.
+
+---
+
+##### ~~`projectType`~~Optional
+
+- *Deprecated:* no longer supported at the base project level
+
+```typescript
+public readonly projectType: ProjectType;
+```
+
+- *Type:* projen.ProjectType
+- *Default:* ProjectType.UNKNOWN
+
+Which type of project this is (library/app).
---
@@ -22688,6 +22734,18 @@ public readonly rootdir: string;
---
+##### `rosettaOptions`Optional
+
+```typescript
+public readonly rosettaOptions: RosettaOptions;
+```
+
+- *Type:* RosettaOptions
+
+Options for rosetta:extract task.
+
+---
+
##### `sampleCode`Optional
```typescript
@@ -22733,6 +22791,19 @@ Also adds the script as a task.
---
+##### `setNodeEngineVersion`Optional
+
+```typescript
+public readonly setNodeEngineVersion: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+
+---
+
##### `srcdir`Optional
```typescript
@@ -22788,6 +22859,19 @@ To disable set `stale` to `false`.
---
+##### `tenancy`Optional
+
+```typescript
+public readonly tenancy: OrgTenancy;
+```
+
+- *Type:* OrgTenancy
+- *Default:* Auto detected from package name
+
+The organization this project is part of.
+
+---
+
##### `testdir`Optional
```typescript
@@ -22874,6 +22958,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
---
+##### `upgradeCdklabsProjenProjectTypes`Optional
+
+```typescript
+public readonly upgradeCdklabsProjenProjectTypes: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
+
+---
+
+##### `upgradeRuntimeDepsAsFix`Optional
+
+```typescript
+public readonly upgradeRuntimeDepsAsFix: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true
+
+Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
+
+---
+
##### `versionrcOptions`Optional
```typescript
@@ -23007,113 +23117,6 @@ Options for Yarn Berry.
---
-##### `enablePRAutoMerge`Optional
-
-```typescript
-public readonly enablePRAutoMerge: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true for private projects, false otherwise
-
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
-
----
-
-##### `ghAutoMergeOptions`Optional
-
-```typescript
-public readonly ghAutoMergeOptions: AutoMergeOptions;
-```
-
-- *Type:* AutoMergeOptions
-- *Default:* default options
-
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
-
----
-
-##### `private`Optional
-
-```typescript
-public readonly private: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether or not this package is private.
-
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
-
----
-
-##### `setNodeEngineVersion`Optional
-
-```typescript
-public readonly setNodeEngineVersion: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
-
----
-
-##### `tenancy`Optional
-
-```typescript
-public readonly tenancy: OrgTenancy;
-```
-
-- *Type:* OrgTenancy
-- *Default:* Auto detected from package name
-
-The org this project is part of.
-
----
-
-##### `upgradeCdklabsProjenProjectTypes`Optional
-
-```typescript
-public readonly upgradeCdklabsProjenProjectTypes: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
-
----
-
-##### `upgradeRuntimeDepsAsFix`Optional
-
-```typescript
-public readonly upgradeRuntimeDepsAsFix: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
-
----
-
-##### `rosettaOptions`Optional
-
-```typescript
-public readonly rosettaOptions: RosettaOptions;
-```
-
-- *Type:* RosettaOptions
-
-Options for rosetta:extract task.
-
----
-
##### `cdklabsPublishingDefaults`Optional
```typescript
@@ -23328,12 +23331,12 @@ const cdklabsJsiiProjectOptions: CdklabsJsiiProjectOptions = { ... }
| publishToPypi
| projen.cdk.JsiiPythonTarget
| Publish to pypi. |
| python
| projen.cdk.JsiiPythonTarget
| *No description.* |
| rootdir
| string
| *No description.* |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
| cdklabsPublishingDefaults
| boolean
| Set default publishing properties. |
| jsiiTargetLanguages
| JsiiLanguage[]
| Specify specific languages to publish to. |
@@ -25625,7 +25628,9 @@ public readonly enablePRAutoMerge: boolean;
- *Type:* boolean
- *Default:* true for private projects, false otherwise
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
---
@@ -25638,7 +25643,9 @@ public readonly ghAutoMergeOptions: AutoMergeOptions;
- *Type:* AutoMergeOptions
- *Default:* default options
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
---
@@ -25653,9 +25660,7 @@ public readonly private: boolean;
Whether or not this package is private.
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
+Setting this variable to true means that your project is created with sane defaults for private repositories.
---
@@ -25668,7 +25673,7 @@ public readonly setNodeEngineVersion: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
---
@@ -25681,7 +25686,7 @@ public readonly tenancy: OrgTenancy;
- *Type:* OrgTenancy
- *Default:* Auto detected from package name
-The org this project is part of.
+The organization this project is part of.
---
@@ -25694,7 +25699,7 @@ public readonly upgradeCdklabsProjenProjectTypes: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
---
@@ -28137,12 +28142,12 @@ const cdklabsTypeScriptProjectOptions: CdklabsTypeScriptProjectOptions = { ... }
| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
| tsJestOptions
| projen.typescript.TsJestOptions
| Options for ts-jest. |
| typescriptVersion
| string
| TypeScript version to use. |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
---
@@ -30213,7 +30218,9 @@ public readonly enablePRAutoMerge: boolean;
- *Type:* boolean
- *Default:* true for private projects, false otherwise
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
---
@@ -30226,7 +30233,9 @@ public readonly ghAutoMergeOptions: AutoMergeOptions;
- *Type:* AutoMergeOptions
- *Default:* default options
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
---
@@ -30241,9 +30250,7 @@ public readonly private: boolean;
Whether or not this package is private.
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
+Setting this variable to true means that your project is created with sane defaults for private repositories.
---
@@ -30256,7 +30263,7 @@ public readonly setNodeEngineVersion: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
---
@@ -30269,7 +30276,7 @@ public readonly tenancy: OrgTenancy;
- *Type:* OrgTenancy
- *Default:* Auto detected from package name
-The org this project is part of.
+The organization this project is part of.
---
@@ -30282,7 +30289,7 @@ public readonly upgradeCdklabsProjenProjectTypes: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
---
@@ -30458,12 +30465,12 @@ const cdkTypeScriptProjectOptions: CdkTypeScriptProjectOptions = { ... }
| tsconfigDevFile
| string
| The name of the development tsconfig.json file. |
| tsJestOptions
| projen.typescript.TsJestOptions
| Options for ts-jest. |
| typescriptVersion
| string
| TypeScript version to use. |
-| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
-| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
+| enablePRAutoMerge
| boolean
| Whether to enable the auto merge workflow for PRs. |
+| ghAutoMergeOptions
| AutoMergeOptions
| Options for the GitHub auto merge workflow. |
| private
| boolean
| Whether or not this package is private. |
-| setNodeEngineVersion
| boolean
| Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
-| tenancy
| OrgTenancy
| The org this project is part of. |
-| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep. |
+| setNodeEngineVersion
| boolean
| cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now. |
+| tenancy
| OrgTenancy
| The organization this project is part of. |
+| upgradeCdklabsProjenProjectTypes
| boolean
| Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies. |
| upgradeRuntimeDepsAsFix
| boolean
| Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix. |
---
@@ -32534,7 +32541,9 @@ public readonly enablePRAutoMerge: boolean;
- *Type:* boolean
- *Default:* true for private projects, false otherwise
-Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
+Whether to enable the auto merge workflow for PRs.
+
+This will enable the auto merge workflow as well as the merge queue
---
@@ -32547,7 +32556,9 @@ public readonly ghAutoMergeOptions: AutoMergeOptions;
- *Type:* AutoMergeOptions
- *Default:* default options
-Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
+Options for the GitHub auto merge workflow.
+
+That is the workflow that turns on auto merge on all PRs.
---
@@ -32562,9 +32573,7 @@ public readonly private: boolean;
Whether or not this package is private.
-Setting this variable
-to true means that your project is created with sane defaults
-for private repositories.
+Setting this variable to true means that your project is created with sane defaults for private repositories.
---
@@ -32577,7 +32586,7 @@ public readonly setNodeEngineVersion: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enforce the minNodeVersion via the `engines` field in `package.json`. Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+cdklabs-projen-project-types.AutoMergeOptions Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
---
@@ -32590,7 +32599,7 @@ public readonly tenancy: OrgTenancy;
- *Type:* OrgTenancy
- *Default:* Auto detected from package name
-The org this project is part of.
+The organization this project is part of.
---
@@ -32603,7 +32612,7 @@ public readonly upgradeCdklabsProjenProjectTypes: boolean;
- *Type:* boolean
- *Default:* true
-Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep.
+Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
---
@@ -32681,2677 +32690,6 @@ The branch to merge to.
---
-### ModifiedProjenCdkConstructLibraryOptions
-
-ModifiedProjenCdkConstructLibraryOptions.
-
-#### Initializer
-
-```typescript
-import { ModifiedProjenCdkConstructLibraryOptions } from 'cdklabs-projen-project-types'
-
-const modifiedProjenCdkConstructLibraryOptions: ModifiedProjenCdkConstructLibraryOptions = { ... }
-```
-
-#### Properties
-
-| **Name** | **Type** | **Description** |
-| --- | --- | --- |
-| author
| string
| The name of the library author. |
-| authorAddress
| string
| Email or URL of the library author. |
-| cdkVersion
| string
| Minimum version of the AWS CDK to depend on. |
-| defaultReleaseBranch
| string
| The name of the main release branch. |
-| name
| string
| This is the name of your project. |
-| repositoryUrl
| string
| Git repository URL. |
-| allowLibraryDependencies
| boolean
| Allow the project to include `peerDependencies` and `bundledDependencies`. |
-| artifactsDirectory
| string
| A directory which will contain build artifacts. |
-| authorEmail
| string
| Author's e-mail. |
-| authorName
| string
| Author's name. |
-| authorOrganization
| boolean
| Is the author an organization. |
-| authorUrl
| string
| Author's URL / Website. |
-| autoApproveOptions
| projen.github.AutoApproveOptions
| Enable and configure the 'auto approve' workflow. |
-| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
-| autoDetectBin
| boolean
| Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. |
-| autoMerge
| boolean
| Enable automatic merging on GitHub. |
-| autoMergeOptions
| projen.github.AutoMergeOptions
| Configure options for automatic merging on GitHub. |
-| 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. |
-| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
-| buildWorkflowOptions
| projen.javascript.BuildWorkflowOptions
| Options for PR build workflow. |
-| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
-| bundledDeps
| string[]
| List of dependencies to bundle into this module. |
-| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
-| catalog
| projen.cdk.Catalog
| Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. |
-| cdkAssert
| boolean
| Warning: NodeJS only. |
-| cdkAssertions
| boolean
| Install the assertions library? |
-| cdkDependencies
| string[]
| Which AWS CDKv1 modules this project requires. |
-| cdkDependenciesAsDeps
| boolean
| If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). |
-| cdkTestDependencies
| string[]
| AWS CDK modules required for testing. |
-| cdkVersionPinning
| boolean
| Use pinned version instead of caret version for CDK. |
-| checkLicenses
| projen.javascript.LicenseCheckerOptions
| Configure which licenses should be deemed acceptable for use by dependencies. |
-| clobber
| boolean
| Add a `clobber` task which resets the repo to origin. |
-| codeArtifactOptions
| projen.javascript.CodeArtifactOptions
| Options for npm packages using AWS CodeArtifact. |
-| codeCov
| boolean
| Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
-| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
-| commitGenerated
| boolean
| Whether to commit the managed files by default. |
-| compat
| boolean
| Automatically run API compatibility test against the latest version published to npm after compilation. |
-| compatIgnore
| string
| Name of the ignore file for API compatibility tests. |
-| compressAssembly
| boolean
| Emit a compressed version of the assembly. |
-| constructsVersion
| string
| Minimum version of the `constructs` library to depend on. |
-| 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. |
-| deps
| string[]
| Runtime dependencies of this module. |
-| depsUpgrade
| boolean
| Use tasks and github workflows to handle dependency upgrades. |
-| depsUpgradeOptions
| projen.javascript.UpgradeDependenciesOptions
| Options for `UpgradeDependencies`. |
-| description
| string
| The description is just a string that helps people understand the purpose of the package. |
-| devContainer
| boolean
| Add a VSCode development environment (used for GitHub Codespaces). |
-| devDeps
| string[]
| Build dependencies for this module. |
-| 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. |
-| docgenFilePath
| string
| File path for generated docs. |
-| docsDirectory
| string
| Docs directory. |
-| dotnet
| projen.cdk.JsiiDotNetTarget
| *No description.* |
-| edgeLambdaAutoDiscover
| boolean
| Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
-| entrypoint
| string
| Module entrypoint (`main` in `package.json`). Set to an empty string to not include `main` in your package.json. |
-| entrypointTypes
| string
| The .d.ts file that includes the type declarations for this module. |
-| eslint
| boolean
| Setup eslint. |
-| eslintOptions
| projen.javascript.EslintOptions
| Eslint options. |
-| excludeTypescript
| string[]
| Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input. |
-| experimentalIntegRunner
| boolean
| Enable experimental support for the AWS CDK integ-runner. |
-| github
| boolean
| Enable GitHub integration. |
-| githubOptions
| projen.github.GitHubOptions
| Options for GitHub integration. |
-| gitignore
| string[]
| Additional entries to .gitignore. |
-| gitIgnoreOptions
| projen.IgnoreFileOptions
| Configuration options for .gitignore file. |
-| gitOptions
| projen.GitOptions
| Configuration options for git. |
-| gitpod
| boolean
| Add a Gitpod development environment. |
-| homepage
| string
| Package's Homepage / Website. |
-| integrationTestAutoDiscover
| boolean
| Automatically discovers and creates integration tests for each `.integ.ts` file under your test directory. |
-| jest
| boolean
| Setup jest unit tests. |
-| jestOptions
| projen.javascript.JestOptions
| Jest options. |
-| jsiiReleaseVersion
| string
| Version requirement of `publib` which is used to publish modules to npm. |
-| jsiiVersion
| string
| Version of the jsii compiler to use. |
-| keywords
| string[]
| Keywords to include in `package.json`. |
-| lambdaAutoDiscover
| boolean
| Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. |
-| lambdaExtensionAutoDiscover
| boolean
| Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
-| lambdaOptions
| projen.awscdk.LambdaFunctionCommonOptions
| Common options for all AWS Lambda functions. |
-| libdir
| string
| Typescript artifacts output directory. |
-| license
| string
| License's SPDX identifier. |
-| licensed
| boolean
| Indicates if a license should be added. |
-| logging
| projen.LoggerOptions
| Configure logging options such as verbosity. |
-| majorVersion
| number
| Major version to release from the default branch. |
-| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
-| mergify
| boolean
| Whether mergify should be enabled on this repository or not. |
-| mergifyOptions
| projen.github.MergifyOptions
| Options for mergify. |
-| minMajorVersion
| number
| Minimal Major version to release. |
-| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
-| mutableBuild
| boolean
| Automatically update files modified during builds to pull-request branches. |
-| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
-| npmDistTag
| string
| The npmDistTag to use when publishing from the default branch. |
-| 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. |
-| npmProvenance
| boolean
| Should provenance statements be generated when the package is published. |
-| 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. |
-| outdir
| string
| The root directory of the project. Relative to this directory, all files are synthesized. |
-| package
| boolean
| Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). |
-| packageManager
| projen.javascript.NodePackageManager
| The Node Package Manager used to execute scripts. |
-| packageName
| string
| The "name" in package.json. |
-| parent
| projen.Project
| The parent project, if this project is part of a bigger project. |
-| 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. |
-| 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"). |
-| prettier
| boolean
| Setup prettier. |
-| prettierOptions
| projen.javascript.PrettierOptions
| Prettier options. |
-| projectType
| projen.ProjectType
| Which type of project this is (library/app). |
-| projenCommand
| string
| The shell command to use in order to run the projen CLI. |
-| projenCredentials
| projen.github.GithubCredentials
| Choose a method of providing GitHub API access for projen workflows. |
-| 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. |
-| 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. |
-| projenrcJsOptions
| projen.javascript.ProjenrcOptions
| Options for .projenrc.js. |
-| projenrcTs
| boolean
| Use TypeScript for your projenrc file (`.projenrc.ts`). |
-| projenrcTsOptions
| projen.typescript.ProjenrcOptions
| Options for .projenrc.ts. |
-| projenTokenSecret
| string
| The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. |
-| projenVersion
| string
| Version of projen to install. |
-| 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. |
-| publishToGo
| projen.cdk.JsiiGoTarget
| Publish Go bindings to a git repository. |
-| publishToMaven
| projen.cdk.JsiiJavaTarget
| Publish to maven. |
-| publishToNuget
| projen.cdk.JsiiDotNetTarget
| Publish to NuGet. |
-| publishToPypi
| projen.cdk.JsiiPythonTarget
| Publish to pypi. |
-| pullRequestTemplate
| boolean
| Include a GitHub pull request template. |
-| pullRequestTemplateContents
| string[]
| The contents of the pull request template. |
-| python
| projen.cdk.JsiiPythonTarget
| *No description.* |
-| readme
| projen.SampleReadmeProps
| The README setup. |
-| releasableCommits
| projen.ReleasableCommits
| Find commits that should be considered releasable Used to decide if a release is required. |
-| release
| boolean
| Add release management to this project. |
-| 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. |
-| releaseToNpm
| boolean
| Automatically release to npm when new versions are introduced. |
-| releaseTrigger
| projen.release.ReleaseTrigger
| The release trigger to use. |
-| releaseWorkflow
| boolean
| DEPRECATED: renamed to `release`. |
-| 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. |
-| renovatebot
| boolean
| Use renovatebot to handle dependency upgrades. |
-| renovatebotOptions
| projen.RenovatebotOptions
| Options for renovatebot. |
-| 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. |
-| rootdir
| string
| *No description.* |
-| sampleCode
| boolean
| Generate one-time sample in `src/` and `test/` if there are no files there. |
-| scopedPackagesOptions
| projen.javascript.ScopedPackagesOptions[]
| Options for privately hosted scoped packages. |
-| scripts
| {[ key: string ]: string}
| npm scripts to include. |
-| srcdir
| string
| Typescript sources directory. |
-| stability
| string
| Package's Stability. |
-| stale
| boolean
| Auto-close of stale issues and pull request. |
-| staleOptions
| projen.github.StaleOptions
| Auto-close stale issues and pull requests. |
-| testdir
| string
| Jest tests directory. |
-| 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. |
-| tsJestOptions
| projen.typescript.TsJestOptions
| Options for ts-jest. |
-| typescriptVersion
| string
| TypeScript version to use. |
-| versionrcOptions
| {[ key: string ]: any}
| Custom configuration used when creating changelog with commit-and-tag-version package. |
-| vscode
| boolean
| Enable VSCode integration. |
-| workflowBootstrapSteps
| projen.github.workflows.JobStep[]
| Workflow steps to use in order to bootstrap this repo. |
-| workflowContainerImage
| string
| Container image to use for GitHub workflows. |
-| 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. |
-| workflowRunsOn
| string[]
| Github Runner selection labels. |
-| workflowRunsOnGroup
| projen.GroupRunnerOptions
| Github Runner Group selection options. |
-| yarnBerryOptions
| projen.javascript.YarnBerryOptions
| Options for Yarn Berry. |
-
----
-
-##### `author`Required
-
-```typescript
-public readonly author: string;
-```
-
-- *Type:* string
-- *Default:* $GIT_USER_NAME
-
-The name of the library author.
-
----
-
-##### `authorAddress`Required
-
-```typescript
-public readonly authorAddress: string;
-```
-
-- *Type:* string
-- *Default:* $GIT_USER_EMAIL
-
-Email or URL of the library author.
-
----
-
-##### `cdkVersion`Required
-
-```typescript
-public readonly cdkVersion: string;
-```
-
-- *Type:* string
-- *Default:* "2.1.0"
-
-Minimum version of the AWS CDK to depend on.
-
----
-
-##### `defaultReleaseBranch`Required
-
-```typescript
-public readonly defaultReleaseBranch: string;
-```
-
-- *Type:* string
-- *Default:* "main"
-
-The name of the main release branch.
-
----
-
-##### `name`Required
-
-```typescript
-public readonly name: string;
-```
-
-- *Type:* string
-- *Default:* $BASEDIR
-
-This is the name of your project.
-
----
-
-##### `repositoryUrl`Required
-
-```typescript
-public readonly repositoryUrl: string;
-```
-
-- *Type:* string
-- *Default:* $GIT_REMOTE
-
-Git repository URL.
-
----
-
-##### `allowLibraryDependencies`Optional
-
-```typescript
-public readonly allowLibraryDependencies: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Allow the project to include `peerDependencies` and `bundledDependencies`.
-
-This is normally only allowed for libraries. For apps, there's no meaning
-for specifying these.
-
----
-
-##### `artifactsDirectory`Optional
-
-```typescript
-public readonly artifactsDirectory: string;
-```
-
-- *Type:* string
-- *Default:* "dist"
-
-A directory which will contain build artifacts.
-
----
-
-##### `authorEmail`Optional
-
-```typescript
-public readonly authorEmail: string;
-```
-
-- *Type:* string
-
-Author's e-mail.
-
----
-
-##### `authorName`Optional
-
-```typescript
-public readonly authorName: string;
-```
-
-- *Type:* string
-
-Author's name.
-
----
-
-##### `authorOrganization`Optional
-
-```typescript
-public readonly authorOrganization: boolean;
-```
-
-- *Type:* boolean
-
-Is the author an organization.
-
----
-
-##### `authorUrl`Optional
-
-```typescript
-public readonly authorUrl: string;
-```
-
-- *Type:* string
-
-Author's URL / Website.
-
----
-
-##### `autoApproveOptions`Optional
-
-```typescript
-public readonly autoApproveOptions: AutoApproveOptions;
-```
-
-- *Type:* projen.github.AutoApproveOptions
-- *Default:* auto approve is disabled
-
-Enable and configure the 'auto approve' workflow.
-
----
-
-##### `autoApproveUpgrades`Optional
-
-```typescript
-public readonly autoApproveUpgrades: boolean;
-```
-
-- *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.
-
----
-
-##### `autoDetectBin`Optional
-
-```typescript
-public readonly autoDetectBin: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
-
----
-
-##### `autoMerge`Optional
-
-```typescript
-public readonly autoMerge: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Enable automatic merging on GitHub.
-
-Has no effect if `github.mergify`
-is set to false.
-
----
-
-##### `autoMergeOptions`Optional
-
-```typescript
-public readonly autoMergeOptions: AutoMergeOptions;
-```
-
-- *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.
-
----
-
-##### `bin`Optional
-
-```typescript
-public readonly bin: {[ key: string ]: string};
-```
-
-- *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.
-
----
-
-##### `bugsEmail`Optional
-
-```typescript
-public readonly bugsEmail: string;
-```
-
-- *Type:* string
-
-The email address to which issues should be reported.
-
----
-
-##### `bugsUrl`Optional
-
-```typescript
-public readonly bugsUrl: string;
-```
-
-- *Type:* string
-
-The url to your project's issue tracker.
-
----
-
-##### `buildWorkflow`Optional
-
-```typescript
-public readonly buildWorkflow: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true if not a subproject
-
-Define a GitHub workflow for building PRs.
-
----
-
-##### `buildWorkflowOptions`Optional
-
-```typescript
-public readonly buildWorkflowOptions: BuildWorkflowOptions;
-```
-
-- *Type:* projen.javascript.BuildWorkflowOptions
-
-Options for PR build workflow.
-
----
-
-##### ~~`buildWorkflowTriggers`~~Optional
-
-- *Deprecated:* - Use `buildWorkflowOptions.workflowTriggers`
-
-```typescript
-public readonly buildWorkflowTriggers: Triggers;
-```
-
-- *Type:* projen.github.workflows.Triggers
-- *Default:* "{ pullRequest: {}, workflowDispatch: {} }"
-
-Build workflow triggers.
-
----
-
-##### `bundledDeps`Optional
-
-```typescript
-public readonly bundledDeps: string[];
-```
-
-- *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`.
-
-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.
-
----
-
-##### `bundlerOptions`Optional
-
-```typescript
-public readonly bundlerOptions: BundlerOptions;
-```
-
-- *Type:* projen.javascript.BundlerOptions
-
-Options for `Bundler`.
-
----
-
-##### `catalog`Optional
-
-```typescript
-public readonly catalog: Catalog;
-```
-
-- *Type:* projen.cdk.Catalog
-- *Default:* new version will be announced
-
-Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.
-
-https://awscdk.io/packages/[@SCOPE/]PACKAGE@VERSION
-
-The catalog will also post a tweet to https://twitter.com/awscdkio with the
-package name, description and the above link. You can disable these tweets
-through `{ announce: false }`.
-
-You can also add a Twitter handle through `{ twitter: 'xx' }` which will be
-mentioned in the tweet.
-
----
-
-##### ~~`cdkAssert`~~Optional
-
-- *Deprecated:* The
-
-```typescript
-public readonly cdkAssert: boolean;
-```
-
-- *Type:* boolean
-- *Default:* will be included by default for AWS CDK >= 1.0.0 < 2.0.0
-
-Warning: NodeJS only.
-
-Install the
-
----
-
-##### `cdkAssertions`Optional
-
-```typescript
-public readonly cdkAssertions: boolean;
-```
-
-- *Type:* boolean
-- *Default:* will be included by default for AWS CDK >= 1.111.0 < 2.0.0
-
-Install the assertions library?
-
-Only needed for CDK 1.x. If using CDK 2.x then
-assertions is already included in 'aws-cdk-lib'
-
----
-
-##### ~~`cdkDependencies`~~Optional
-
-- *Deprecated:* For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)
-
-```typescript
-public readonly cdkDependencies: string[];
-```
-
-- *Type:* string[]
-
-Which AWS CDKv1 modules this project requires.
-
----
-
-##### ~~`cdkDependenciesAsDeps`~~Optional
-
-- *Deprecated:* Not supported in CDK v2.
-
-```typescript
-public readonly cdkDependenciesAsDeps: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
-
-This is to ensure that downstream consumers actually have your CDK dependencies installed
-when using npm < 7 or yarn, where peer dependencies are not automatically installed.
-If this is disabled, `cdkDependencies` will be added to `devDependencies` to ensure
-they are present during development.
-
-Note: this setting only applies to construct library projects
-
----
-
-##### ~~`cdkTestDependencies`~~Optional
-
-- *Deprecated:* For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead
-
-```typescript
-public readonly cdkTestDependencies: string[];
-```
-
-- *Type:* string[]
-
-AWS CDK modules required for testing.
-
----
-
-##### `cdkVersionPinning`Optional
-
-```typescript
-public readonly cdkVersionPinning: boolean;
-```
-
-- *Type:* boolean
-
-Use pinned version instead of caret version for CDK.
-
-You can use this to prevent mixed versions for your CDK dependencies and to prevent auto-updates.
-If you use experimental features this will let you define the moment you include breaking changes.
-
----
-
-##### `checkLicenses`Optional
-
-```typescript
-public readonly checkLicenses: LicenseCheckerOptions;
-```
-
-- *Type:* projen.javascript.LicenseCheckerOptions
-- *Default:* no license checks are run during the build and all licenses will be accepted
-
-Configure which licenses should be deemed acceptable for use by dependencies.
-
-This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered.
-
----
-
-##### `clobber`Optional
-
-```typescript
-public readonly clobber: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true, but false for subprojects
-
-Add a `clobber` task which resets the repo to origin.
-
----
-
-##### `codeArtifactOptions`Optional
-
-```typescript
-public readonly codeArtifactOptions: CodeArtifactOptions;
-```
-
-- *Type:* projen.javascript.CodeArtifactOptions
-- *Default:* undefined
-
-Options for npm packages using AWS CodeArtifact.
-
-This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
-
----
-
-##### `codeCov`Optional
-
-```typescript
-public readonly codeCov: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
-
----
-
-##### `codeCovTokenSecret`Optional
-
-```typescript
-public readonly codeCovTokenSecret: string;
-```
-
-- *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.
-
----
-
-##### `commitGenerated`Optional
-
-```typescript
-public readonly commitGenerated: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Whether to commit the managed files by default.
-
----
-
-##### `compat`Optional
-
-```typescript
-public readonly compat: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Automatically run API compatibility test against the latest version published to npm after compilation.
-
-You can manually run compatibility tests using `yarn compat` if this feature is disabled.
-- You can ignore compatibility failures by adding lines to a ".compatignore" file.
-
----
-
-##### `compatIgnore`Optional
-
-```typescript
-public readonly compatIgnore: string;
-```
-
-- *Type:* string
-- *Default:* ".compatignore"
-
-Name of the ignore file for API compatibility tests.
-
----
-
-##### `compressAssembly`Optional
-
-```typescript
-public readonly compressAssembly: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Emit a compressed version of the assembly.
-
----
-
-##### `constructsVersion`Optional
-
-```typescript
-public readonly constructsVersion: string;
-```
-
-- *Type:* string
-- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
-
-Minimum version of the `constructs` library to depend on.
-
----
-
-##### `copyrightOwner`Optional
-
-```typescript
-public readonly copyrightOwner: string;
-```
-
-- *Type:* string
-- *Default:* defaults to the value of authorName or "" if `authorName` is undefined.
-
-License copyright owner.
-
----
-
-##### `copyrightPeriod`Optional
-
-```typescript
-public readonly copyrightPeriod: string;
-```
-
-- *Type:* string
-- *Default:* current year
-
-The copyright years to put in the LICENSE file.
-
----
-
-##### `dependabot`Optional
-
-```typescript
-public readonly dependabot: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Use dependabot to handle dependency upgrades.
-
-Cannot be used in conjunction with `depsUpgrade`.
-
----
-
-##### `dependabotOptions`Optional
-
-```typescript
-public readonly dependabotOptions: DependabotOptions;
-```
-
-- *Type:* projen.github.DependabotOptions
-- *Default:* default options
-
-Options for dependabot.
-
----
-
-##### `deps`Optional
-
-```typescript
-public readonly deps: string[];
-```
-
-- *Type:* string[]
-- *Default:* []
-
-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.
-
----
-
-##### `depsUpgrade`Optional
-
-```typescript
-public readonly depsUpgrade: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Use tasks and github workflows to handle dependency upgrades.
-
-Cannot be used in conjunction with `dependabot`.
-
----
-
-##### `depsUpgradeOptions`Optional
-
-```typescript
-public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
-```
-
-- *Type:* projen.javascript.UpgradeDependenciesOptions
-- *Default:* default options
-
-Options for `UpgradeDependencies`.
-
----
-
-##### `description`Optional
-
-```typescript
-public readonly description: 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
-
----
-
-##### `devContainer`Optional
-
-```typescript
-public readonly devContainer: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Add a VSCode development environment (used for GitHub Codespaces).
-
----
-
-##### `devDeps`Optional
-
-```typescript
-public readonly devDeps: 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 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.
-
----
-
-##### `disableTsconfig`Optional
-
-```typescript
-public readonly disableTsconfig: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
-
----
-
-##### `disableTsconfigDev`Optional
-
-```typescript
-public readonly disableTsconfigDev: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Do not generate a `tsconfig.dev.json` file.
-
----
-
-##### `docgen`Optional
-
-```typescript
-public readonly docgen: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Docgen by Typedoc.
-
----
-
-##### `docgenFilePath`Optional
-
-```typescript
-public readonly docgenFilePath: string;
-```
-
-- *Type:* string
-- *Default:* "API.md"
-
-File path for generated docs.
-
----
-
-##### `docsDirectory`Optional
-
-```typescript
-public readonly docsDirectory: string;
-```
-
-- *Type:* string
-- *Default:* "docs"
-
-Docs directory.
-
----
-
-##### ~~`dotnet`~~Optional
-
-- *Deprecated:* use `publishToNuget`
-
-```typescript
-public readonly dotnet: JsiiDotNetTarget;
-```
-
-- *Type:* projen.cdk.JsiiDotNetTarget
-
----
-
-##### `edgeLambdaAutoDiscover`Optional
-
-```typescript
-public readonly edgeLambdaAutoDiscover: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
-
----
-
-##### `entrypoint`Optional
-
-```typescript
-public readonly entrypoint: string;
-```
-
-- *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.
-
----
-
-##### `entrypointTypes`Optional
-
-```typescript
-public readonly entrypointTypes: string;
-```
-
-- *Type:* string
-- *Default:* .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
-
-The .d.ts file that includes the type declarations for this module.
-
----
-
-##### `eslint`Optional
-
-```typescript
-public readonly eslint: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Setup eslint.
-
----
-
-##### `eslintOptions`Optional
-
-```typescript
-public readonly eslintOptions: EslintOptions;
-```
-
-- *Type:* projen.javascript.EslintOptions
-- *Default:* opinionated default options
-
-Eslint options.
-
----
-
-##### `excludeTypescript`Optional
-
-```typescript
-public readonly excludeTypescript: string[];
-```
-
-- *Type:* string[]
-
-Accepts a list of glob patterns. Files matching any of those patterns will be excluded from the TypeScript compiler input.
-
-By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input.
-This can be problematic for example when the package's build or test procedure generates .ts files
-that cannot be compiled with jsii's compiler settings.
-
----
-
-##### `experimentalIntegRunner`Optional
-
-```typescript
-public readonly experimentalIntegRunner: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Enable experimental support for the AWS CDK integ-runner.
-
----
-
-##### `github`Optional
-
-```typescript
-public readonly github: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Enable GitHub integration.
-
-Enabled by default for root projects. Disabled for non-root projects.
-
----
-
-##### `githubOptions`Optional
-
-```typescript
-public readonly githubOptions: GitHubOptions;
-```
-
-- *Type:* projen.github.GitHubOptions
-- *Default:* see GitHubOptions
-
-Options for GitHub integration.
-
----
-
-##### `gitignore`Optional
-
-```typescript
-public readonly gitignore: string[];
-```
-
-- *Type:* string[]
-
-Additional entries to .gitignore.
-
----
-
-##### `gitIgnoreOptions`Optional
-
-```typescript
-public readonly gitIgnoreOptions: IgnoreFileOptions;
-```
-
-- *Type:* projen.IgnoreFileOptions
-
-Configuration options for .gitignore file.
-
----
-
-##### `gitOptions`Optional
-
-```typescript
-public readonly gitOptions: GitOptions;
-```
-
-- *Type:* projen.GitOptions
-
-Configuration options for git.
-
----
-
-##### `gitpod`Optional
-
-```typescript
-public readonly gitpod: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Add a Gitpod development environment.
-
----
-
-##### `homepage`Optional
-
-```typescript
-public readonly homepage: string;
-```
-
-- *Type:* string
-
-Package's Homepage / Website.
-
----
-
-##### `integrationTestAutoDiscover`Optional
-
-```typescript
-public readonly integrationTestAutoDiscover: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically discovers and creates integration tests for each `.integ.ts` file under your test directory.
-
----
-
-##### `jest`Optional
-
-```typescript
-public readonly jest: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Setup jest unit tests.
-
----
-
-##### `jestOptions`Optional
-
-```typescript
-public readonly jestOptions: JestOptions;
-```
-
-- *Type:* projen.javascript.JestOptions
-- *Default:* default options
-
-Jest options.
-
----
-
-##### `jsiiReleaseVersion`Optional
-
-```typescript
-public readonly jsiiReleaseVersion: string;
-```
-
-- *Type:* string
-- *Default:* "latest"
-
-Version requirement of `publib` which is used to publish modules to npm.
-
----
-
-##### `jsiiVersion`Optional
-
-```typescript
-public readonly jsiiVersion: string;
-```
-
-- *Type:* string
-- *Default:* "1.x"
-
-Version of the jsii compiler to use.
-
-Set to "*" if you want to manually manage the version of jsii in your
-project by managing updates to `package.json` on your own.
-
-NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned
-and should remain on the same minor, so we recommend using a `~` dependency
-(e.g. `~5.0.0`).
-
----
-
-##### `keywords`Optional
-
-```typescript
-public readonly keywords: string[];
-```
-
-- *Type:* string[]
-
-Keywords to include in `package.json`.
-
----
-
-##### `lambdaAutoDiscover`Optional
-
-```typescript
-public readonly lambdaAutoDiscover: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler.
-
----
-
-##### `lambdaExtensionAutoDiscover`Optional
-
-```typescript
-public readonly lambdaExtensionAutoDiscover: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
-
----
-
-##### `lambdaOptions`Optional
-
-```typescript
-public readonly lambdaOptions: LambdaFunctionCommonOptions;
-```
-
-- *Type:* projen.awscdk.LambdaFunctionCommonOptions
-- *Default:* default options
-
-Common options for all AWS Lambda functions.
-
----
-
-##### `libdir`Optional
-
-```typescript
-public readonly libdir: string;
-```
-
-- *Type:* string
-- *Default:* "lib"
-
-Typescript artifacts output directory.
-
----
-
-##### `license`Optional
-
-```typescript
-public readonly license: string;
-```
-
-- *Type:* string
-- *Default:* "Apache-2.0"
-
-License's SPDX identifier.
-
-See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses.
-Use the `licensed` option if you want to no license to be specified.
-
----
-
-##### `licensed`Optional
-
-```typescript
-public readonly licensed: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Indicates if a license should be added.
-
----
-
-##### `logging`Optional
-
-```typescript
-public readonly logging: LoggerOptions;
-```
-
-- *Type:* projen.LoggerOptions
-- *Default:* {}
-
-Configure logging options such as verbosity.
-
----
-
-##### `majorVersion`Optional
-
-```typescript
-public readonly majorVersion: number;
-```
-
-- *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.
-
----
-
-##### `maxNodeVersion`Optional
-
-```typescript
-public readonly maxNodeVersion: string;
-```
-
-- *Type:* string
-- *Default:* no max
-
-Minimum node.js version to require via `engines` (inclusive).
-
----
-
-##### ~~`mergify`~~Optional
-
-- *Deprecated:* use `githubOptions.mergify` instead
-
-```typescript
-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.
-
----
-
-##### `minMajorVersion`Optional
-
-```typescript
-public readonly minMajorVersion: number;
-```
-
-- *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.
-
-Can not be set together with `majorVersion`.
-
----
-
-##### `minNodeVersion`Optional
-
-```typescript
-public readonly minNodeVersion: string;
-```
-
-- *Type:* string
-- *Default:* no "engines" specified
-
-Minimum Node.js version to require via package.json `engines` (inclusive).
-
-Only set this if your package will not work properly on specific (older?)
-Node versions.
-
----
-
-##### ~~`mutableBuild`~~Optional
-
-- *Deprecated:* - Use `buildWorkflowOptions.mutableBuild`
-
-```typescript
-public readonly mutableBuild: boolean;
-```
-
-- *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.
-
-Implies that PR builds do not have anti-tamper checks.
-
----
-
-##### `npmAccess`Optional
-
-```typescript
-public readonly npmAccess: NpmAccess;
-```
-
-- *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`.
-
-Access level of the npm package.
-
----
-
-##### `npmDistTag`Optional
-
-```typescript
-public readonly npmDistTag: 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.
-
----
-
-##### ~~`npmignore`~~Optional
-
-- *Deprecated:* - use `project.addPackageIgnore`
-
-```typescript
-public readonly npmignore: string[];
-```
-
-- *Type:* string[]
-
-Additional entries to .npmignore.
-
----
-
-##### `npmignoreEnabled`Optional
-
-```typescript
-public readonly npmignoreEnabled: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
-
----
-
-##### `npmIgnoreOptions`Optional
-
-```typescript
-public readonly npmIgnoreOptions: IgnoreFileOptions;
-```
-
-- *Type:* projen.IgnoreFileOptions
-
-Configuration options for .npmignore file.
-
----
-
-##### `npmProvenance`Optional
-
-```typescript
-public readonly npmProvenance: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true for public packages, false otherwise
-
-Should provenance statements be generated when the package is published.
-
-A supported package manager is required to publish a package with npm provenance statements and
-you will need to use a supported CI/CD provider.
-
-Note that the projen `Release` and `Publisher` components are using `publib` to publish packages,
-which is using npm internally and supports provenance statements independently of the package manager used.
-
----
-
-##### ~~`npmRegistry`~~Optional
-
-- *Deprecated:* use `npmRegistryUrl` instead
-
-```typescript
-public readonly npmRegistry: string;
-```
-
-- *Type:* string
-
-The host name of the npm registry to publish to.
-
-Cannot be set together with `npmRegistryUrl`.
-
----
-
-##### `npmRegistryUrl`Optional
-
-```typescript
-public readonly npmRegistryUrl: string;
-```
-
-- *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://")
-
----
-
-##### `npmTokenSecret`Optional
-
-```typescript
-public readonly npmTokenSecret: string;
-```
-
-- *Type:* string
-- *Default:* "NPM_TOKEN"
-
-GitHub secret which contains the NPM token to use when publishing packages.
-
----
-
-##### `outdir`Optional
-
-```typescript
-public readonly outdir: string;
-```
-
-- *Type:* string
-- *Default:* "."
-
-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.
-
----
-
-##### `package`Optional
-
-```typescript
-public readonly package: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
-
----
-
-##### `packageManager`Optional
-
-```typescript
-public readonly packageManager: NodePackageManager;
-```
-
-- *Type:* projen.javascript.NodePackageManager
-- *Default:* NodePackageManager.YARN_CLASSIC
-
-The Node Package Manager used to execute scripts.
-
----
-
-##### `packageName`Optional
-
-```typescript
-public readonly packageName: string;
-```
-
-- *Type:* string
-- *Default:* defaults to project name
-
-The "name" in package.json.
-
----
-
-##### `parent`Optional
-
-```typescript
-public readonly parent: Project;
-```
-
-- *Type:* projen.Project
-
-The parent project, if this project is part of a bigger project.
-
----
-
-##### `peerDependencyOptions`Optional
-
-```typescript
-public readonly peerDependencyOptions: PeerDependencyOptions;
-```
-
-- *Type:* projen.javascript.PeerDependencyOptions
-
-Options for `peerDeps`.
-
----
-
-##### `peerDeps`Optional
-
-```typescript
-public readonly peerDeps: string[];
-```
-
-- *Type:* string[]
-- *Default:* []
-
-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.
-
----
-
-##### `pnpmVersion`Optional
-
-```typescript
-public readonly pnpmVersion: string;
-```
-
-- *Type:* string
-- *Default:* "7"
-
-The version of PNPM to use if using PNPM as a package manager.
-
----
-
-##### `postBuildSteps`Optional
-
-```typescript
-public readonly postBuildSteps: JobStep[];
-```
-
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* []
-
-Steps to execute after build as part of the release workflow.
-
----
-
-##### `prerelease`Optional
-
-```typescript
-public readonly prerelease: string;
-```
-
-- *Type:* string
-- *Default:* normal semantic versions
-
-Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
-
----
-
-##### `prettier`Optional
-
-```typescript
-public readonly prettier: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Setup prettier.
-
----
-
-##### `prettierOptions`Optional
-
-```typescript
-public readonly prettierOptions: PrettierOptions;
-```
-
-- *Type:* projen.javascript.PrettierOptions
-- *Default:* default options
-
-Prettier options.
-
----
-
-##### ~~`projectType`~~Optional
-
-- *Deprecated:* no longer supported at the base project level
-
-```typescript
-public readonly projectType: ProjectType;
-```
-
-- *Type:* projen.ProjectType
-- *Default:* ProjectType.UNKNOWN
-
-Which type of project this is (library/app).
-
----
-
-##### `projenCommand`Optional
-
-```typescript
-public readonly projenCommand: string;
-```
-
-- *Type:* string
-- *Default:* "npx projen"
-
-The shell command to use in order to run the projen CLI.
-
-Can be used to customize in special environments.
-
----
-
-##### `projenCredentials`Optional
-
-```typescript
-public readonly projenCredentials: GithubCredentials;
-```
-
-- *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.
-
----
-
-##### `projenDevDependency`Optional
-
-```typescript
-public readonly projenDevDependency: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true if not a subproject
-
-Indicates of "projen" should be installed as a devDependency.
-
----
-
-##### `projenrcJs`Optional
-
-```typescript
-public readonly projenrcJs: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true if projenrcJson is false
-
-Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
-
----
-
-##### `projenrcJson`Optional
-
-```typescript
-public readonly projenrcJson: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
-
----
-
-##### `projenrcJsonOptions`Optional
-
-```typescript
-public readonly projenrcJsonOptions: ProjenrcJsonOptions;
-```
-
-- *Type:* projen.ProjenrcJsonOptions
-- *Default:* default options
-
-Options for .projenrc.json.
-
----
-
-##### `projenrcJsOptions`Optional
-
-```typescript
-public readonly projenrcJsOptions: ProjenrcOptions;
-```
-
-- *Type:* projen.javascript.ProjenrcOptions
-- *Default:* default options
-
-Options for .projenrc.js.
-
----
-
-##### `projenrcTs`Optional
-
-```typescript
-public readonly projenrcTs: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Use TypeScript for your projenrc file (`.projenrc.ts`).
-
----
-
-##### `projenrcTsOptions`Optional
-
-```typescript
-public readonly projenrcTsOptions: ProjenrcOptions;
-```
-
-- *Type:* projen.typescript.ProjenrcOptions
-
-Options for .projenrc.ts.
-
----
-
-##### ~~`projenTokenSecret`~~Optional
-
-- *Deprecated:* use `projenCredentials`
-
-```typescript
-public readonly projenTokenSecret: string;
-```
-
-- *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.
-
----
-
-##### `projenVersion`Optional
-
-```typescript
-public readonly projenVersion: string;
-```
-
-- *Type:* string
-- *Default:* Defaults to the latest version.
-
-Version of projen to install.
-
----
-
-##### `publishDryRun`Optional
-
-```typescript
-public readonly publishDryRun: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Instead of actually publishing to package managers, just print the publishing command.
-
----
-
-##### `publishTasks`Optional
-
-```typescript
-public readonly publishTasks: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Define publishing tasks that can be executed manually as well as workflows.
-
-Normally, publishing only happens within automated workflows. Enable this
-in order to create a publishing task for each publishing activity.
-
----
-
-##### `publishToGo`Optional
-
-```typescript
-public readonly publishToGo: JsiiGoTarget;
-```
-
-- *Type:* projen.cdk.JsiiGoTarget
-- *Default:* no publishing
-
-Publish Go bindings to a git repository.
-
----
-
-##### `publishToMaven`Optional
-
-```typescript
-public readonly publishToMaven: JsiiJavaTarget;
-```
-
-- *Type:* projen.cdk.JsiiJavaTarget
-- *Default:* no publishing
-
-Publish to maven.
-
----
-
-##### `publishToNuget`Optional
-
-```typescript
-public readonly publishToNuget: JsiiDotNetTarget;
-```
-
-- *Type:* projen.cdk.JsiiDotNetTarget
-- *Default:* no publishing
-
-Publish to NuGet.
-
----
-
-##### `publishToPypi`Optional
-
-```typescript
-public readonly publishToPypi: JsiiPythonTarget;
-```
-
-- *Type:* projen.cdk.JsiiPythonTarget
-- *Default:* no publishing
-
-Publish to pypi.
-
----
-
-##### `pullRequestTemplate`Optional
-
-```typescript
-public readonly pullRequestTemplate: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Include a GitHub pull request template.
-
----
-
-##### `pullRequestTemplateContents`Optional
-
-```typescript
-public readonly pullRequestTemplateContents: string[];
-```
-
-- *Type:* string[]
-- *Default:* default content
-
-The contents of the pull request template.
-
----
-
-##### ~~`python`~~Optional
-
-- *Deprecated:* use `publishToPyPi`
-
-```typescript
-public readonly python: JsiiPythonTarget;
-```
-
-- *Type:* projen.cdk.JsiiPythonTarget
-
----
-
-##### `readme`Optional
-
-```typescript
-public readonly readme: SampleReadmeProps;
-```
-
-- *Type:* projen.SampleReadmeProps
-- *Default:* { filename: 'README.md', contents: '# replace this' }
-
-The README setup.
-
----
-
-##### `releasableCommits`Optional
-
-```typescript
-public readonly releasableCommits: ReleasableCommits;
-```
-
-- *Type:* projen.ReleasableCommits
-- *Default:* ReleasableCommits.everyCommit()
-
-Find commits that should be considered releasable Used to decide if a release is required.
-
----
-
-##### `release`Optional
-
-```typescript
-public readonly release: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true (false for subprojects)
-
-Add release management to this project.
-
----
-
-##### `releaseBranches`Optional
-
-```typescript
-public readonly releaseBranches: {[ key: string ]: BranchOptions};
-```
-
-- *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.
-
-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
-
-```typescript
-public readonly releaseEveryCommit: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Automatically release new versions every commit to one of branches in `releaseBranches`.
-
----
-
-##### `releaseFailureIssue`Optional
-
-```typescript
-public readonly releaseFailureIssue: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Create a github issue on every failed publishing task.
-
----
-
-##### `releaseFailureIssueLabel`Optional
-
-```typescript
-public readonly releaseFailureIssueLabel: string;
-```
-
-- *Type:* string
-- *Default:* "failed-release"
-
-The label to apply to issues indicating publish failures.
-
-Only applies if `releaseFailureIssue` is true.
-
----
-
-##### ~~`releaseSchedule`~~Optional
-
-- *Deprecated:* Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
-
-```typescript
-public readonly releaseSchedule: string;
-```
-
-- *Type:* string
-- *Default:* no scheduled releases
-
-CRON schedule to trigger new releases.
-
----
-
-##### `releaseTagPrefix`Optional
-
-```typescript
-public readonly releaseTagPrefix: string;
-```
-
-- *Type:* string
-- *Default:* "v"
-
-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.
-
----
-
-##### `releaseToNpm`Optional
-
-```typescript
-public readonly releaseToNpm: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Automatically release to npm when new versions are introduced.
-
----
-
-##### `releaseTrigger`Optional
-
-```typescript
-public readonly releaseTrigger: ReleaseTrigger;
-```
-
-- *Type:* projen.release.ReleaseTrigger
-- *Default:* Continuous releases (`ReleaseTrigger.continuous()`)
-
-The release trigger to use.
-
----
-
-##### ~~`releaseWorkflow`~~Optional
-
-- *Deprecated:* see `release`.
-
-```typescript
-public readonly releaseWorkflow: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true if not a subproject
-
-DEPRECATED: renamed to `release`.
-
----
-
-##### `releaseWorkflowName`Optional
-
-```typescript
-public readonly releaseWorkflowName: string;
-```
-
-- *Type:* string
-- *Default:* "release"
-
-The name of the default release workflow.
-
----
-
-##### `releaseWorkflowSetupSteps`Optional
-
-```typescript
-public readonly releaseWorkflowSetupSteps: JobStep[];
-```
-
-- *Type:* projen.github.workflows.JobStep[]
-
-A set of workflow steps to execute in order to setup the workflow container.
-
----
-
-##### `renovatebot`Optional
-
-```typescript
-public readonly renovatebot: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Use renovatebot to handle dependency upgrades.
-
----
-
-##### `renovatebotOptions`Optional
-
-```typescript
-public readonly renovatebotOptions: RenovatebotOptions;
-```
-
-- *Type:* projen.RenovatebotOptions
-- *Default:* default options
-
-Options for renovatebot.
-
----
-
-##### `repository`Optional
-
-```typescript
-public readonly repository: string;
-```
-
-- *Type:* string
-
-The repository is the location where the actual code for your package lives.
-
-See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
-
----
-
-##### `repositoryDirectory`Optional
-
-```typescript
-public readonly repositoryDirectory: 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.
-
----
-
-##### `rootdir`Optional
-
-```typescript
-public readonly rootdir: string;
-```
-
-- *Type:* string
-- *Default:* "."
-
----
-
-##### `sampleCode`Optional
-
-```typescript
-public readonly sampleCode: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Generate one-time sample in `src/` and `test/` if there are no files there.
-
----
-
-##### `scopedPackagesOptions`Optional
-
-```typescript
-public readonly scopedPackagesOptions: ScopedPackagesOptions[];
-```
-
-- *Type:* projen.javascript.ScopedPackagesOptions[]
-- *Default:* fetch all scoped packages from the public npm registry
-
-Options for privately hosted scoped packages.
-
----
-
-##### ~~`scripts`~~Optional
-
-- *Deprecated:* use `project.addTask()` or `package.setScript()`
-
-```typescript
-public readonly scripts: {[ key: string ]: 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.
-
----
-
-##### `srcdir`Optional
-
-```typescript
-public readonly srcdir: string;
-```
-
-- *Type:* string
-- *Default:* "src"
-
-Typescript sources directory.
-
----
-
-##### `stability`Optional
-
-```typescript
-public readonly stability: string;
-```
-
-- *Type:* string
-
-Package's Stability.
-
----
-
-##### `stale`Optional
-
-```typescript
-public readonly stale: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Auto-close of stale issues and pull request.
-
-See `staleOptions` for options.
-
----
-
-##### `staleOptions`Optional
-
-```typescript
-public readonly staleOptions: StaleOptions;
-```
-
-- *Type:* projen.github.StaleOptions
-- *Default:* see defaults in `StaleOptions`
-
-Auto-close stale issues and pull requests.
-
-To disable set `stale` to `false`.
-
----
-
-##### `testdir`Optional
-
-```typescript
-public readonly testdir: string;
-```
-
-- *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.
-
----
-
-##### `tsconfig`Optional
-
-```typescript
-public readonly tsconfig: TypescriptConfigOptions;
-```
-
-- *Type:* projen.javascript.TypescriptConfigOptions
-- *Default:* default options
-
-Custom TSConfig.
-
----
-
-##### `tsconfigDev`Optional
-
-```typescript
-public readonly tsconfigDev: TypescriptConfigOptions;
-```
-
-- *Type:* projen.javascript.TypescriptConfigOptions
-- *Default:* use the production tsconfig options
-
-Custom tsconfig options for the development tsconfig.json file (used for testing).
-
----
-
-##### `tsconfigDevFile`Optional
-
-```typescript
-public readonly tsconfigDevFile: string;
-```
-
-- *Type:* string
-- *Default:* "tsconfig.dev.json"
-
-The name of the development tsconfig.json file.
-
----
-
-##### `tsJestOptions`Optional
-
-```typescript
-public readonly tsJestOptions: TsJestOptions;
-```
-
-- *Type:* projen.typescript.TsJestOptions
-
-Options for ts-jest.
-
----
-
-##### `typescriptVersion`Optional
-
-```typescript
-public readonly typescriptVersion: string;
-```
-
-- *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`).
-
----
-
-##### `versionrcOptions`Optional
-
-```typescript
-public readonly versionrcOptions: {[ key: string ]: any};
-```
-
-- *Type:* {[ key: string ]: any}
-- *Default:* standard configuration applicable for GitHub repositories
-
-Custom configuration used when creating changelog with commit-and-tag-version package.
-
-Given values either append to default configuration or overwrite values in it.
-
----
-
-##### `vscode`Optional
-
-```typescript
-public readonly vscode: boolean;
-```
-
-- *Type:* boolean
-- *Default:* true
-
-Enable VSCode integration.
-
-Enabled by default for root projects. Disabled for non-root projects.
-
----
-
-##### `workflowBootstrapSteps`Optional
-
-```typescript
-public readonly workflowBootstrapSteps: JobStep[];
-```
-
-- *Type:* projen.github.workflows.JobStep[]
-- *Default:* "yarn install --frozen-lockfile && yarn projen"
-
-Workflow steps to use in order to bootstrap this repo.
-
----
-
-##### `workflowContainerImage`Optional
-
-```typescript
-public readonly workflowContainerImage: string;
-```
-
-- *Type:* string
-- *Default:* default image
-
-Container image to use for GitHub workflows.
-
----
-
-##### `workflowGitIdentity`Optional
-
-```typescript
-public readonly workflowGitIdentity: GitIdentity;
-```
-
-- *Type:* projen.github.GitIdentity
-- *Default:* GitHub Actions
-
-The git identity to use in workflows.
-
----
-
-##### `workflowNodeVersion`Optional
-
-```typescript
-public readonly workflowNodeVersion: string;
-```
-
-- *Type:* string
-- *Default:* 'lts/*'
-
-The node version to use in GitHub workflows.
-
----
-
-##### `workflowPackageCache`Optional
-
-```typescript
-public readonly workflowPackageCache: boolean;
-```
-
-- *Type:* boolean
-- *Default:* false
-
-Enable Node.js package cache in GitHub workflows.
-
----
-
-##### `workflowRunsOn`Optional
-
-```typescript
-public readonly workflowRunsOn: string[];
-```
-
-- *Type:* string[]
-- *Default:* ["ubuntu-latest"]
-
-Github Runner selection labels.
-
----
-
-##### `workflowRunsOnGroup`Optional
-
-```typescript
-public readonly workflowRunsOnGroup: GroupRunnerOptions;
-```
-
-- *Type:* projen.GroupRunnerOptions
-
-Github Runner Group selection options.
-
----
-
-##### `yarnBerryOptions`Optional
-
-```typescript
-public readonly yarnBerryOptions: YarnBerryOptions;
-```
-
-- *Type:* projen.javascript.YarnBerryOptions
-- *Default:* Yarn Berry v4 with all default options
-
-Options for Yarn Berry.
-
----
-
### MonorepoOptions
MonorepoOptions.
diff --git a/package.json b/package.json
index 09511e9..2c3bf94 100644
--- a/package.json
+++ b/package.json
@@ -47,16 +47,16 @@
"eslint-plugin-import": "^2.30.0",
"jest": "^29",
"jest-junit": "^15",
- "jsii": "~5.2",
+ "jsii": "~5.5",
"jsii-diff": "^1.103.1",
"jsii-docgen": "^10.5.0",
"jsii-pacmak": "^1.103.1",
"jsii-reflect": "^1.103.1",
- "jsii-rosetta": "~5.2",
+ "jsii-rosetta": "~5.5",
"projen": "^0.87.4",
"ts-jest": "^29",
"ts-node": "^10.9.2",
- "typescript": "~5.2"
+ "typescript": "~5.5"
},
"peerDependencies": {
"constructs": "^10.0.0",
diff --git a/projenrc/cdk-constructlibrary-options.ts b/projenrc/cdk-constructlibrary-options.ts
index d02a538..65826c0 100644
--- a/projenrc/cdk-constructlibrary-options.ts
+++ b/projenrc/cdk-constructlibrary-options.ts
@@ -1,14 +1,15 @@
-import { PrimitiveType } from '@jsii/spec';
+import { PrimitiveType, Property } from '@jsii/spec';
import { typescript } from 'projen';
import { JsiiInterface } from './jsii-extend-interface';
export function generateCdkConstructLibraryOptions(project: typescript.TypeScriptProject) {
new JsiiInterface(project, {
- name: 'ModifiedProjenCdkConstructLibraryOptions',
- fqn: 'cdklabs-projen-project-types.ModifiedProjenCdkConstructLibraryOptions',
- filePath: 'src/cdk-options.ts',
+ name: 'CdkConstructLibraryOptions',
+ fqn: 'cdklabs-projen-project-types.CdkConstructLibraryOptions',
+ filePath: 'src/cdk-construct-library-options.ts',
extends: 'projen.awscdk.AwsCdkConstructLibraryOptions',
properties: [
+ ...commonOptions,
{
name: 'minNodeVersion',
optional: true,
@@ -33,7 +34,92 @@ export function generateCdkConstructLibraryOptions(project: typescript.TypeScrip
default: '\'lts/*\'',
},
},
+ {
+ name: 'rosettaOptions',
+ optional: true,
+ type: { fqn: 'cdklabs-projen-project-types.RosettaOptions' },
+ docs: {
+ summary: 'Options for rosetta:extract task',
+ },
+ },
],
});
}
+const commonOptions: Property[] = [
+ {
+ name: 'private',
+ optional: true,
+ type: { primitive: PrimitiveType.Boolean },
+ docs: {
+ summary: 'Whether or not this package is private. ',
+ remarks: 'Setting this variable to true means that your project is created with sane defaults for private repositories.',
+ default: 'true',
+ },
+ },
+ {
+ name: 'enablePRAutoMerge',
+ optional: true,
+ type: { primitive: PrimitiveType.Boolean },
+ docs: {
+ summary: 'Whether to enable the auto merge workflow for PRs.',
+ remarks: 'This will enable the auto merge workflow as well as the merge queue',
+ default: '- true for private projects, false otherwise',
+ },
+ },
+ {
+ name: 'ghAutoMergeOptions',
+ optional: true,
+ type: { fqn: 'cdklabs-projen-project-types.AutoMergeOptions' },
+ docs: {
+ summary: 'Options for the GitHub auto merge workflow.',
+ remarks: 'That is the workflow that turns on auto merge on all PRs.',
+ default: '- default options',
+ },
+ },
+ {
+ name: 'setNodeEngineVersion',
+ optional: true,
+ type: { primitive: PrimitiveType.Boolean },
+ docs: {
+ summary: 'cdklabs-projen-project-types.AutoMergeOptions',
+ remarks: "Set this to `false` if a package did not enforce this previously and we don't want to change this for now.",
+ default: 'true',
+ },
+ },
+ {
+ name: 'upgradeCdklabsProjenProjectTypes',
+ optional: true,
+ type: { primitive: PrimitiveType.Boolean },
+ docs: {
+ summary: 'Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.',
+ default: 'true',
+ },
+ },
+ {
+ name: 'upgradeRuntimeDepsAsFix',
+ optional: true,
+ type: { primitive: PrimitiveType.Boolean },
+ docs: {
+ summary: 'Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.',
+ default: 'true',
+ },
+ },
+ {
+ name: 'tenancy',
+ optional: true,
+ type: { fqn: 'cdklabs-projen-project-types.OrgTenancy' },
+ docs: {
+ summary: 'The organization this project is part of.',
+ default: '- Auto detected from package name',
+ },
+ },
+];
+
+export function generateCdkCommonOptions(project: typescript.TypeScriptProject) {
+ new JsiiInterface(project, {
+ name: 'CdkCommonOptions',
+ filePath: 'src/cdk-common-options.ts',
+ properties: commonOptions,
+ });
+}
\ No newline at end of file
diff --git a/src/cdk-common-options.ts b/src/cdk-common-options.ts
new file mode 100644
index 0000000..7955f61
--- /dev/null
+++ b/src/cdk-common-options.ts
@@ -0,0 +1,47 @@
+// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
+import { AutoMergeOptions, OrgTenancy } from './';
+
+/**
+ * CdkCommonOptions
+ */
+export interface CdkCommonOptions {
+ /**
+ * Whether to enable the auto merge workflow for PRs.
+ * This will enable the auto merge workflow as well as the merge queue
+ * @default - true for private projects, false otherwise
+ */
+ readonly enablePRAutoMerge?: boolean;
+ /**
+ * Options for the GitHub auto merge workflow.
+ * That is the workflow that turns on auto merge on all PRs.
+ * @default - default options
+ */
+ readonly ghAutoMergeOptions?: AutoMergeOptions;
+ /**
+ * Whether or not this package is private.
+ * Setting this variable to true means that your project is created with sane defaults for private repositories.
+ * @default true
+ */
+ readonly private?: boolean;
+ /**
+ * cdklabs-projen-project-types.AutoMergeOptions
+ * Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+ * @default true
+ */
+ readonly setNodeEngineVersion?: boolean;
+ /**
+ * The organization this project is part of.
+ * @default - Auto detected from package name
+ */
+ readonly tenancy?: OrgTenancy;
+ /**
+ * Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
+ * @default true
+ */
+ readonly upgradeCdklabsProjenProjectTypes?: boolean;
+ /**
+ * Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
+ * @default true
+ */
+ readonly upgradeRuntimeDepsAsFix?: boolean;
+}
diff --git a/src/cdk-options.ts b/src/cdk-construct-library-options.ts
similarity index 95%
rename from src/cdk-options.ts
rename to src/cdk-construct-library-options.ts
index a1d0cf1..3bdaeaa 100644
--- a/src/cdk-options.ts
+++ b/src/cdk-construct-library-options.ts
@@ -1,10 +1,11 @@
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
import { github, javascript, cdk, IgnoreFileOptions, GitOptions, awscdk, LoggerOptions, Project, ProjectType, ProjenrcJsonOptions, typescript, SampleReadmeProps, ReleasableCommits, release, RenovatebotOptions, GroupRunnerOptions } from 'projen';
+import { AutoMergeOptions, RosettaOptions, OrgTenancy } from './';
/**
- * ModifiedProjenCdkConstructLibraryOptions
+ * CdkConstructLibraryOptions
*/
-export interface ModifiedProjenCdkConstructLibraryOptions {
+export interface CdkConstructLibraryOptions {
/**
* Allow the project to include `peerDependencies` and `bundledDependencies`.
* This is normally only allowed for libraries. For apps, there's no meaning
@@ -344,6 +345,12 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default true
*/
readonly edgeLambdaAutoDiscover?: boolean;
+ /**
+ * Whether to enable the auto merge workflow for PRs.
+ * This will enable the auto merge workflow as well as the merge queue
+ * @default - true for private projects, false otherwise
+ */
+ readonly enablePRAutoMerge?: boolean;
/**
* Module entrypoint (`main` in `package.json`).
* Set to an empty string to not include `main` in your package.json
@@ -379,6 +386,12 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default false
*/
readonly experimentalIntegRunner?: boolean;
+ /**
+ * Options for the GitHub auto merge workflow.
+ * That is the workflow that turns on auto merge on all PRs.
+ * @default - default options
+ */
+ readonly ghAutoMergeOptions?: AutoMergeOptions;
/**
* Enable GitHub integration.
* Enabled by default for root projects. Disabled for non-root projects.
@@ -672,6 +685,12 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default - default options
*/
readonly prettierOptions?: javascript.PrettierOptions;
+ /**
+ * Whether or not this package is private.
+ * Setting this variable to true means that your project is created with sane defaults for private repositories.
+ * @default true
+ */
+ readonly private?: boolean;
/**
* Which type of project this is (library/app).
* @default ProjectType.UNKNOWN
@@ -894,6 +913,10 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default "."
*/
readonly rootdir?: string;
+ /**
+ * Options for rosetta:extract task
+ */
+ readonly rosettaOptions?: RosettaOptions;
/**
* Generate one-time sample in `src/` and `test/` if there are no files there.
* @default true
@@ -913,6 +936,12 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @deprecated use `project.addTask()` or `package.setScript()`
*/
readonly scripts?: Record;
+ /**
+ * cdklabs-projen-project-types.AutoMergeOptions
+ * Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
+ * @default true
+ */
+ readonly setNodeEngineVersion?: boolean;
/**
* Typescript sources directory.
* @default "src"
@@ -934,6 +963,11 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default - see defaults in `StaleOptions`
*/
readonly staleOptions?: github.StaleOptions;
+ /**
+ * The organization this project is part of.
+ * @default - Auto detected from package name
+ */
+ readonly tenancy?: OrgTenancy;
/**
* Jest tests directory. Tests files should be named `xxx.test.ts`.
* If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),
@@ -969,6 +1003,16 @@ export interface ModifiedProjenCdkConstructLibraryOptions {
* @default "latest"
*/
readonly typescriptVersion?: string;
+ /**
+ * Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dependencies.
+ * @default true
+ */
+ readonly upgradeCdklabsProjenProjectTypes?: boolean;
+ /**
+ * Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix.
+ * @default true
+ */
+ readonly upgradeRuntimeDepsAsFix?: boolean;
/**
* Custom configuration used when creating changelog with commit-and-tag-version package.
* Given values either append to default configuration or overwrite values in it.
diff --git a/src/cdk.ts b/src/cdk.ts
index c3a6b4c..12025f5 100644
--- a/src/cdk.ts
+++ b/src/cdk.ts
@@ -1,25 +1,10 @@
import { awscdk, cdk, typescript } from 'projen';
-import { ModifiedProjenCdkConstructLibraryOptions } from './cdk-options';
-import { CdkCommonOptions, configureCommonFeatures, withCommonOptionsDefaults } from './common-options';
+import { CdkCommonOptions } from './cdk-common-options';
+import { CdkConstructLibraryOptions } from './cdk-construct-library-options';
+import { configureCommonFeatures, withCommonOptionsDefaults } from './common-options';
import { IntegRunner } from './integ-runner';
-import { Rosetta, RosettaOptions } from './rosetta';
+import { Rosetta } from './rosetta';
-/**
- * Options for CdkConstructLibrary
- *
- * `ModifiedProjenCdkConstructLibraryOptions` is generated automatically from upstream
- * by copying the properties from projen `CdkConstructLibraryOptions`, and modifying some
- * of them.
- *
- * We have to do it this way because jsii doesn't allow overwriting properties
- * by redeclaring them here, and we need to change the documentation of some props.
- */
-export interface CdkConstructLibraryOptions extends ModifiedProjenCdkConstructLibraryOptions, CdkCommonOptions {
- /**
- * Options for rosetta:extract task
- */
- readonly rosettaOptions?: RosettaOptions;
-}
/**
* Create a Cdk Construct Library Project
diff --git a/src/cdklabs.ts b/src/cdklabs.ts
index 3241ac7..b6b3337 100644
--- a/src/cdklabs.ts
+++ b/src/cdklabs.ts
@@ -11,10 +11,10 @@ export enum JsiiLanguage {
import {
CdkConstructLibrary,
- CdkConstructLibraryOptions,
CdkTypeScriptProject,
CdkTypeScriptProjectOptions,
} from './cdk';
+import { CdkConstructLibraryOptions } from './cdk-construct-library-options';
import { CdkJsiiProject, CdkJsiiProjectOptions } from './jsii';
// eslint-disable-next-line import/order
import { ReleasableCommits } from 'projen';
diff --git a/src/common-options.ts b/src/common-options.ts
index 54eff1c..a897efb 100644
--- a/src/common-options.ts
+++ b/src/common-options.ts
@@ -1,6 +1,6 @@
import { DependencyType, github, javascript, typescript } from 'projen';
import { deepMerge } from 'projen/lib/util';
-import { AutoMergeOptions } from './auto-merge';
+import { CdkCommonOptions } from './cdk-common-options';
import { MergeQueue } from './merge-queue';
import { Private } from './private';
import { UpgradeCdklabsProjenProjectTypes } from './upgrade-cdklabs-projen-project-types';
@@ -10,63 +10,6 @@ export enum OrgTenancy {
AWS = 'aws',
}
-export interface CdkCommonOptions {
- /**
- * Whether or not this package is private. Setting this variable
- * to true means that your project is created with sane defaults
- * for private repositories.
- *
- * @default true
- */
- readonly private?: boolean;
-
- /**
- * Whether to enable the auto merge workflow for PRs
- * This will enable the auto merge workflow as well as the
- * merge queue
- *
- * @default - true for private projects, false otherwise
- */
- readonly enablePRAutoMerge?: boolean;
-
- /**
- * Options for the GitHub auto merge workflow (the workflow
- * that turns on auto merge on all PRs)
- *
- * @default - default options
- */
- readonly ghAutoMergeOptions?: AutoMergeOptions;
-
- /**
- * Whether to enforce the minNodeVersion via the `engines` field in `package.json`.
- * Set this to `false` if a package did not enforce this previously and we don't want to change this for now.
- *
- * @default true
- */
- readonly setNodeEngineVersion?: boolean;
-
- /**
- * Whether to enable the separate workflow to upgrade the cdklabs-projen-project-types dep
- *
- * @default true
- */
- readonly upgradeCdklabsProjenProjectTypes?: boolean;
-
- /**
- * Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix
- *
- * @default true
- */
- readonly upgradeRuntimeDepsAsFix?: boolean;
-
- /**
- * The org this project is part of.
- *
- * @default - Auto detected from package name
- */
- readonly tenancy?: OrgTenancy;
-}
-
type CommonOptions = CdkCommonOptions & typescript.TypeScriptProjectOptions;
export function withCommonOptionsDefaults(options: T): T & Required {
const isPrivate = options.private ?? true;
diff --git a/src/index.ts b/src/index.ts
index 274b91f..f636b6c 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,5 +1,6 @@
export * from './cdk';
-export * from './cdk-options';
+export * from './cdk-construct-library-options';
+export * from './cdk-common-options';
export * from './common-options';
export * from './jsii';
export * from './cdklabs';
diff --git a/src/jsii.ts b/src/jsii.ts
index fd32444..78d3c26 100644
--- a/src/jsii.ts
+++ b/src/jsii.ts
@@ -1,5 +1,6 @@
import { cdk } from 'projen';
-import { CdkCommonOptions, configureCommonFeatures, withCommonOptionsDefaults } from './common-options';
+import { CdkCommonOptions } from './cdk-common-options';
+import { configureCommonFeatures, withCommonOptionsDefaults } from './common-options';
export interface CdkJsiiProjectOptions extends cdk.JsiiProjectOptions, CdkCommonOptions {}
diff --git a/test/cdk.test.ts b/test/cdk.test.ts
index f4feb64..5f9d6b0 100644
--- a/test/cdk.test.ts
+++ b/test/cdk.test.ts
@@ -1,7 +1,7 @@
import { Stability } from 'projen/lib/cdk';
import { Testing } from 'projen/lib/testing';
import { expectPrivate, expectNotPrivate } from './private-helpers';
-import { CdkConstructLibrary, CdkConstructLibraryOptions, CdkTypeScriptProject, CdkTypeScriptProjectOptions } from '../src/cdk';
+import { CdkConstructLibrary, CdkConstructLibraryOptions, CdkTypeScriptProject, CdkTypeScriptProjectOptions } from '../src';
import { CdkJsiiProject, CdkJsiiProjectOptions } from '../src/jsii';
describe('CdkConstructLibrary', () => {
diff --git a/yarn.lock b/yarn.lock
index 2e89e98..0cb75df 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -607,22 +607,6 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@jsii/check-node@1.100.0":
- version "1.100.0"
- resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.100.0.tgz#98e8db619d026c8693f2fe0417961e8fb1e9daff"
- integrity sha512-4bsO7Y6YyekBk4v4iatAl5E7QQs2UUPtHoP9gfT3UnpbKzyMjH8XholSVCjfcNSKBwFobPMb8iA7NCMIMqFKsQ==
- dependencies:
- chalk "^4.1.2"
- semver "^7.6.0"
-
-"@jsii/check-node@1.101.0":
- version "1.101.0"
- resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.101.0.tgz#175e5a2b9b31f232fd5df2942dacc4b20820aa93"
- integrity sha512-io8u1GAF9XGp2crx0C/WGiJeUnHGw5X0du4fisbrNJHmVVFwcJbBMjbfXKWq+JSzl8fo/JV3F1LqtjsnawKA2A==
- dependencies:
- chalk "^4.1.2"
- semver "^7.6.0"
-
"@jsii/check-node@1.103.1":
version "1.103.1"
resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.103.1.tgz#6eb9147993b9f035ae1730c5821a75872a5e4928"
@@ -631,7 +615,7 @@
chalk "^4.1.2"
semver "^7.6.3"
-"@jsii/spec@^1.100.0", "@jsii/spec@^1.101.0", "@jsii/spec@^1.103.1":
+"@jsii/spec@^1.103.1":
version "1.103.1"
resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.103.1.tgz#2f8e61c603238c56d30d26100eb7ee9f51aa35b8"
integrity sha512-14OGYM3DjEBjUOUaih+bwPgkhFnR8L9TSNSM0oE0L0hjWscTapvClqOgMDJ1ID52qkROCAgKl1d71Vmm4v0Buw==
@@ -936,10 +920,10 @@
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
-"@xmldom/xmldom@^0.8.10":
- version "0.8.10"
- resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
- integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
+"@xmldom/xmldom@^0.9.0":
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.9.2.tgz#e3a8714867b47fbab5d2f314f4d598fdd44bb494"
+ integrity sha512-afP3lpLtalPxgNGU4bxlsru4wSDsZwdSFKnHs6PR0q3KIEWWcAlBqAdx4aWlVtP1gV1FBWlJ3d0MgaRRdj/ucA==
JSONStream@^1.3.5:
version "1.3.5"
@@ -1459,7 +1443,7 @@ commit-and-tag-version@^12:
yaml "^2.4.1"
yargs "^17.7.2"
-commonmark@^0.31.0, commonmark@^0.31.1:
+commonmark@^0.31.1:
version "0.31.2"
resolved "https://registry.yarnpkg.com/commonmark/-/commonmark-0.31.2.tgz#9d8d5439c82c9a235154d858a53e1a7965d573a5"
integrity sha512-2fRLTyb9r/2835k5cwcAwOj0DEc44FARnMp5veGsJ+mEAZdi52sNopLu07ZyElQUz058H43whzlERDIaaSw4rg==
@@ -3505,42 +3489,42 @@ jsii-reflect@^1.103.1:
oo-ascii-tree "^1.103.1"
yargs "^16.2.0"
-jsii-rosetta@~5.2:
- version "5.2.17"
- resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.2.17.tgz#a893259ce46c941c5edefbeaae5b57e67b351bc8"
- integrity sha512-P5Z/8FM6b8iHTQjVIpzl8TpubE2lm72jtOwslqeqJ6Lkn/oifI7ruD7Kwu+do+G4TOQeARO6ZDej9ShNIGt6Mw==
+jsii-rosetta@~5.5:
+ version "5.5.5"
+ resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.5.5.tgz#0205967c02d07599120053bae34caff4ed2226c3"
+ integrity sha512-eXkY5eJck2XPd+xk6f4uRQ1S1d5/on2GO1H1Rr6WkJW7E51FXltpsmPaXzrAtvNd6doBNd6/X1CM4otEt/nnBA==
dependencies:
- "@jsii/check-node" "1.100.0"
- "@jsii/spec" "^1.100.0"
- "@xmldom/xmldom" "^0.8.10"
+ "@jsii/check-node" "1.103.1"
+ "@jsii/spec" "^1.103.1"
+ "@xmldom/xmldom" "^0.9.0"
chalk "^4"
- commonmark "^0.31.0"
+ commonmark "^0.31.1"
fast-glob "^3.3.2"
- jsii "~5.2.0"
- semver "^7.6.2"
+ jsii "~5.5.0"
+ semver "^7.6.3"
semver-intersect "^1.5.0"
stream-json "^1.8.0"
- typescript "~5.2"
+ typescript "~5.5"
workerpool "^6.5.1"
yargs "^17.7.2"
-jsii@~5.2, jsii@~5.2.0:
- version "5.2.51"
- resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.2.51.tgz#280853b48e4470eb7aad694f4e4f4bd5d4984992"
- integrity sha512-F0tt1K+TaRCtp8tUl5IjlNQkRzqILAOP/amSvh1mVCvdO0RHHPpoLn3mg4l/NL7FU9kl7GzIZuhdpitAUK+73w==
+jsii@~5.5, jsii@~5.5.0:
+ version "5.5.4"
+ resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.5.4.tgz#c84493ea424f6dfd34044fb2903fa85b7d9e6b78"
+ integrity sha512-ftEKVacc0kLrxCJyCeVJ+C5JYpUY5GBpy4ckt1LgblYQWa1CDu+5qUn2MvD5k8AwnDp36Dm6iQKislhSTOxBkA==
dependencies:
- "@jsii/check-node" "1.101.0"
- "@jsii/spec" "^1.101.0"
+ "@jsii/check-node" "1.103.1"
+ "@jsii/spec" "^1.103.1"
case "^1.6.3"
chalk "^4"
downlevel-dts "^0.11.0"
fast-deep-equal "^3.1.3"
log4js "^6.9.1"
- semver "^7.6.2"
+ semver "^7.6.3"
semver-intersect "^1.5.0"
sort-json "^2.0.1"
spdx-license-list "^6.9.0"
- typescript "~5.2"
+ typescript "~5.5"
yargs "^17.7.2"
json-buffer@3.0.1:
@@ -4476,7 +4460,7 @@ semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3:
+semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -4997,10 +4981,10 @@ typescript@next:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.0-dev.20240919.tgz#6a77d779655baaf8b9c05f2f2f12699a00711e36"
integrity sha512-hzuZjwffJIBTk6C9Wfy3Po9tr4MrlVs3b4/J6nVGGDC4YQLziFZploV6ID4ljdpz2O5N2MNlPWxRxntHcldr+g==
-typescript@~5.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
- integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
+typescript@~5.5:
+ version "5.5.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
+ integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
uglify-js@^3.1.4:
version "3.19.3"