ReadonlyartifactsReadonlyartifactsThe 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 ReadonlybiomeOptional 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 ReadonlyeslintReadonlyesmReadonlygitattributesThe .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.
ReadonlyloggerLogging utilities.
ReadonlynameProject name.
ReadonlynodeThe tree node.
Protected Optional ReadonlynodeOptional ReadonlynpmignoreThe .npmignore file.
ReadonlynxReadonlyoptionsReadonlyoutdirAbsolute 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.
ReadonlyprojectOptional 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 supported by this package.
The value indicates the package is incompatible with newer versions.
The minimum node version required by this package to function.
This value indicates the package is incompatible with older versions.
Default project naming scheme.
The .npmrc file
The command to use in order to run the projen CLI.
The root project.
Get consistently sorted list of subprojects
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.
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.
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.
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.
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.
The glob patterns to match
Directly set fields in package.json.
The fields to set
Adds a .gitignore pattern.
The glob pattern to ignore.
Adds keywords to package.json (deduplicated)
The keywords to add
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.
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.
Replaces the contents of multiple npm package.json scripts.
The scripts to set
Adds a new task to this project. This will fail if the project already has a task with this name.
The task name to add
Optionalprops: TaskOptionsTask properties
Add one or more additional package globs to the workspace.
paths to the package to include in the workspace (for example packages/my-package)
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).
ProtectedapplyProtectedapplyProtectedapplyOptionalgh: GitHubProtectedapplyProtectedapplyProtectedapplyProtectedapplyApply callback during pre-synth.
Callback to apply.
Apply callback to all child projects.
Function to execute on all subprojects.
Optionaloptions: ApplyRecursiveOptionsExecution options.
ProtectedapplyProtectedApply docgen configuration.
Optionalgh: GitHubGithub component. Applies pages workflow if defined.
ProtectedbuildProtecteddefaultProjen default Typescript compiler options.
ProtectedlinkCreate symbolic links to all local workspace bins. This enables the usage of bins the same way as consumers of the packages have when installing from the registry.
Removes the npm script (always successful).
The name of the script.
Removes a task from a project.
The name of the task to remove.
The Task that was removed, otherwise undefined.
Returns the set of workflow steps which should be executed to bootstrap a workflow.
Optionaloptions: RenderWorkflowSetupOptionsOptions.
Job steps
Returns the shell command to execute in order to run a task. This will
typically be npx projen TASK.
The task for which the command is required
Replaces the contents of an npm package.json script.
The script name
The command to execute
Returns a string representation of this construct.
Finds 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 an object file (like JsonFile, YamlFile, etc.) by name.
The file 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.
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.
The mixins to apply
This construct for chaining
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.
StaticisTest whether the given construct is a project.
Staticof
The build output directory. An npm tarball will be created under the
jssubdirectory. For example, if this is set todist(the default), the npm tarball will be placed underdist/js/boom-boom-1.2.3.tg.