@pepperize/projen-awscdk-construct
Version:
This project provides a projen project type providing presets for an AWS CDK construct library project
1,599 lines • 57.5 kB
Markdown
# API Reference <a name="API Reference" id="api-reference"></a>
## Constructs <a name="Constructs" id="Constructs"></a>
### AwsCdkConstructLibrary <a name="AwsCdkConstructLibrary" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary"></a>
#### Initializers <a name="Initializers" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.Initializer"></a>
```typescript
import { AwsCdkConstructLibrary } from '@pepperize/projen-awscdk-construct'
new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.Initializer.parameter.options">options</a></code> | <code>projen.awscdk.AwsCdkConstructLibraryOptions</code> | *No description.* |
---
##### `options`<sup>Required</sup> <a name="options" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.Initializer.parameter.options"></a>
- *Type:* projen.awscdk.AwsCdkConstructLibraryOptions
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTask">addTask</a></code> | Adds a new task to this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeTask">removeTask</a></code> | Removes a task from a project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.synth">synth</a></code> | Synthesize all project files into `outdir`. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBins">addBins</a></code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDeps">addDeps</a></code> | Defines normal dependencies. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addFields">addFields</a></code> | Directly set fields in `package.json`. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkDependencies">addCdkDependencies</a></code> | Adds dependencies to AWS CDK modules. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkTestDependencies">addCdkTestDependencies</a></code> | Adds AWS CDK modules as dev dependencies. |
---
##### `toString` <a name="toString" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addExcludeFromCleanup"></a>
```typescript
public addExcludeFromCleanup(globs: ...string[]): void
```
Exclude the matching files from pre-synth cleanup.
Can be used when, for example, some
source files include the projen marker and we don't want them to be erased during synth.
###### `globs`<sup>Required</sup> <a name="globs" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addExcludeFromCleanup.parameter.globs"></a>
- *Type:* ...string[]
The glob patterns to match.
---
##### `addGitIgnore` <a name="addGitIgnore" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addGitIgnore"></a>
```typescript
public addGitIgnore(pattern: string): void
```
Adds a .gitignore pattern.
###### `pattern`<sup>Required</sup> <a name="pattern" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addGitIgnore.parameter.pattern"></a>
- *Type:* string
The glob pattern to ignore.
---
##### `addPackageIgnore` <a name="addPackageIgnore" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPackageIgnore"></a>
```typescript
public addPackageIgnore(pattern: string): void
```
Adds patterns to be ignored by npm.
###### `pattern`<sup>Required</sup> <a name="pattern" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPackageIgnore.parameter.pattern"></a>
- *Type:* string
The pattern to ignore.
---
##### `addTask` <a name="addTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTask"></a>
```typescript
public addTask(name: string, props?: TaskOptions): Task
```
Adds a new task to this project.
This will fail if the project already has
a task with this name.
###### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTask.parameter.name"></a>
- *Type:* string
The task name to add.
---
###### `props`<sup>Optional</sup> <a name="props" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTask.parameter.props"></a>
- *Type:* projen.TaskOptions
Task properties.
---
##### ~~`addTip`~~ <a name="addTip" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTip"></a>
```typescript
public addTip(message: string): void
```
Prints a "tip" message during synthesis.
###### `message`<sup>Required</sup> <a name="message" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTip.parameter.message"></a>
- *Type:* string
The message.
---
##### `annotateGenerated` <a name="annotateGenerated" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.annotateGenerated"></a>
```typescript
public annotateGenerated(glob: string): void
```
Marks the provided file(s) as being generated.
This is achieved using the
github-linguist attributes. Generated files do not count against the
repository statistics and language breakdown.
> [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
###### `glob`<sup>Required</sup> <a name="glob" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.annotateGenerated.parameter.glob"></a>
- *Type:* string
the glob pattern to match (could be a file path).
---
##### `postSynthesize` <a name="postSynthesize" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.postSynthesize"></a>
```typescript
public postSynthesize(): void
```
Called after all components are synthesized.
Order is *not* guaranteed.
##### `preSynthesize` <a name="preSynthesize" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.preSynthesize"></a>
```typescript
public preSynthesize(): void
```
Called before all components are synthesized.
##### `removeTask` <a name="removeTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeTask"></a>
```typescript
public removeTask(name: string): Task
```
Removes a task from a project.
###### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeTask.parameter.name"></a>
- *Type:* string
The name of the task to remove.
---
##### `runTaskCommand` <a name="runTaskCommand" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.runTaskCommand"></a>
```typescript
public runTaskCommand(task: Task): string
```
Returns the shell command to execute in order to run a task.
This will
typically be `npx projen TASK`.
###### `task`<sup>Required</sup> <a name="task" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.runTaskCommand.parameter.task"></a>
- *Type:* projen.Task
The task for which the command is required.
---
##### `synth` <a name="synth" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.synth"></a>
```typescript
public synth(): void
```
Synthesize all project files into `outdir`.
1. Call "this.preSynthesize()"
2. Delete all generated files
3. Synthesize all subprojects
4. Synthesize all components of this project
5. Call "postSynthesize()" for all components of this project
6. Call "this.postSynthesize()"
##### `tryFindFile` <a name="tryFindFile" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindFile"></a>
```typescript
public tryFindFile(filePath: string): FileBase
```
Finds a file at the specified relative path within this project and all its subprojects.
###### `filePath`<sup>Required</sup> <a name="filePath" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindFile.parameter.filePath"></a>
- *Type:* string
The file path.
If this path is relative, it will be resolved
from the root of _this_ project.
---
##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindJsonFile"></a>
```typescript
public tryFindJsonFile(filePath: string): JsonFile
```
Finds a json file by name.
###### `filePath`<sup>Required</sup> <a name="filePath" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindJsonFile.parameter.filePath"></a>
- *Type:* string
The file path.
---
##### `tryFindObjectFile` <a name="tryFindObjectFile" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindObjectFile"></a>
```typescript
public tryFindObjectFile(filePath: string): ObjectFile
```
Finds an object file (like JsonFile, YamlFile, etc.) by name.
###### `filePath`<sup>Required</sup> <a name="filePath" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryFindObjectFile.parameter.filePath"></a>
- *Type:* string
The file path.
---
##### `tryRemoveFile` <a name="tryRemoveFile" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryRemoveFile"></a>
```typescript
public tryRemoveFile(filePath: string): FileBase
```
Finds a file at the specified relative path within this project and removes it.
###### `filePath`<sup>Required</sup> <a name="filePath" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.tryRemoveFile.parameter.filePath"></a>
- *Type:* string
The file path.
If this path is relative, it will be
resolved from the root of _this_ project.
---
##### `addBins` <a name="addBins" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBins"></a>
```typescript
public addBins(bins: {[ key: string ]: string}): void
```
###### `bins`<sup>Required</sup> <a name="bins" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBins.parameter.bins"></a>
- *Type:* {[ key: string ]: string}
---
##### `addBundledDeps` <a name="addBundledDeps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBundledDeps"></a>
```typescript
public addBundledDeps(deps: ...string[]): void
```
Defines bundled dependencies.
Bundled dependencies will be added as normal dependencies as well as to the
`bundledDependencies` section of your `package.json`.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addBundledDeps.parameter.deps"></a>
- *Type:* ...string[]
Names modules to install.
By default, the the dependency will
be installed in the next `npx projen` run and the version will be recorded
in your `package.json` file. You can upgrade manually or using `yarn
add/upgrade`. If you wish to specify a version range use this syntax:
`module@^7`.
---
##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCompileCommand"></a>
```typescript
public addCompileCommand(commands: ...string[]): void
```
DEPRECATED.
###### `commands`<sup>Required</sup> <a name="commands" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCompileCommand.parameter.commands"></a>
- *Type:* ...string[]
---
##### `addDeps` <a name="addDeps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDeps"></a>
```typescript
public addDeps(deps: ...string[]): void
```
Defines normal dependencies.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDeps.parameter.deps"></a>
- *Type:* ...string[]
Names modules to install.
By default, the the dependency will
be installed in the next `npx projen` run and the version will be recorded
in your `package.json` file. You can upgrade manually or using `yarn
add/upgrade`. If you wish to specify a version range use this syntax:
`module@^7`.
---
##### `addDevDeps` <a name="addDevDeps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDevDeps"></a>
```typescript
public addDevDeps(deps: ...string[]): void
```
Defines development/test dependencies.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addDevDeps.parameter.deps"></a>
- *Type:* ...string[]
Names modules to install.
By default, the the dependency will
be installed in the next `npx projen` run and the version will be recorded
in your `package.json` file. You can upgrade manually or using `yarn
add/upgrade`. If you wish to specify a version range use this syntax:
`module@^7`.
---
##### `addFields` <a name="addFields" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addFields"></a>
```typescript
public addFields(fields: {[ key: string ]: any}): void
```
Directly set fields in `package.json`.
###### `fields`<sup>Required</sup> <a name="fields" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addFields.parameter.fields"></a>
- *Type:* {[ key: string ]: any}
The fields to set.
---
##### `addKeywords` <a name="addKeywords" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addKeywords"></a>
```typescript
public addKeywords(keywords: ...string[]): void
```
Adds keywords to package.json (deduplicated).
###### `keywords`<sup>Required</sup> <a name="keywords" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addKeywords.parameter.keywords"></a>
- *Type:* ...string[]
The keywords to add.
---
##### `addPeerDeps` <a name="addPeerDeps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPeerDeps"></a>
```typescript
public addPeerDeps(deps: ...string[]): void
```
Defines peer dependencies.
When adding peer dependencies, a devDependency will also be added on the
pinned version of the declared peer. This will ensure that you are testing
your code against the minimum version required from your consumers.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addPeerDeps.parameter.deps"></a>
- *Type:* ...string[]
Names modules to install.
By default, the the dependency will
be installed in the next `npx projen` run and the version will be recorded
in your `package.json` file. You can upgrade manually or using `yarn
add/upgrade`. If you wish to specify a version range use this syntax:
`module@^7`.
---
##### `addScripts` <a name="addScripts" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addScripts"></a>
```typescript
public addScripts(scripts: {[ key: string ]: string}): void
```
Replaces the contents of multiple npm package.json scripts.
###### `scripts`<sup>Required</sup> <a name="scripts" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addScripts.parameter.scripts"></a>
- *Type:* {[ key: string ]: string}
The scripts to set.
---
##### ~~`addTestCommand`~~ <a name="addTestCommand" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTestCommand"></a>
```typescript
public addTestCommand(commands: ...string[]): void
```
DEPRECATED.
###### `commands`<sup>Required</sup> <a name="commands" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addTestCommand.parameter.commands"></a>
- *Type:* ...string[]
---
##### ~~`hasScript`~~ <a name="hasScript" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.hasScript"></a>
```typescript
public hasScript(name: string): boolean
```
Indicates if a script by the name name is defined.
###### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.hasScript.parameter.name"></a>
- *Type:* string
The name of the script.
---
##### `removeScript` <a name="removeScript" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeScript"></a>
```typescript
public removeScript(name: string): void
```
Removes the npm script (always successful).
###### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.removeScript.parameter.name"></a>
- *Type:* string
The name of the script.
---
##### `renderWorkflowSetup` <a name="renderWorkflowSetup" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.renderWorkflowSetup"></a>
```typescript
public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
```
Returns the set of workflow steps which should be executed to bootstrap a workflow.
###### `options`<sup>Optional</sup> <a name="options" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.renderWorkflowSetup.parameter.options"></a>
- *Type:* projen.javascript.RenderWorkflowSetupOptions
Options.
---
##### `setScript` <a name="setScript" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.setScript"></a>
```typescript
public setScript(name: string, command: string): void
```
Replaces the contents of an npm package.json script.
###### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.setScript.parameter.name"></a>
- *Type:* string
The script name.
---
###### `command`<sup>Required</sup> <a name="command" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.setScript.parameter.command"></a>
- *Type:* string
The command to execute.
---
##### ~~`addCdkDependencies`~~ <a name="addCdkDependencies" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkDependencies"></a>
```typescript
public addCdkDependencies(deps: ...string[]): void
```
Adds dependencies to AWS CDK modules.
Since this is a library project, dependencies will be added as peer dependencies.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkDependencies.parameter.deps"></a>
- *Type:* ...string[]
names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
---
##### ~~`addCdkTestDependencies`~~ <a name="addCdkTestDependencies" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkTestDependencies"></a>
```typescript
public addCdkTestDependencies(deps: ...string[]): void
```
Adds AWS CDK modules as dev dependencies.
###### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.addCdkTestDependencies.parameter.deps"></a>
- *Type:* ...string[]
names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
---
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isProject">isProject</a></code> | Test whether the given construct is a project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.of">of</a></code> | Find the closest ancestor project for given construct. |
---
##### `isConstruct` <a name="isConstruct" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isConstruct"></a>
```typescript
import { AwsCdkConstructLibrary } from '@pepperize/projen-awscdk-construct'
AwsCdkConstructLibrary.isConstruct(x: any)
```
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
##### `isProject` <a name="isProject" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isProject"></a>
```typescript
import { AwsCdkConstructLibrary } from '@pepperize/projen-awscdk-construct'
AwsCdkConstructLibrary.isProject(x: any)
```
Test whether the given construct is a project.
###### `x`<sup>Required</sup> <a name="x" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.isProject.parameter.x"></a>
- *Type:* any
---
##### `of` <a name="of" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.of"></a>
```typescript
import { AwsCdkConstructLibrary } from '@pepperize/projen-awscdk-construct'
AwsCdkConstructLibrary.of(construct: IConstruct)
```
Find the closest ancestor project for given construct.
When given a project, this it the project itself.
###### `construct`<sup>Required</sup> <a name="construct" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.of.parameter.construct"></a>
- *Type:* constructs.IConstruct
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildTask">buildTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.compileTask">compileTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.components">components</a></code> | <code>projen.Component[]</code> | Returns all the components within this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.deps">deps</a></code> | <code>projen.Dependencies</code> | Project dependencies. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.ejected">ejected</a></code> | <code>boolean</code> | Whether or not the project is being ejected. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.files">files</a></code> | <code>projen.FileBase[]</code> | All files in this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitattributes">gitattributes</a></code> | <code>projen.GitAttributesFile</code> | The .gitattributes file for this repository. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitignore">gitignore</a></code> | <code>projen.IgnoreFile</code> | .gitignore. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.logger">logger</a></code> | <code>projen.Logger</code> | Logging utilities. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.name">name</a></code> | <code>string</code> | Project name. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.outdir">outdir</a></code> | <code>string</code> | Absolute output directory of this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.packageTask">packageTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.postCompileTask">postCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.preCompileTask">preCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projectBuild">projectBuild</a></code> | <code>projen.ProjectBuild</code> | Manages the build process of the project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projenCommand">projenCommand</a></code> | <code>string</code> | The command to use in order to run the projen CLI. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.root">root</a></code> | <code>projen.Project</code> | The root project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.subprojects">subprojects</a></code> | <code>projen.Project[]</code> | Returns all the subprojects within this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tasks">tasks</a></code> | <code>projen.Tasks</code> | Project tasks. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.testTask">testTask</a></code> | <code>projen.Task</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.runScriptCommand">runScriptCommand</a></code> | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version supported by this package. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.docsDirectory">docsDirectory</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.libdir">libdir</a></code> | <code>string</code> | The directory in which compiled .js files reside. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.srcdir">srcdir</a></code> | <code>string</code> | The directory in which the .ts sources reside. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.testdir">testdir</a></code> | <code>string</code> | The directory in which tests reside. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfig</code> | A typescript configuration file which covers all files (sources, tests, projen). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.watchTask">watchTask</a></code> | <code>projen.Task</code> | The "watch" task. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.docgen">docgen</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.eslint">eslint</a></code> | <code>projen.javascript.Eslint</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfig">tsconfig</a></code> | <code>projen.javascript.TypescriptConfig</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfigEslint">tsconfigEslint</a></code> | <code>projen.javascript.TypescriptConfig</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.cdkDeps">cdkDeps</a></code> | <code>projen.awscdk.AwsCdkDeps</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | The target CDK version for this library. |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.version">version</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.formatTask">formatTask</a></code> | <code>projen.Task</code> | The "format" task. |
---
##### `node`<sup>Required</sup> <a name="node" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `buildTask`<sup>Required</sup> <a name="buildTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildTask"></a>
```typescript
public readonly buildTask: Task;
```
- *Type:* projen.Task
---
##### `commitGenerated`<sup>Required</sup> <a name="commitGenerated" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.commitGenerated"></a>
```typescript
public readonly commitGenerated: boolean;
```
- *Type:* boolean
Whether to commit the managed files by default.
---
##### `compileTask`<sup>Required</sup> <a name="compileTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.compileTask"></a>
```typescript
public readonly compileTask: Task;
```
- *Type:* projen.Task
---
##### `components`<sup>Required</sup> <a name="components" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.components"></a>
```typescript
public readonly components: Component[];
```
- *Type:* projen.Component[]
Returns all the components within this project.
---
##### `deps`<sup>Required</sup> <a name="deps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.deps"></a>
```typescript
public readonly deps: Dependencies;
```
- *Type:* projen.Dependencies
Project dependencies.
---
##### `ejected`<sup>Required</sup> <a name="ejected" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.ejected"></a>
```typescript
public readonly ejected: boolean;
```
- *Type:* boolean
Whether or not the project is being ejected.
---
##### `files`<sup>Required</sup> <a name="files" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.files"></a>
```typescript
public readonly files: FileBase[];
```
- *Type:* projen.FileBase[]
All files in this project.
---
##### `gitattributes`<sup>Required</sup> <a name="gitattributes" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitattributes"></a>
```typescript
public readonly gitattributes: GitAttributesFile;
```
- *Type:* projen.GitAttributesFile
The .gitattributes file for this repository.
---
##### `gitignore`<sup>Required</sup> <a name="gitignore" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitignore"></a>
```typescript
public readonly gitignore: IgnoreFile;
```
- *Type:* projen.IgnoreFile
.gitignore.
---
##### `logger`<sup>Required</sup> <a name="logger" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.logger"></a>
```typescript
public readonly logger: Logger;
```
- *Type:* projen.Logger
Logging utilities.
---
##### `name`<sup>Required</sup> <a name="name" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.name"></a>
```typescript
public readonly name: string;
```
- *Type:* string
Project name.
---
##### `outdir`<sup>Required</sup> <a name="outdir" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.outdir"></a>
```typescript
public readonly outdir: string;
```
- *Type:* string
Absolute output directory of this project.
---
##### `packageTask`<sup>Required</sup> <a name="packageTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.packageTask"></a>
```typescript
public readonly packageTask: Task;
```
- *Type:* projen.Task
---
##### `postCompileTask`<sup>Required</sup> <a name="postCompileTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.postCompileTask"></a>
```typescript
public readonly postCompileTask: Task;
```
- *Type:* projen.Task
---
##### `preCompileTask`<sup>Required</sup> <a name="preCompileTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.preCompileTask"></a>
```typescript
public readonly preCompileTask: Task;
```
- *Type:* projen.Task
---
##### `projectBuild`<sup>Required</sup> <a name="projectBuild" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projectBuild"></a>
```typescript
public readonly projectBuild: ProjectBuild;
```
- *Type:* projen.ProjectBuild
Manages the build process of the project.
---
##### `projenCommand`<sup>Required</sup> <a name="projenCommand" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projenCommand"></a>
```typescript
public readonly projenCommand: string;
```
- *Type:* string
The command to use in order to run the projen CLI.
---
##### `root`<sup>Required</sup> <a name="root" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.root"></a>
```typescript
public readonly root: Project;
```
- *Type:* projen.Project
The root project.
---
##### `subprojects`<sup>Required</sup> <a name="subprojects" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.subprojects"></a>
```typescript
public readonly subprojects: Project[];
```
- *Type:* projen.Project[]
Returns all the subprojects within this project.
---
##### `tasks`<sup>Required</sup> <a name="tasks" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tasks"></a>
```typescript
public readonly tasks: Tasks;
```
- *Type:* projen.Tasks
Project tasks.
---
##### `testTask`<sup>Required</sup> <a name="testTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.testTask"></a>
```typescript
public readonly testTask: Task;
```
- *Type:* projen.Task
---
##### `defaultTask`<sup>Optional</sup> <a name="defaultTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.defaultTask"></a>
```typescript
public readonly defaultTask: Task;
```
- *Type:* projen.Task
This is the "default" task, the one that executes "projen".
Undefined if
the project is being ejected.
---
##### `initProject`<sup>Optional</sup> <a name="initProject" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.initProject"></a>
```typescript
public readonly initProject: InitProject;
```
- *Type:* projen.InitProject
The options used when this project is bootstrapped via `projen new`.
It
includes the original set of options passed to the CLI and also the JSII
FQN of the project type.
---
##### `parent`<sup>Optional</sup> <a name="parent" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.parent"></a>
```typescript
public readonly parent: Project;
```
- *Type:* projen.Project
A parent project.
If undefined, this is the root project.
---
##### `projectType`<sup>Required</sup> <a name="projectType" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.projectType"></a>
```typescript
public readonly projectType: ProjectType;
```
- *Type:* projen.ProjectType
---
##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.autoApprove"></a>
```typescript
public readonly autoApprove: AutoApprove;
```
- *Type:* projen.github.AutoApprove
Auto approve set up for this project.
---
##### `devContainer`<sup>Optional</sup> <a name="devContainer" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.devContainer"></a>
```typescript
public readonly devContainer: DevContainer;
```
- *Type:* projen.vscode.DevContainer
Access for .devcontainer.json (used for GitHub Codespaces).
This will be `undefined` if devContainer boolean is false
---
##### `github`<sup>Optional</sup> <a name="github" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.github"></a>
```typescript
public readonly github: GitHub;
```
- *Type:* projen.github.GitHub
Access all github components.
This will be `undefined` for subprojects.
---
##### `gitpod`<sup>Optional</sup> <a name="gitpod" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.gitpod"></a>
```typescript
public readonly gitpod: Gitpod;
```
- *Type:* projen.Gitpod
Access for Gitpod.
This will be `undefined` if gitpod boolean is false
---
##### `vscode`<sup>Optional</sup> <a name="vscode" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.vscode"></a>
```typescript
public readonly vscode: VsCode;
```
- *Type:* projen.vscode.VsCode
Access all VSCode components.
This will be `undefined` for subprojects.
---
##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.allowLibraryDependencies"></a>
- *Deprecated:* use `package.allowLibraryDependencies`
```typescript
public readonly allowLibraryDependencies: boolean;
```
- *Type:* boolean
---
##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.artifactsDirectory"></a>
```typescript
public readonly artifactsDirectory: string;
```
- *Type:* string
The build output directory.
An npm tarball will be created under the `js`
subdirectory. For example, if this is set to `dist` (the default), the npm
tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
---
##### `artifactsJavascriptDirectory`<sup>Required</sup> <a name="artifactsJavascriptDirectory" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.artifactsJavascriptDirectory"></a>
```typescript
public readonly artifactsJavascriptDirectory: string;
```
- *Type:* string
The location of the npm tarball after build (`${artifactsDirectory}/js`).
---
##### `bundler`<sup>Required</sup> <a name="bundler" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.bundler"></a>
```typescript
public readonly bundler: Bundler;
```
- *Type:* projen.javascript.Bundler
---
##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.entrypoint"></a>
- *Deprecated:* use `package.entrypoint`
```typescript
public readonly entrypoint: string;
```
- *Type:* string
---
##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.manifest"></a>
- *Deprecated:* use `package.addField(x, y)`
```typescript
public readonly manifest: any;
```
- *Type:* any
---
##### `npmrc`<sup>Required</sup> <a name="npmrc" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.npmrc"></a>
```typescript
public readonly npmrc: NpmConfig;
```
- *Type:* projen.javascript.NpmConfig
The .npmrc file.
---
##### `package`<sup>Required</sup> <a name="package" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.package"></a>
```typescript
public readonly package: NodePackage;
```
- *Type:* projen.javascript.NodePackage
API for managing the node package.
---
##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.packageManager"></a>
- *Deprecated:* use `package.packageManager`
```typescript
public readonly packageManager: NodePackageManager;
```
- *Type:* projen.javascript.NodePackageManager
The package manager to use.
---
##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.runScriptCommand"></a>
```typescript
public readonly runScriptCommand: string;
```
- *Type:* string
The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
---
##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.autoMerge"></a>
```typescript
public readonly autoMerge: AutoMerge;
```
- *Type:* projen.github.AutoMerge
Component that sets up mergify for merging approved pull requests.
---
##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildWorkflow"></a>
```typescript
public readonly buildWorkflow: BuildWorkflow;
```
- *Type:* projen.build.BuildWorkflow
The PR build GitHub workflow.
`undefined` if `buildWorkflow` is disabled.
---
##### `buildWorkflowJobId`<sup>Optional</sup> <a name="buildWorkflowJobId" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.buildWorkflowJobId"></a>
```typescript
public readonly buildWorkflowJobId: string;
```
- *Type:* string
The job ID of the build workflow.
---
##### `jest`<sup>Optional</sup> <a name="jest" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.jest"></a>
```typescript
public readonly jest: Jest;
```
- *Type:* projen.javascript.Jest
The Jest configuration (if enabled).
---
##### `maxNodeVersion`<sup>Optional</sup> <a name="maxNodeVersion" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.maxNodeVersion"></a>
```typescript
public readonly maxNodeVersion: string;
```
- *Type:* string
Maximum node version supported by this package.
The value indicates the package is incompatible with newer versions.
---
##### `minNodeVersion`<sup>Optional</sup> <a name="minNodeVersion" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.minNodeVersion"></a>
```typescript
public readonly minNodeVersion: string;
```
- *Type:* string
The minimum node version required by this package to function.
This value indicates the package is incompatible with older versions.
---
##### `npmignore`<sup>Optional</sup> <a name="npmignore" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.npmignore"></a>
```typescript
public readonly npmignore: IgnoreFile;
```
- *Type:* projen.IgnoreFile
The .npmignore file.
---
##### `prettier`<sup>Optional</sup> <a name="prettier" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.prettier"></a>
```typescript
public readonly prettier: Prettier;
```
- *Type:* projen.javascript.Prettier
---
##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.publisher"></a>
- *Deprecated:* use `release.publisher`.
```typescript
public readonly publisher: Publisher;
```
- *Type:* projen.release.Publisher
Package publisher.
This will be `undefined` if the project does not have a
release workflow.
---
##### `release`<sup>Optional</sup> <a name="release" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.release"></a>
```typescript
public readonly release: Release;
```
- *Type:* projen.release.Release
Release management.
---
##### `upgradeWorkflow`<sup>Optional</sup> <a name="upgradeWorkflow" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.upgradeWorkflow"></a>
```typescript
public readonly upgradeWorkflow: UpgradeDependencies;
```
- *Type:* projen.javascript.UpgradeDependencies
The upgrade workflow.
---
##### `docsDirectory`<sup>Required</sup> <a name="docsDirectory" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.docsDirectory"></a>
```typescript
public readonly docsDirectory: string;
```
- *Type:* string
---
##### `libdir`<sup>Required</sup> <a name="libdir" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.libdir"></a>
```typescript
public readonly libdir: string;
```
- *Type:* string
The directory in which compiled .js files reside.
---
##### `srcdir`<sup>Required</sup> <a name="srcdir" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.srcdir"></a>
```typescript
public readonly srcdir: string;
```
- *Type:* string
The directory in which the .ts sources reside.
---
##### `testdir`<sup>Required</sup> <a name="testdir" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.testdir"></a>
```typescript
public readonly testdir: string;
```
- *Type:* string
The directory in which tests reside.
---
##### `tsconfigDev`<sup>Required</sup> <a name="tsconfigDev" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfigDev"></a>
```typescript
public readonly tsconfigDev: TypescriptConfig;
```
- *Type:* projen.javascript.TypescriptConfig
A typescript configuration file which covers all files (sources, tests, projen).
---
##### `watchTask`<sup>Required</sup> <a name="watchTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.watchTask"></a>
```typescript
public readonly watchTask: Task;
```
- *Type:* projen.Task
The "watch" task.
---
##### `docgen`<sup>Optional</sup> <a name="docgen" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.docgen"></a>
```typescript
public readonly docgen: boolean;
```
- *Type:* boolean
---
##### `eslint`<sup>Optional</sup> <a name="eslint" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.eslint"></a>
```typescript
public readonly eslint: Eslint;
```
- *Type:* projen.javascript.Eslint
---
##### `tsconfig`<sup>Optional</sup> <a name="tsconfig" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfig"></a>
```typescript
public readonly tsconfig: TypescriptConfig;
```
- *Type:* projen.javascript.TypescriptConfig
---
##### `tsconfigEslint`<sup>Optional</sup> <a name="tsconfigEslint" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.tsconfigEslint"></a>
```typescript
public readonly tsconfigEslint: TypescriptConfig;
```
- *Type:* projen.javascript.TypescriptConfig
---
##### `cdkDeps`<sup>Required</sup> <a name="cdkDeps" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.cdkDeps"></a>
```typescript
public readonly cdkDeps: AwsCdkDeps;
```
- *Type:* projen.awscdk.AwsCdkDeps
---
##### `cdkVersion`<sup>Required</sup> <a name="cdkVersion" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.cdkVersion"></a>
```typescript
public readonly cdkVersion: string;
```
- *Type:* string
The target CDK version for this library.
---
##### ~~`version`~~<sup>Required</sup> <a name="version" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.version"></a>
- *Deprecated:* use `cdkVersion`
```typescript
public readonly version: string;
```
- *Type:* string
---
##### `formatTask`<sup>Required</sup> <a name="formatTask" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.formatTask"></a>
```typescript
public readonly formatTask: Task;
```
- *Type:* projen.Task
The "format" task.
---
#### Constants <a name="Constants" id="Constants"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.DEFAULT_TASK">DEFAULT_TASK</a></code> | <code>string</code> | The name of the default task (the task executed when `projen` is run without arguments). |
| <code><a href="#@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.DEFAULT_TS_JEST_TRANFORM_PATTERN">DEFAULT_TS_JEST_TRANFORM_PATTERN</a></code> | <code>string</code> | *No description.* |
---
##### `DEFAULT_TASK`<sup>Required</sup> <a name="DEFAULT_TASK" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.DEFAULT_TASK"></a>
```typescript
public readonly DEFAULT_TASK: string;
```
- *Type:* string
The name of the default task (the task executed when `projen` is run without arguments).
Normally
this task should synthesize the project files.
---
##### `DEFAULT_TS_JEST_TRANFORM_PATTERN`<sup>Required</sup> <a name="DEFAULT_TS_JEST_TRANFORM_PATTERN" id="@pepperize/projen-awscdk-construct.AwsCdkConstructLibrary.property.DEFAULT_TS_JEST_TRANFORM_PATTERN"></a>
```typescript
public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
```
- *Type:* string
---