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"