ReadonlyartifactsThe 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.
ReadonlyartifactsThe location of the npm tarball after build (${artifactsDirectory}/js).
Optional ReadonlyautoAuto approve set up for this project.
Optional ReadonlyautoComponent that sets up mergify for merging approved pull requests.
Optional ReadonlybuildThe PR build GitHub workflow. undefined if buildWorkflow is disabled.
ReadonlybundlerReadonlycommitWhether to commit the managed files by default.
Optional ReadonlydefaultThis is the "default" task, the one that executes "projen". Undefined if the project is being ejected.
ReadonlydepsProject dependencies.
ReadonlydevAccess for .devcontainer.json (used for GitHub Codespaces)
This will be undefined if devContainer boolean is false
Optional ReadonlydocgenReadonlydocsOptional ReadonlyeslintReadonlygitattributesThe .gitattributes file for this repository.
ReadonlygithubAccess all github components.
This will be undefined for subprojects.
Readonlygitignore.gitignore
ReadonlygitpodAccess for Gitpod
This will be undefined if gitpod boolean is false
Optional ReadonlyinitThe 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.
Optional ReadonlyjestThe Jest configuration (if enabled)
ReadonlylibdirThe directory in which compiled .js files reside.
ReadonlylintReadonlyloggerLogging utilities.
ReadonlynameProject name.
ReadonlynodeThe tree node.
Protected Optional ReadonlynodeOptional ReadonlynpmignoreThe .npmignore file.
ReadonlyoptionsReadonlyoutdirAbsolute output directory of this project.
ReadonlypackageAPI for managing the node package.
Optional ReadonlyparentA parent project. If undefined, this is the root project.
ReadonlypnpmOptional ReadonlyprettierReadonlyprojectManages the build process of the project.
ReadonlyprojectReadonlyprojectOptional ReadonlypublisherPackage publisher. This will be undefined if the project does not have a
release workflow.
Optional ReadonlyreleaseRelease management.
ReadonlyrunThe command to use to run scripts (e.g. yarn run or npm run depends on the package manager).
ReadonlysrcdirThe directory in which the .ts sources reside.
ReadonlytasksProject tasks.
ReadonlytestdirThe directory in which tests reside.
ReadonlytsconfigReadonlytsconfigReadonlytsconfigA typescript configuration file which covers all files (sources, tests, projen).
Optional ReadonlytsconfigOptional ReadonlyupgradeThe upgrade workflow.
ReadonlyvscodeAccess all VSCode components.
This will be undefined for subprojects.
ReadonlywatchThe "watch" task.
Protected ReadonlyworkflowProtected ReadonlyworkflowStatic ReadonlyDEFAULT_The name of the default task (the task executed when projen is run without arguments). Normally
this task should synthesize the project files.
Static ReadonlyDEFAULT_The job ID of the build workflow.
Returns all the components within this project.
Whether or not the project is being ejected.
All files in this project.
Maximum node version required by this package.
Minimum node.js version required by this package.
The .npmrc file
The package manager to use.
The command to use in order to run the projen CLI.
The root project.
Returns all the subprojects within this project.
Defines bundled dependencies.
Bundled dependencies will be added as normal dependencies as well as to the
bundledDependencies section of your package.json.
Rest...deps: 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.
Defines normal dependencies.
Rest...deps: 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.
Defines development/test dependencies.
Rest...deps: 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.
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.
Rest...deps: 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.
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.
the glob pattern to match (could be a file path).
ProtectedapplyProtectedapplyProtectedapplyProtectedapplyProtectedapplyProtectedbuildFinds a file at the specified relative path within this project and all its subprojects.
The file path. If this path is relative, it will be resolved from the root of this project.
a FileBase or undefined if there is no file in that path
Finds a file at the specified relative path within this project and removes it.
The file path. If this path is relative, it will be resolved from the root of this project.
a FileBase if the file was found and removed, or undefined if
the file was not found.
StaticfromCreate new package under monorepo parent.
Parent monorepo project.
Project options.
StaticisChecks 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.
Any object
true if x is an object created from a class which extends Construct.
StaticisStaticof
Deprecated
Use
TypescriptBaseBuilderinstead