Readonly
artifactsThe 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
.
Readonly
artifactsThe location of the npm tarball after build (${artifactsDirectory}/js
).
Optional
Readonly
autoAuto approve set up for this project.
Optional
Readonly
autoComponent that sets up mergify for merging approved pull requests.
Optional
Readonly
buildThe PR build GitHub workflow. undefined
if buildWorkflow
is disabled.
Readonly
bundlerReadonly
commitWhether to commit the managed files by default.
Optional
Readonly
defaultThis is the "default" task, the one that executes "projen". Undefined if the project is being ejected.
Readonly
depsProject dependencies.
Readonly
devAccess for .devcontainer.json (used for GitHub Codespaces)
This will be undefined
if devContainer boolean is false
Optional
Readonly
docgenReadonly
docsOptional
Readonly
eslintReadonly
gitattributesThe .gitattributes file for this repository.
Readonly
githubAccess all github components.
This will be undefined
for subprojects.
Readonly
gitignore.gitignore
Readonly
gitpodAccess for Gitpod
This will be undefined
if gitpod boolean is false
Optional
Readonly
initThe 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
Readonly
jestThe Jest configuration (if enabled)
Readonly
libdirThe directory in which compiled .js files reside.
Readonly
lintReadonly
loggerLogging utilities.
Readonly
nameProject name.
Readonly
nodeThe tree node.
Protected
Optional
Readonly
nodeOptional
Readonly
npmignoreThe .npmignore file.
Readonly
optionsReadonly
outdirAbsolute output directory of this project.
Readonly
packageAPI for managing the node package.
Optional
Readonly
parentA parent project. If undefined, this is the root project.
Readonly
pnpmOptional
Readonly
prettierReadonly
projectManages the build process of the project.
Readonly
projectReadonly
projectOptional
Readonly
publisherPackage publisher. This will be undefined
if the project does not have a
release workflow.
Optional
Readonly
releaseRelease management.
Readonly
runThe command to use to run scripts (e.g. yarn run
or npm run
depends on the package manager).
Readonly
srcdirThe directory in which the .ts sources reside.
Readonly
tasksProject tasks.
Readonly
testdirThe directory in which tests reside.
Readonly
tsconfigReadonly
tsconfigReadonly
tsconfigA typescript configuration file which covers all files (sources, tests, projen).
Optional
Readonly
tsconfigOptional
Readonly
upgradeThe upgrade workflow.
Readonly
vscodeAccess all VSCode components.
This will be undefined
for subprojects.
Readonly
watchThe "watch" task.
Protected
Readonly
workflowProtected
Readonly
workflowStatic
Readonly
DEFAULT_The name of the default task (the task executed when projen
is run without arguments). Normally
this task should synthesize the project files.
Static
Readonly
DEFAULT_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).
Protected
applyProtected
applyProtected
applyProtected
applyProtected
applyProtected
buildFinds 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.
Static
fromCreate new package under monorepo parent.
Parent monorepo project.
Project options.
Static
isChecks 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
.
Static
isStatic
of
Deprecated
Use
TypescriptBaseBuilder
instead