### Hierarchy

- NodeProject
  - LernaProject

## Index

### Constructors

- constructor

### Properties

- antitamper
- autoApprove
- autoMerge
- buildTask
- buildWorkflow
- buildWorkflowJobId
- compileTask
- deps
- devContainer
- gitattributes
- github
- gitignore
- gitpod
- jest
- logger
- name
- newProject
- npmDistTag
- npmRegistry
- npmignore
- outdir
- package
- parent
- projectType
- publisher
- release
- root
- runScriptCommand
- subProjects
- tasks
- testCompileTask
- testTask
- vscode
- DEFAULT_TASK

### Accessors

- allowLibraryDependencies
- components
- entrypoint
- files
- installWorkflowSteps
- manifest
- maxNodeVersion
- minNodeVersion
- packageManager
- projenCommand

### Methods

- addBins
- addBuildCommand
- addBundledDeps
- addCompileCommand
- addDeps
- addDevDeps
- addExcludeFromCleanup
- addFields
- addGitIgnore
- addKeywords
- addPackageIgnore
- addPeerDeps
- addSubProject
- addTask
- addTestCommand
- addTip
- annotateGenerated
- hasScript
- postSynthesize
- preSynthesize
- removeScript
- removeTask
- runTaskCommand
- setScript
- synth
- tryFindFile
- tryFindJsonFile
- tryFindObjectFile

## Constructors

### constructor

- new LernaProject(options: LernaProjectOptions): LernaProject

- Overrides NodeProject.constructor

  #### Parameters

  - ##### options: LernaProjectOptions

  #### Returns LernaProject

## Properties

### Readonly antitamper

antitamper: boolean

Inherited from NodeProject.antitamper

(experimental) Indicates if workflows have anti-tamper checks.

experimental

### Optional Readonly autoApprove

autoApprove: AutoApprove

Inherited from NodeProject.autoApprove

(deprecated) Auto approve set up for this project.

deprecated

### Optional Readonly autoMerge

autoMerge: AutoMerge

Inherited from NodeProject.autoMerge

(experimental) Automatic PR merges.

experimental

### Readonly buildTask

buildTask: Task

Inherited from NodeProject.buildTask

(experimental) The task responsible for a full release build.

It spawns: compile + test + release + package

experimental

### Optional Readonly buildWorkflow

buildWorkflow: TaskWorkflow

Inherited from NodeProject.buildWorkflow

(experimental) The PR build GitHub workflow.

`undefined` if `buildWorkflow` is disabled.

experimental

### Optional Readonly buildWorkflowJobId

buildWorkflowJobId: string

Inherited from NodeProject.buildWorkflowJobId

experimental

### Readonly compileTask

compileTask: Task

Inherited from NodeProject.compileTask

(experimental) Compiles the code.

By default for node.js projects this task is empty.

experimental

### Readonly deps

deps: Dependencies

Inherited from NodeProject.deps

(experimental) Project dependencies.

experimental

### Readonly devContainer

devContainer: undefined | DevContainer

Inherited from NodeProject.devContainer

(deprecated) Access for .devcontainer.json (used for GitHub Codespaces).

This will be `undefined` if devContainer boolean is false

deprecated

### Readonly gitattributes

gitattributes: GitAttributesFile

Inherited from NodeProject.gitattributes

(experimental) The .gitattributes file for this repository.

experimental

### Readonly github

github: undefined | GitHub

Inherited from NodeProject.github

(deprecated) Access all github components.

This will be `undefined` for subprojects.

deprecated

### Readonly gitignore

gitignore: IgnoreFile

Inherited from NodeProject.gitignore

(experimental) .gitignore.

experimental

### Readonly gitpod

gitpod: undefined | Gitpod

Inherited from NodeProject.gitpod

(deprecated) Access for Gitpod.

This will be `undefined` if gitpod boolean is false

deprecated

### Optional Readonly jest

jest: Jest

Inherited from NodeProject.jest

(experimental) The Jest configuration (if enabled).

experimental

### Readonly logger

logger: Logger

Inherited from NodeProject.logger

(experimental) Logging utilities.

experimental

### Readonly name

name: string

Inherited from NodeProject.name

(experimental) Project name.

experimental

### Optional Readonly newProject

newProject: NewProject

Inherited from NodeProject.newProject

(experimental) 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.

experimental

### Protected Readonly npmDistTag

npmDistTag: string

Inherited from NodeProject.npmDistTag

deprecated

  use `package.npmDistTag`

### Protected Readonly npmRegistry

npmRegistry: string

Inherited from NodeProject.npmRegistry

deprecated

  use `package.npmRegistry`

### Optional Readonly npmignore

npmignore: IgnoreFile

Inherited from NodeProject.npmignore

(experimental) The .npmignore file.

experimental

### Readonly outdir

outdir: string

Inherited from NodeProject.outdir

(experimental) Absolute output directory of this project.

experimental

### Readonly package

package: NodePackage

Inherited from NodeProject.package

(experimental) API for managing the node package.

experimental

### Optional Readonly parent

parent: Project

Inherited from NodeProject.parent

(experimental) A parent project.

If undefined, this is the root project.

experimental

### Readonly projectType

projectType: ProjectType

Inherited from NodeProject.projectType

deprecated

### Optional Readonly publisher

publisher: Publisher

Inherited from NodeProject.publisher

(deprecated) Package publisher.

This will be `undefined` if the project does not have a release workflow.

deprecated

  use `release.publisher`.

### Optional Readonly release

release: Release

Inherited from NodeProject.release

(experimental) Release management.

experimental

### Readonly root

root: Project

Inherited from NodeProject.root

(experimental) The root project.

experimental

### Readonly runScriptCommand

runScriptCommand: string

Inherited from NodeProject.runScriptCommand

(experimental) The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).

experimental

### Private subProjects

subProjects: Record<string, Project>

### Readonly tasks

tasks: Tasks

Inherited from NodeProject.tasks

(experimental) Project tasks.

experimental

### Readonly testCompileTask

testCompileTask: Task

Inherited from NodeProject.testCompileTask

(experimental) Compiles the test code.

experimental

### Readonly testTask

testTask: Task

Inherited from NodeProject.testTask

(experimental) Tests the code.

experimental

### Readonly vscode

vscode: undefined | VsCode

Inherited from NodeProject.vscode

(deprecated) Access all VSCode components.

This will be `undefined` for subprojects.

deprecated

### Static Readonly DEFAULT_TASK

DEFAULT_TASK: "default" = "default"

Inherited from NodeProject.DEFAULT_TASK

(experimental) The name of the default task (the task executed when `projen` is run without arguments).

Normally this task should synthesize the project files.

experimental

## Accessors

### allowLibraryDependencies

- get allowLibraryDependencies(): boolean

- deprecated

    use `package.allowLibraryDependencies`

  #### Returns boolean

### components

- get components(): Component[]

- (experimental) Returns all the components within this project.

  experimental

  #### Returns Component[]

### entrypoint

- get entrypoint(): string

- deprecated

    use `package.entrypoint`

  #### Returns string

### files

- get files(): FileBase[]

- (experimental) All files in this project.

  experimental

  #### Returns FileBase[]

### installWorkflowSteps

- get installWorkflowSteps(): JobStep[]

- experimental

  #### Returns JobStep[]

### manifest

- get manifest(): any

- deprecated

    use `package.addField(x, y)`

  #### Returns any

### maxNodeVersion

- get maxNodeVersion(): undefined | string

- (experimental) Maximum node version required by this pacakge.

  experimental

  #### Returns undefined | string

### minNodeVersion

- get minNodeVersion(): undefined | string

- (experimental) Minimum node.js version required by this package.

  experimental

  #### Returns undefined | string

### packageManager

- get packageManager(): NodePackageManager

- (deprecated) The package manager to use.

  deprecated

    use `package.packageManager`

  #### Returns NodePackageManager

### projenCommand

- get projenCommand(): string

- (experimental) The command to use in order to run the projen CLI.

  experimental

  #### Returns string

## Methods

### addBins

- addBins(bins: Record<string, string>): void

- Inherited from NodeProject.addBins

  experimental

  #### Parameters

  - ##### bins: Record<string, string>

  #### Returns void

### addBuildCommand

- addBuildCommand(...commands: string[]): void

- Inherited from NodeProject.addBuildCommand

  (deprecated) DEPRECATED.

  deprecated

    use `project.buildTask.exec()`

  #### Parameters

  - ##### Rest ...commands: string[]

  #### Returns void

### addBundledDeps

- addBundledDeps(...deps: string[]): void

- Inherited from NodeProject.addBundledDeps

  (experimental) Defines bundled dependencies.

  Bundled dependencies will be added as normal dependencies as well as to the `bundledDependencies` section of your `package.json`.

  experimental

  #### Parameters

  - ##### Rest ...deps: string[]

    Names modules to install.

  #### Returns void

### addCompileCommand

- addCompileCommand(...commands: string[]): void

- Inherited from NodeProject.addCompileCommand

  (deprecated) DEPRECATED.

  deprecated

    use `project.compileTask.exec()`

  #### Parameters

  - ##### Rest ...commands: string[]

  #### Returns void

### addDeps

- addDeps(...deps: string[]): void

- Inherited from NodeProject.addDeps

  (experimental) Defines normal dependencies.

  experimental

  #### Parameters

  - ##### Rest ...deps: string[]

    Names modules to install.

  #### Returns void

### addDevDeps

- addDevDeps(...deps: string[]): void

- Inherited from NodeProject.addDevDeps

  (experimental) Defines development/test dependencies.

  experimental

  #### Parameters

  - ##### Rest ...deps: string[]

    Names modules to install.

  #### Returns void

### addExcludeFromCleanup

- addExcludeFromCleanup(...globs: string[]): void

- Inherited from NodeProject.addExcludeFromCleanup

  (experimental) 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.

  experimental

  #### Parameters

  - ##### Rest ...globs: string[]

    The glob patterns to match.

  #### Returns void

### addFields

- addFields(fields: {}): void

- Inherited from NodeProject.addFields

  (experimental) Directly set fields in `package.json`.

  experimental

  #### Parameters

  - ##### fields: {}

    The fields to set.

    - ##### [name: string]: any

  #### Returns void

### addGitIgnore

- addGitIgnore(pattern: string): void

- Inherited from NodeProject.addGitIgnore

  (experimental) Adds a .gitignore pattern.

  experimental

  #### Parameters

  - ##### pattern: string

    The glob pattern to ignore.

  #### Returns void

### addKeywords

- addKeywords(...keywords: string[]): void

- Inherited from NodeProject.addKeywords

  (experimental) Adds keywords to package.json (deduplicated).

  experimental

  #### Parameters

  - ##### Rest ...keywords: string[]

    The keywords to add.

  #### Returns void

### addPackageIgnore

- addPackageIgnore(pattern: string): void

- Inherited from NodeProject.addPackageIgnore

  (experimental) Exclude these files from the bundled package.

  Implemented by project types based on the packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.

  experimental

  #### Parameters

  - ##### pattern: string

  #### Returns void

### addPeerDeps

- addPeerDeps(...deps: string[]): void

- Inherited from NodeProject.addPeerDeps

  (experimental) 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.

  experimental

  #### Parameters

  - ##### Rest ...deps: string[]

    Names modules to install.

  #### Returns void

### addSubProject

- addSubProject(subProject: Project): void

- #### Parameters

  - ##### subProject: Project

  #### Returns void

### addTask

- addTask(name: string, props?: TaskOptions): Task

- Inherited from NodeProject.addTask

  (experimental) Adds a new task to this project.

  This will fail if the project already has a task with this name.

  experimental

  #### Parameters

  - ##### name: string

    The task name to add.

  - ##### Optional props: TaskOptions

    Task properties.

  #### Returns Task

### addTestCommand

- addTestCommand(...commands: string[]): void

- Inherited from NodeProject.addTestCommand

  (deprecated) DEPRECATED.

  deprecated

    use `project.testTask.exec()`

  #### Parameters

  - ##### Rest ...commands: string[]

  #### Returns void

### addTip

- addTip(message: string): void

- Inherited from NodeProject.addTip

  (deprecated) Prints a "tip" message during synthesis.

  deprecated
    - use `project.logger.info(message)` to show messages during synthesis

  #### Parameters

  - ##### message: string

    The message.

  #### Returns void

### annotateGenerated

- annotateGenerated(glob: string): void

- Inherited from NodeProject.annotateGenerated

  (deprecated) 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.

  see

    https://github.com/github/linguist/blob/master/docs/overrides.md

  deprecated

  #### Parameters

  - ##### glob: string

    the glob pattern to match (could be a file path).

  #### Returns void

### hasScript

- hasScript(name: string): boolean

- Inherited from NodeProject.hasScript

  (experimental) Indicates if a script by the name name is defined.

  experimental

  #### Parameters

  - ##### name: string

    The name of the script.

  #### Returns boolean

### postSynthesize

- postSynthesize(): void

- Inherited from NodeProject.postSynthesize

  (experimental) Called after all components are synthesized.

  Order is not guaranteed.

  experimental

  #### Returns void

### preSynthesize

- preSynthesize(): void

- Overrides NodeProject.preSynthesize

  #### Returns void

### removeScript

- removeScript(name: string): void

- Inherited from NodeProject.removeScript

  (experimental) Removes the npm script (always successful).

  experimental

  #### Parameters

  - ##### name: string

    The name of the script.

  #### Returns void

### removeTask

- removeTask(name: string): undefined | Task

- Inherited from NodeProject.removeTask

  (experimental) Removes a task from a project.

  experimental

  #### Parameters

  - ##### name: string

    The name of the task to remove.

  #### Returns undefined | Task

  The `Task` that was removed, otherwise `undefined`.

### runTaskCommand

- runTaskCommand(task: Task): string

- Inherited from NodeProject.runTaskCommand

  (experimental) Returns the shell command to execute in order to run a task.

  This will typically be `npx projen TASK`.

  experimental

  #### Parameters

  - ##### task: Task

    The task for which the command is required.

  #### Returns string

### setScript

- setScript(name: string, command: string): void

- Inherited from NodeProject.setScript

  (experimental) Replaces the contents of an npm package.json script.

  experimental

  #### Parameters

  - ##### name: string

    The script name.

  - ##### command: string

    The command to execute.

  #### Returns void

### synth

- synth(): void

- Inherited from NodeProject.synth

  (experimental) Synthesize all project files into `outdir`.

  1. Call "this.preSynthesize()"
  2. Delete all generated files
  3. Synthesize all sub-projects
  4. Synthesize all components of this project
  5. Call "postSynthesize()" for all components of this project
  6. Call "this.postSynthesize()"
  experimental

  #### Returns void

### tryFindFile

- tryFindFile(filePath: string): undefined | FileBase

- Inherited from NodeProject.tryFindFile

  (experimental) Finds a file at the specified relative path within this project and all its subprojects.

  experimental

  #### Parameters

  - ##### filePath: string

    The file path.

  #### Returns undefined | FileBase

  a `FileBase` or undefined if there is no file in that path

### tryFindJsonFile

- tryFindJsonFile(filePath: string): undefined | JsonFile

- Inherited from NodeProject.tryFindJsonFile

  (deprecated) Finds a json file by name.

  deprecated

    use `tryFindObjectFile`

  #### Parameters

  - ##### filePath: string

    The file path.

  #### Returns undefined | JsonFile

### tryFindObjectFile

- tryFindObjectFile(filePath: string): undefined | ObjectFile

- Inherited from NodeProject.tryFindObjectFile

  (experimental) Finds an object file (like JsonFile, YamlFile, etc.) by name.

  experimental

  #### Parameters

  - ##### filePath: string

    The file path.

  #### Returns undefined | ObjectFile

Generated using TypeDoc