UNPKG

@amazon-codecatalyst/blueprints.sam-serverless-application

Version:

This blueprint creates a project that leverages a serverless application model (SAM) to quickly create and deploy an API. You can choose Java, TypeScript, or Python as the programming language

672 lines (574 loc) 1.39 MB
# API Reference **Classes** Name|Description ----|----------- [Component](#projen-component)|Represents a project component. [Dependencies](#projen-dependencies)|The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files. [DevEnvironmentDockerImage](#projen-devenvironmentdockerimage)|Options for specifying the Docker image of the container. [DockerCompose](#projen-dockercompose)|Create a docker-compose YAML file. [DockerComposeService](#projen-dockercomposeservice)|A docker-compose service. [FileBase](#projen-filebase)|*No description* [GitAttributesFile](#projen-gitattributesfile)|Assign attributes to file names in a git repository. [Gitpod](#projen-gitpod)|The Gitpod component which emits .gitpod.yml. [IgnoreFile](#projen-ignorefile)|*No description* [IniFile](#projen-inifile)|Represents an INI file. [JsonFile](#projen-jsonfile)|Represents a JSON file. [JsonPatch](#projen-jsonpatch)|Utility for applying RFC-6902 JSON-Patch to a document. [License](#projen-license)|*No description* [Logger](#projen-logger)|Project-level logging utilities. [Makefile](#projen-makefile)|Minimal Makefile. [ObjectFile](#projen-objectfile)|Represents an Object file. [Project](#projen-project)|Base project. [ProjectBuild](#projen-projectbuild)|Manages a standard build process for all projects. [Projects](#projen-projects)|Programmatic API for projen. [Projenrc](#projen-projenrc)|*No description* [ProjenrcFile](#projen-projenrcfile)|A component representing the projen runtime configuration. [ProjenrcJson](#projen-projenrcjson)|Sets up a project to use JSON for projenrc. [Renovatebot](#projen-renovatebot)|Defines renovatebot configuration for projen project. [SampleDir](#projen-sampledir)|Renders the given files into the directory if the directory does not exist. [SampleFile](#projen-samplefile)|Produces a file with the given contents but only once, if the file doesn't already exist. [SampleReadme](#projen-samplereadme)|Represents a README.md sample file. You are expected to manage this file after creation. [Semver](#projen-semver)|*No description* [SourceCode](#projen-sourcecode)|Represents a source file. [Task](#projen-task)|A task that can be performed on the project. [TaskRuntime](#projen-taskruntime)|The runtime component of the tasks engine. [Tasks](#projen-tasks)|Defines project tasks. [Testing](#projen-testing)|A Testing static class with a .synth helper for getting a snapshots of construct outputs. Useful for snapshot testing with Jest. [TextFile](#projen-textfile)|A text file. [TomlFile](#projen-tomlfile)|Represents a TOML file. [Version](#projen-version)|*No description* [XmlFile](#projen-xmlfile)|Represents an XML file. [YamlFile](#projen-yamlfile)|Represents a YAML file. [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Discovers and creates integration tests and lambdas from code in the project's source and test trees. [awscdk.AwsCdkConstructLibrary](#projen-awscdk-awscdkconstructlibrary)|AWS CDK construct library project. [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)|Manages dependencies on the AWS CDK. [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava)|Manages dependencies on the AWS CDK for Java projects. [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)|Manages dependencies on the AWS CDK for Node.js projects. [awscdk.AwsCdkDepsPy](#projen-awscdk-awscdkdepspy)|Manages dependencies on the AWS CDK for Python projects. [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java. [awscdk.AwsCdkPythonApp](#projen-awscdk-awscdkpythonapp)|AWS CDK app in Python. [awscdk.AwsCdkTypeScriptApp](#projen-awscdk-awscdktypescriptapp)|AWS CDK app in TypeScript. [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file. [awscdk.CdkTasks](#projen-awscdk-cdktasks)|Adds standard AWS CDK tasks to your project. [awscdk.ConstructLibraryAws](#projen-awscdk-constructlibraryaws)|*No description* [awscdk.EdgeLambdaAutoDiscover](#projen-awscdk-edgelambdaautodiscover)|Creates edge lambdas from entry points discovered in the project's source tree. [awscdk.IntegrationTest](#projen-awscdk-integrationtest)|Cloud integration tests. [awscdk.IntegrationTestAutoDiscover](#projen-awscdk-integrationtestautodiscover)|Creates integration tests from entry points discovered in the test tree. [awscdk.LambdaAutoDiscover](#projen-awscdk-lambdaautodiscover)|Creates lambdas from entry points discovered in the project's source tree. [awscdk.LambdaExtension](#projen-awscdk-lambdaextension)|Create a Lambda Extension. [awscdk.LambdaExtensionAutoDiscover](#projen-awscdk-lambdaextensionautodiscover)|Creates Lambda Extensions from entrypoints discovered in the project's source tree. [awscdk.LambdaFunction](#projen-awscdk-lambdafunction)|Generates a pre-bundled AWS Lambda function construct from handler code. [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)|The runtime for the AWS Lambda function. [build.BuildWorkflow](#projen-build-buildworkflow)|*No description* [cdk.AutoDiscoverBase](#projen-cdk-autodiscoverbase)|Base class for auto-discovering and creating project subcomponents. [cdk.ConstructLibrary](#projen-cdk-constructlibrary)|A multi-language library for CDK constructs. [cdk.IntegrationTestAutoDiscoverBase](#projen-cdk-integrationtestautodiscoverbase)|Base class for locating integration tests in the project's test tree. [cdk.IntegrationTestBase](#projen-cdk-integrationtestbase)|*No description* [cdk.JsiiDocgen](#projen-cdk-jsiidocgen)|Creates a markdown file based on the jsii manifest: - Adds a `docgen` script to package.json - Runs `jsii-docgen` after compilation - Enforces that markdown file is checked in. [cdk.JsiiProject](#projen-cdk-jsiiproject)|Multi-language jsii library project. [cdk8s.AutoDiscover](#projen-cdk8s-autodiscover)|Automatically discovers and creates `IntegrationTest`s from entry points found in the test tree. [cdk8s.Cdk8sDeps](#projen-cdk8s-cdk8sdeps)|Manages dependencies on the CDK8s. [cdk8s.Cdk8sDepsPy](#projen-cdk8s-cdk8sdepspy)|*No description* [cdk8s.Cdk8sPythonApp](#projen-cdk8s-cdk8spythonapp)|CDK8s app in Python. [cdk8s.Cdk8sTypeScriptApp](#projen-cdk8s-cdk8stypescriptapp)|CDK8s app in TypeScript. [cdk8s.ConstructLibraryCdk8s](#projen-cdk8s-constructlibrarycdk8s)|CDK8s construct library project. [cdk8s.IntegrationTest](#projen-cdk8s-integrationtest)|CDK8S integration test. [cdk8s.IntegrationTestAutoDiscover](#projen-cdk8s-integrationtestautodiscover)|Discovers and creates integration tests from files in the test root. [cdktf.ConstructLibraryCdktf](#projen-cdktf-constructlibrarycdktf)|CDKTF construct library project. [circleci.Circleci](#projen-circleci-circleci)|Circleci Class to manage `.circleci/config.yml`. Check projen's docs for more information. [github.AutoApprove](#projen-github-autoapprove)|Auto approve pull requests that meet a criteria. [github.AutoMerge](#projen-github-automerge)|Sets up mergify to merging approved pull requests. [github.Dependabot](#projen-github-dependabot)|Defines dependabot configuration for node projects. [github.GitHub](#projen-github-github)|*No description* [github.GitHubActionsProvider](#projen-github-githubactionsprovider)|Manage the versions used for GitHub Actions used in steps. [github.GitHubProject](#projen-github-githubproject)|GitHub-based project. [github.GithubCredentials](#projen-github-githubcredentials)|Represents a method of providing GitHub API access for projen workflows. [github.GithubWorkflow](#projen-github-githubworkflow)|Workflow for GitHub. [github.Mergify](#projen-github-mergify)|*No description* [github.PullRequestLint](#projen-github-pullrequestlint)|Configure validations to run on GitHub pull requests. [github.PullRequestTemplate](#projen-github-pullrequesttemplate)|Template for GitHub pull requests. [github.Stale](#projen-github-stale)|Warns and then closes issues and PRs that have had no activity for a specified amount of time. [github.TaskWorkflow](#projen-github-taskworkflow)|A GitHub workflow for common build tasks within a project. [github.WorkflowActions](#projen-github-workflowactions)|A set of utility functions for creating GitHub actions in workflows. [github.WorkflowJobs](#projen-github-workflowjobs)|A set of utility functions for creating jobs in GitHub Workflows. [gitlab.CiConfiguration](#projen-gitlab-ciconfiguration)|CI for GitLab. [gitlab.GitlabConfiguration](#projen-gitlab-gitlabconfiguration)|A GitLab CI for the main `.gitlab-ci.yml` file. [gitlab.NestedConfiguration](#projen-gitlab-nestedconfiguration)|A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file. [java.JavaProject](#projen-java-javaproject)|Java project. [java.Junit](#projen-java-junit)|Implements JUnit-based testing. [java.MavenCompile](#projen-java-mavencompile)|Adds the maven-compiler plugin to a POM file and the `compile` task. [java.MavenPackaging](#projen-java-mavenpackaging)|Configures a maven project to produce a .jar archive with sources and javadocs. [java.MavenSample](#projen-java-mavensample)|Java code sample. [java.Pom](#projen-java-pom)|A Project Object Model or POM is the fundamental unit of work in Maven. [java.Projenrc](#projen-java-projenrc)|Allows writing projenrc files in java. [javascript.Bundler](#projen-javascript-bundler)|Adds support for bundling JavaScript applications and dependencies into a single file. [javascript.Eslint](#projen-javascript-eslint)|Represents eslint configuration. [javascript.Jest](#projen-javascript-jest)|Installs the following npm scripts:. [javascript.JestReporter](#projen-javascript-jestreporter)|*No description* [javascript.NodePackage](#projen-javascript-nodepackage)|Represents the npm `package.json` file. [javascript.NodeProject](#projen-javascript-nodeproject)|Node.js project. [javascript.NpmConfig](#projen-javascript-npmconfig)|File representing the local NPM config in .npmrc. [javascript.Prettier](#projen-javascript-prettier)|Represents prettier configuration. [javascript.Projenrc](#projen-javascript-projenrc)|Sets up a javascript project to use TypeScript for projenrc. [javascript.Transform](#projen-javascript-transform)|*No description* [javascript.TypescriptConfig](#projen-javascript-typescriptconfig)|*No description* [javascript.TypescriptConfigExtends](#projen-javascript-typescriptconfigextends)|Container for `TypescriptConfig` `tsconfig.json` base configuration(s). Extending from more than one base config file requires TypeScript 5.0+. [javascript.UpgradeDependencies](#projen-javascript-upgradedependencies)|Upgrade node project dependencies. [javascript.UpgradeDependenciesSchedule](#projen-javascript-upgradedependenciesschedule)|How often to check for new versions and raise pull requests for version upgrades. [javascript.WatchPlugin](#projen-javascript-watchplugin)|*No description* [python.Pip](#projen-python-pip)|Manages dependencies using a requirements.txt file and the pip CLI tool. [python.Poetry](#projen-python-poetry)|Manage project dependencies, virtual environments, and packaging through the poetry CLI tool. [python.PoetryPyproject](#projen-python-poetrypyproject)|Represents configuration of a pyproject.toml file for a Poetry project. [python.Projenrc](#projen-python-projenrc)|Allows writing projenrc files in python. [python.Pytest](#projen-python-pytest)|*No description* [python.PytestSample](#projen-python-pytestsample)|Python test code sample. [python.PythonProject](#projen-python-pythonproject)|Python project. [python.PythonSample](#projen-python-pythonsample)|Python code sample. [python.RequirementsFile](#projen-python-requirementsfile)|Specifies a list of packages to be installed using pip. [python.SetupPy](#projen-python-setuppy)|Python packaging script where package metadata can be placed. [python.Setuptools](#projen-python-setuptools)|Manages packaging through setuptools with a setup.py script. [python.Venv](#projen-python-venv)|Manages a virtual environment through the Python venv module. [release.Publisher](#projen-release-publisher)|Implements GitHub jobs for publishing modules to package managers. [release.Release](#projen-release-release)|Manages releases (currently through GitHub workflows). [release.ReleaseTrigger](#projen-release-releasetrigger)|Used to manage release strategies. [typescript.Projenrc](#projen-typescript-projenrc)|Sets up a typescript project to use TypeScript for projenrc. [typescript.ProjenrcTs](#projen-typescript-projenrcts)|A projenrc file written in TypeScript. [typescript.TypeScriptAppProject](#projen-typescript-typescriptappproject)|TypeScript app. [typescript.TypeScriptLibraryProject](#projen-typescript-typescriptlibraryproject)|*No description* [typescript.TypeScriptProject](#projen-typescript-typescriptproject)|TypeScript project. [typescript.TypedocDocgen](#projen-typescript-typedocdocgen)|Adds a simple Typescript documentation generator. [vscode.DevContainer](#projen-vscode-devcontainer)|A development environment running VSCode in a container; [vscode.VsCode](#projen-vscode-vscode)|*No description* [vscode.VsCodeLaunchConfig](#projen-vscode-vscodelaunchconfig)|VSCode launch configuration file (launch.json), useful for enabling in-editor debugger. [vscode.VsCodeRecommendedExtensions](#projen-vscode-vscoderecommendedextensions)|VS Code Workspace recommended extensions Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions. [vscode.VsCodeSettings](#projen-vscode-vscodesettings)|VS Code Workspace settings Source: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings. [web.NextComponent](#projen-web-nextcomponent)|*No description* [web.NextJsProject](#projen-web-nextjsproject)|Next.js project without TypeScript. [web.NextJsTypeScriptProject](#projen-web-nextjstypescriptproject)|Next.js project with TypeScript. [web.PostCss](#projen-web-postcss)|Declares a PostCSS dependency with a default config file. [web.ReactComponent](#projen-web-reactcomponent)|*No description* [web.ReactProject](#projen-web-reactproject)|React project without TypeScript. [web.ReactTypeDef](#projen-web-reacttypedef)|*No description* [web.ReactTypeScriptProject](#projen-web-reacttypescriptproject)|React project with TypeScript. [web.TailwindConfig](#projen-web-tailwindconfig)|Declares a Tailwind CSS configuration file. **Structs** Name|Description ----|----------- [CreateProjectOptions](#projen-createprojectoptions)|*No description* [Dependency](#projen-dependency)|Represents a project dependency. [DependencyCoordinates](#projen-dependencycoordinates)|Coordinates of the dependency (name and version). [DepsManifest](#projen-depsmanifest)|*No description* [DevEnvironmentOptions](#projen-devenvironmentoptions)|Base options for configuring a container-based development environment. [DockerComposeBuild](#projen-dockercomposebuild)|Build arguments for creating a docker image. [DockerComposeNetworkConfig](#projen-dockercomposenetworkconfig)|Network configuration. [DockerComposeNetworkIpamConfig](#projen-dockercomposenetworkipamconfig)|IPAM configuration. [DockerComposeNetworkIpamSubnetConfig](#projen-dockercomposenetworkipamsubnetconfig)|IPAM subnet configuration. [DockerComposePortMappingOptions](#projen-dockercomposeportmappingoptions)|Options for port mappings. [DockerComposeProps](#projen-dockercomposeprops)|Props for DockerCompose. [DockerComposeServiceDescription](#projen-dockercomposeservicedescription)|Description of a docker-compose.yml service. [DockerComposeServicePort](#projen-dockercomposeserviceport)|A service port mapping. [DockerComposeVolumeConfig](#projen-dockercomposevolumeconfig)|Volume configuration. [DockerComposeVolumeMount](#projen-dockercomposevolumemount)|Service volume mounting information. [FileBaseOptions](#projen-filebaseoptions)|*No description* [GitOptions](#projen-gitoptions)|Git configuration options. [GitpodOptions](#projen-gitpodoptions)|Constructor options for the Gitpod component. [GitpodPort](#projen-gitpodport)|Options for an exposed port on Gitpod. [GitpodPrebuilds](#projen-gitpodprebuilds)|Configure the Gitpod App for prebuilds. [GitpodTask](#projen-gitpodtask)|Configure options for a task to be run when opening a Gitpod workspace (e.g. running tests, or starting a dev server). [IgnoreFileOptions](#projen-ignorefileoptions)|*No description* [IniFileOptions](#projen-inifileoptions)|Options for `IniFile`. [InitProject](#projen-initproject)|Information passed from `projen new` to the project object when the project is first created. [JsonFileOptions](#projen-jsonfileoptions)|Options for `JsonFile`. [LicenseOptions](#projen-licenseoptions)|*No description* [LoggerOptions](#projen-loggeroptions)|Options for logging utilities. [MakefileOptions](#projen-makefileoptions)|Options for Makefiles. [ObjectFileOptions](#projen-objectfileoptions)|Options for `ObjectFile`. [ProjectOptions](#projen-projectoptions)|Options for `Project`. [ProjenrcJsonOptions](#projen-projenrcjsonoptions)|*No description* [ProjenrcOptions](#projen-projenrcoptions)|*No description* [RenovatebotOptions](#projen-renovatebotoptions)|Options for Renovatebot. [ResolveOptions](#projen-resolveoptions)|Resolve options. [Rule](#projen-rule)|A Make rule. [SampleDirOptions](#projen-samplediroptions)|SampleDir options. [SampleFileOptions](#projen-samplefileoptions)|Options for the SampleFile object. [SampleReadmeProps](#projen-samplereadmeprops)|SampleReadme Properties. [SnapshotOptions](#projen-snapshotoptions)|Options for the Snapshot synthesis. [SourceCodeOptions](#projen-sourcecodeoptions)|Options for `SourceCodeFile`. [TaskCommonOptions](#projen-taskcommonoptions)|*No description* [TaskOptions](#projen-taskoptions)|*No description* [TaskSpec](#projen-taskspec)|Specification of a single task. [TaskStep](#projen-taskstep)|A single step within a task. [TaskStepOptions](#projen-taskstepoptions)|Options for task steps. [TasksManifest](#projen-tasksmanifest)|Schema for `tasks.json`. [TextFileOptions](#projen-textfileoptions)|Options for `TextFile`. [TomlFileOptions](#projen-tomlfileoptions)|Options for `TomlFile`. [VersionOptions](#projen-versionoptions)|Options for `Version`. [XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`. [YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`. [awscdk.AutoDiscoverCommonOptions](#projen-awscdk-autodiscovercommonoptions)|Common options for auto discovering project subcomponents. [awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)|Options for `AutoDiscover`. [awscdk.AwsCdkConstructLibraryOptions](#projen-awscdk-awscdkconstructlibraryoptions)|Options for `AwsCdkConstructLibrary`. [awscdk.AwsCdkDepsCommonOptions](#projen-awscdk-awscdkdepscommonoptions)|Options for `AwsCdkDeps`. [awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)|*No description* [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description* [awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)|Language-specific AWS CDK package names. [awscdk.AwsCdkPythonAppOptions](#projen-awscdk-awscdkpythonappoptions)|Options for `AwsCdkPythonApp`. [awscdk.AwsCdkTypeScriptAppOptions](#projen-awscdk-awscdktypescriptappoptions)|*No description* [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`. [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`. [awscdk.ConstructLibraryAwsOptions](#projen-awscdk-constructlibraryawsoptions)|*No description* [awscdk.EdgeLambdaAutoDiscoverOptions](#projen-awscdk-edgelambdaautodiscoveroptions)|Options for `EdgeLambdaAutoDiscover`. [awscdk.IntegrationTestAutoDiscoverOptions](#projen-awscdk-integrationtestautodiscoveroptions)|Options for `IntegrationTestAutoDiscover`. [awscdk.IntegrationTestCommonOptions](#projen-awscdk-integrationtestcommonoptions)|*No description* [awscdk.IntegrationTestOptions](#projen-awscdk-integrationtestoptions)|Options for `IntegrationTest`. [awscdk.LambdaAutoDiscoverOptions](#projen-awscdk-lambdaautodiscoveroptions)|Options for `LambdaAutoDiscover`. [awscdk.LambdaExtensionAutoDiscoverOptions](#projen-awscdk-lambdaextensionautodiscoveroptions)|Options for `LambdaExtensionAutoDiscover`. [awscdk.LambdaExtensionCommonOptions](#projen-awscdk-lambdaextensioncommonoptions)|Common options for creating lambda extensions. [awscdk.LambdaExtensionOptions](#projen-awscdk-lambdaextensionoptions)|Options for creating lambda extensions. [awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)|Common options for `LambdaFunction`. [awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)|Options for `Function`. [awscdk.LambdaRuntimeOptions](#projen-awscdk-lambdaruntimeoptions)|Options for the AWS Lambda function runtime. [build.AddPostBuildJobCommandsOptions](#projen-build-addpostbuildjobcommandsoptions)|Options for `BuildWorkflow.addPostBuildJobCommands`. [build.AddPostBuildJobTaskOptions](#projen-build-addpostbuildjobtaskoptions)|Options for `BuildWorkflow.addPostBuildJobTask`. [build.BuildWorkflowOptions](#projen-build-buildworkflowoptions)|*No description* [cdk.AutoDiscoverBaseOptions](#projen-cdk-autodiscoverbaseoptions)|Options for `AutoDiscoverBase`. [cdk.Catalog](#projen-cdk-catalog)|*No description* [cdk.ConstructLibraryOptions](#projen-cdk-constructlibraryoptions)|*No description* [cdk.IntegrationTestAutoDiscoverBaseOptions](#projen-cdk-integrationtestautodiscoverbaseoptions)|Options for `IntegrationTestAutoDiscoverBase`. [cdk.IntegrationTestBaseOptions](#projen-cdk-integrationtestbaseoptions)|Options for IntegrationTest. [cdk.JsiiDocgenOptions](#projen-cdk-jsiidocgenoptions)|Options for `JsiiDocgen`. [cdk.JsiiDotNetTarget](#projen-cdk-jsiidotnettarget)|*No description* [cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)|Go target configuration. [cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)|*No description* [cdk.JsiiProjectOptions](#projen-cdk-jsiiprojectoptions)|*No description* [cdk.JsiiPythonTarget](#projen-cdk-jsiipythontarget)|*No description* [cdk8s.AutoDiscoverOptions](#projen-cdk8s-autodiscoveroptions)|Options for `AutoDiscover`. [cdk8s.Cdk8sDepsCommonOptions](#projen-cdk8s-cdk8sdepscommonoptions)|Options for `Cdk8sDeps`. [cdk8s.Cdk8sDepsOptions](#projen-cdk8s-cdk8sdepsoptions)|*No description* [cdk8s.Cdk8sPackageNames](#projen-cdk8s-cdk8spackagenames)|*No description* [cdk8s.Cdk8sPythonOptions](#projen-cdk8s-cdk8spythonoptions)|Options for `Cdk8sPythonApp`. [cdk8s.Cdk8sTypeScriptAppOptions](#projen-cdk8s-cdk8stypescriptappoptions)|*No description* [cdk8s.ConstructLibraryCdk8sOptions](#projen-cdk8s-constructlibrarycdk8soptions)|*No description* [cdk8s.IntegrationTestAutoDiscoverOptions](#projen-cdk8s-integrationtestautodiscoveroptions)|*No description* [cdk8s.IntegrationTestOptions](#projen-cdk8s-integrationtestoptions)|Options for IntegrationTest. [cdktf.ConstructLibraryCdktfOptions](#projen-cdktf-constructlibrarycdktfoptions)|*No description* [circleci.CircleCiProps](#projen-circleci-circleciprops)|Options for class {@link Circleci}. [circleci.Docker](#projen-circleci-docker)|Options for docker executor. [circleci.Filter](#projen-circleci-filter)|The branches key controls whether the current branch should have a schedule trigger created for it, where current branch is the branch containing the config.yml file with the trigger stanza. That is, a push on the main branch will only schedule a workflow for the main branch. [circleci.FilterConfig](#projen-circleci-filterconfig)|set an inclusive or exclusive filter. [circleci.Job](#projen-circleci-job)|A Workflow is comprised of one or more uniquely named jobs. [circleci.Machine](#projen-circleci-machine)|*No description* [circleci.Macos](#projen-circleci-macos)|CircleCI supports running jobs on macOS, to allow you to build, test, and deploy apps for macOS, iOS, tvOS and watchOS. [circleci.Matrix](#projen-circleci-matrix)|The matrix stanza allows you to run a parameterized job multiple times with different arguments. [circleci.PipelineParameter](#projen-circleci-pipelineparameter)|Parameters are declared by name under a job, command, or executor. [circleci.Run](#projen-circleci-run)|Used for invoking all command-line programs, taking either a map of configuration values, or, when called in its short-form, a string that will be used as both the command and name. [circleci.Schedule](#projen-circleci-schedule)|A workflow may have a schedule indicating it runs at a certain time. [circleci.StepRun](#projen-circleci-steprun)|Execution steps for Job. [circleci.Triggers](#projen-circleci-triggers)|Specifies which triggers will cause this workflow to be executed. [circleci.Workflow](#projen-circleci-workflow)|Used for orchestrating all jobs. [circleci.WorkflowJob](#projen-circleci-workflowjob)|A Job is part of Workflow. [github.AutoApproveOptions](#projen-github-autoapproveoptions)|Options for 'AutoApprove'. [github.AutoMergeOptions](#projen-github-automergeoptions)|*No description* [github.CheckoutWithPatchOptions](#projen-github-checkoutwithpatchoptions)|Options for `checkoutWithPatch`. [github.CreatePullRequestOptions](#projen-github-createpullrequestoptions)|*No description* [github.DependabotIgnore](#projen-github-dependabotignore)|You can use the `ignore` option to customize which dependencies are updated. [github.DependabotOptions](#projen-github-dependabotoptions)|*No description* [github.DependabotRegistry](#projen-github-dependabotregistry)|Use to add private registry support for dependabot. [github.GitHubOptions](#projen-github-githuboptions)|*No description* [github.GitHubProjectOptions](#projen-github-githubprojectoptions)|Options for `GitHubProject`. [github.GitIdentity](#projen-github-gitidentity)|Represents the git identity. [github.GithubCredentialsAppOptions](#projen-github-githubcredentialsappoptions)|Options for `GithubCredentials.fromApp`. [github.GithubCredentialsPersonalAccessTokenOptions](#projen-github-githubcredentialspersonalaccesstokenoptions)|Options for `GithubCredentials.fromPersonalAccessToken`. [github.GithubWorkflowOptions](#projen-github-githubworkflowoptions)|Options for `GithubWorkflow`. [github.MergifyConditionalOperator](#projen-github-mergifyconditionaloperator)|The Mergify conditional operators that can be used are: `or` and `and`. [github.MergifyOptions](#projen-github-mergifyoptions)|*No description* [github.MergifyQueue](#projen-github-mergifyqueue)|*No description* [github.MergifyRule](#projen-github-mergifyrule)|*No description* [github.PullRequestFromPatchOptions](#projen-github-pullrequestfrompatchoptions)|*No description* [github.PullRequestLintOptions](#projen-github-pullrequestlintoptions)|Options for PullRequestLint. [github.PullRequestPatchSource](#projen-github-pullrequestpatchsource)|*No description* [github.PullRequestTemplateOptions](#projen-github-pullrequesttemplateoptions)|Options for `PullRequestTemplate`. [github.SemanticTitleOptions](#projen-github-semantictitleoptions)|Options for linting that PR titles follow Conventional Commits. [github.StaleBehavior](#projen-github-stalebehavior)|Stale behavior. [github.StaleOptions](#projen-github-staleoptions)|Options for `Stale`. [github.TaskWorkflowOptions](#projen-github-taskworkflowoptions)|*No description* [github.UploadGitPatchOptions](#projen-github-uploadgitpatchoptions)|Options for `uploadGitPatch`. [gitlab.AllowFailure](#projen-gitlab-allowfailure)|Exit code that are not considered failure. [gitlab.Artifacts](#projen-gitlab-artifacts)|Used to specify a list of files and directories that should be attached to the job if it succeeds. [gitlab.Assets](#projen-gitlab-assets)|Asset configuration for a release. [gitlab.Cache](#projen-gitlab-cache)|Cache Definition. [gitlab.CacheKeyFiles](#projen-gitlab-cachekeyfiles)|Use this construct to generate a new key when one or two specific files change. [gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)|Options for `CiConfiguration`. [gitlab.CoverageReport](#projen-gitlab-coveragereport)|Code coverage report interface. [gitlab.Default](#projen-gitlab-default)|Default settings for the CI Configuration. [gitlab.Engine](#projen-gitlab-engine)|The engine configuration for a secret. [gitlab.Environment](#projen-gitlab-environment)|The environment that a job deploys to. [gitlab.Filter](#projen-gitlab-filter)|Filtering options for when a job will run. [gitlab.Image](#projen-gitlab-image)|Specifies the docker image to use for the job or globally for all jobs. [gitlab.Include](#projen-gitlab-include)|An included YAML file. [gitlab.IncludeRule](#projen-gitlab-includerule)|Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job. [gitlab.Inherit](#projen-gitlab-inherit)|Controls inheritance of globally-defined defaults and variables. [gitlab.Job](#projen-gitlab-job)|Jobs are the most fundamental element of a .gitlab-ci.yml file. [gitlab.KubernetesConfig](#projen-gitlab-kubernetesconfig)|Used to configure the kubernetes deployment for this environment. [gitlab.Link](#projen-gitlab-link)|Link configuration for an asset. [gitlab.Need](#projen-gitlab-need)|A jobs in a previous stage whose sole completion is needed to start the current job. [gitlab.Parallel](#projen-gitlab-parallel)|Used to run a job multiple times in parallel in a single pipeline. [gitlab.Release](#projen-gitlab-release)|Indicates that the job creates a Release. [gitlab.Reports](#projen-gitlab-reports)|Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests. [gitlab.Retry](#projen-gitlab-retry)|How many times a job is retried if it fails. [gitlab.Secret](#projen-gitlab-secret)|A CI/CD secret. [gitlab.Service](#projen-gitlab-service)|Used to specify an additional Docker image to run scripts in. [gitlab.Trigger](#projen-gitlab-trigger)|Trigger a multi-project or a child pipeline. [gitlab.TriggerInclude](#projen-gitlab-triggerinclude)|References a local file or an artifact from another job to define the pipeline configuration. [gitlab.VariableConfig](#projen-gitlab-variableconfig)|Explains what the global variable is used for, what the acceptable values are. [gitlab.VaultConfig](#projen-gitlab-vaultconfig)|Specification for a secret provided by a HashiCorp Vault. [gitlab.Workflow](#projen-gitlab-workflow)|Used to control pipeline behavior. [gitlab.WorkflowRule](#projen-gitlab-workflowrule)|Used to control whether or not a whole pipeline is created. [java.JavaProjectCommonOptions](#projen-java-javaprojectcommonoptions)|Options for `JavaProject`. [java.JavaProjectOptions](#projen-java-javaprojectoptions)|Options for `JavaProject`. [java.JunitOptions](#projen-java-junitoptions)|Options for `Junit`. [java.MavenCompileOptions](#projen-java-mavencompileoptions)|Options for `MavenCompile`. [java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)|Options for `MavenPackage`. [java.MavenRepository](#projen-java-mavenrepository)|Represents a Maven repository. [java.MavenSampleOptions](#projen-java-mavensampleoptions)|*No description* [java.PluginExecution](#projen-java-pluginexecution)|Plugin execution definition. [java.PluginOptions](#projen-java-pluginoptions)|Options for Maven plugins. [java.PomOptions](#projen-java-pomoptions)|Options for `Pom`. [java.ProjenrcOptions](#projen-java-projenrcoptions)|Options for `Projenrc`. [javascript.AddBundleOptions](#projen-javascript-addbundleoptions)|Options for `addBundle()`. [javascript.Bundle](#projen-javascript-bundle)|*No description* [javascript.BundlerOptions](#projen-javascript-bundleroptions)|Options for `Bundler`. [javascript.BundlingOptions](#projen-javascript-bundlingoptions)|Options for bundling. [javascript.CodeArtifactOptions](#projen-javascript-codeartifactoptions)|Options for publishing npm packages to AWS CodeArtifact. [javascript.CoverageThreshold](#projen-javascript-coveragethreshold)|*No description* [javascript.EslintOptions](#projen-javascript-eslintoptions)|*No description* [javascript.EslintOverride](#projen-javascript-eslintoverride)|eslint rules override. [javascript.HasteConfig](#projen-javascript-hasteconfig)|*No description* [javascript.JestConfigOptions](#projen-javascript-jestconfigoptions)|*No description* [javascript.JestOptions](#projen-javascript-jestoptions)|*No description* [javascript.NodePackageOptions](#projen-javascript-nodepackageoptions)|*No description* [javascript.NodeProjectOptions](#projen-javascript-nodeprojectoptions)|*No description* [javascript.NpmConfigOptions](#projen-javascript-npmconfigoptions)|Options to configure the local NPM config. [javascript.PeerDependencyOptions](#projen-javascript-peerdependencyoptions)|*No description* [javascript.PrettierOptions](#projen-javascript-prettieroptions)|Options for Prettier. [javascript.PrettierOverride](#projen-javascript-prettieroverride)|*No description* [javascript.PrettierSettings](#projen-javascript-prettiersettings)|Options to set in Prettier directly or through overrides. [javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)|*No description* [javascript.RenderWorkflowSetupOptions](#projen-javascript-renderworkflowsetupoptions)|Options for `renderInstallSteps()`. [javascript.ScopedPackagesOptions](#projen-javascript-scopedpackagesoptions)|Options for scoped packages. [javascript.TypeScriptCompilerOptions](#projen-javascript-typescriptcompileroptions)|*No description* [javascript.TypescriptConfigOptions](#projen-javascript-typescriptconfigoptions)|*No description* [javascript.UpgradeDependenciesOptions](#projen-javascript-upgradedependenciesoptions)|Options for `UpgradeDependencies`. [javascript.UpgradeDependenciesWorkflowOptions](#projen-javascript-upgradedependenciesworkflowoptions)|Options for `UpgradeDependencies.workflowOptions`. [python.PipOptions](#projen-python-pipoptions)|Options for pip. [python.PoetryPyprojectOptions](#projen-python-poetrypyprojectoptions)|Poetry-specific options. [python.PoetryPyprojectOptionsWithoutDeps](#projen-python-poetrypyprojectoptionswithoutdeps)|Poetry-specific options. [python.ProjenrcOptions](#projen-python-projenrcoptions)|Options for `Projenrc`. [python.PytestOptions](#projen-python-pytestoptions)|*No description* [python.PytestSampleOptions](#projen-python-pytestsampleoptions)|Options for python test code sample. [python.PythonPackagingOptions](#projen-python-pythonpackagingoptions)|*No description* [python.PythonProjectOptions](#projen-python-pythonprojectoptions)|Options for `PythonProject`. [python.PythonSampleOptions](#projen-python-pythonsampleoptions)|Options for python sample code. [python.RequirementsFileOptions](#projen-python-requirementsfileoptions)|*No description* [python.SetupPyOptions](#projen-python-setuppyoptions)|Fields to pass in the setup() function of setup.py. [python.VenvOptions](#projen-python-venvoptions)|Options for venv. [release.BranchOptions](#projen-release-branchoptions)|Options for a release branch. [release.CodeArtifactOptions](#projen-release-codeartifactoptions)|Options for publishing packages to AWS CodeArtifact. [release.CommonPublishOptions](#projen-release-commonpublishoptions)|Common publishing options. [release.GitHubReleasesPublishOptions](#projen-release-githubreleasespublishoptions)|Publishing options for GitHub releases. [release.GitPublishOptions](#projen-release-gitpublishoptions)|Publishing options for Git releases. [release.GoPublishOptions](#projen-release-gopublishoptions)|Options for Go releases. [release.JsiiReleaseGo](#projen-release-jsiireleasego)|*No description* [release.JsiiReleaseMaven](#projen-release-jsiireleasemaven)|*No description* [release.JsiiReleaseNpm](#projen-release-jsiireleasenpm)|*No description* [release.JsiiReleaseNuget](#projen-release-jsiireleasenuget)|*No description* [release.JsiiReleasePyPi](#projen-release-jsiireleasepypi)|*No description* [release.ManualReleaseOptions](#projen-release-manualreleaseoptions)|*No description* [release.MavenPublishOptions](#projen-release-mavenpublishoptions)|Options for Maven releases. [release.NpmPublishOptions](#projen-release-npmpublishoptions)|Options for npm release. [release.NugetPublishOptions](#projen-release-nugetpublishoptions)|Options for NuGet releases. [release.PublisherOptions](#projen-release-publisheroptions)|Options for `Publisher`. [release.PyPiPublishOptions](#projen-release-pypipublishoptions)|Options for PyPI release. [release.ReleaseOptions](#projen-release-releaseoptions)|Options for `Release`. [release.ReleaseProjectOptions](#projen-release-releaseprojectoptions)|Project options for release. [release.ScheduledReleaseOptions](#projen-release-scheduledreleaseoptions)|*No description* [typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)|*No description* [typescript.ProjenrcTsOptions](#projen-typescript-projenrctsoptions)|*No description* [typescript.TypeScriptLibraryProjectOptions](#projen-typescript-typescriptlibraryprojectoptions)|*No description* [typescript.TypeScriptProjectOptions](#projen-typescript-typescriptprojectoptions)|*No description* [vscode.DevContainerFeature](#projen-vscode-devcontainerfeature)|devcontainer features options. [vscode.DevContainerOptions](#projen-vscode-devcontaineroptions)|Constructor options for the DevContainer component. [vscode.Presentation](#projen-vscode-presentation)|VSCode launch configuration Presentation interface "using the order, group, and hidden attributes in the presentation object you can sort, group, and hide configurations and compounds in the Debug configuration dropdown and in the Debug quick pick." Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes. [vscode.ServerReadyAction](#projen-vscode-serverreadyaction)|VSCode launch configuration ServerReadyAction interface "if you want to open a URL in a web browser whenever the program under debugging outputs a specific message to the debug console or integrated terminal." Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes. [vscode.VsCodeLaunchConfigurationEntry](#projen-vscode-vscodelaunchconfigurationentry)|Options for a 'VsCodeLaunchConfigurationEntry' Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes. [web.NextComponentOptions](#projen-web-nextcomponentoptions)|*No description* [web.NextJsCommonProjectOptions](#projen-web-nextjscommonprojectoptions)|*No description* [web.NextJsProjectOptions](#projen-web-nextjsprojectoptions)|*No description* [web.NextJsTypeScriptProjectOptions](#projen-web-nextjstypescriptprojectoptions)|*No description* [web.PostCssOptions](#projen-web-postcssoptions)|*No description* [web.ReactComponentOptions](#projen-web-reactcomponentoptions)|*No description* [web.ReactProjectOptions](#projen-web-reactprojectoptions)|*No description* [web.ReactRewireOptions](#projen-web-reactrewireoptions)|*No description* [web.ReactTypeDefOptions](#projen-web-reacttypedefoptions)|*No description* [web.ReactTypeScriptProjectOptions](#projen-web-reacttypescriptprojectoptions)|*No description* [web.TailwindConfigOptions](#projen-web-tailwindconfigoptions)|*No description* **Interfaces** Name|Description ----|----------- [IDevEnvironment](#projen-idevenvironment)|Abstract interface for container-based development environments, such as Gitpod and GitHub Codespaces. [IDockerComposeNetworkBinding](#projen-idockercomposenetworkbinding)|Network binding information. [IDockerComposeNetworkConfig](#projen-idockercomposenetworkconfig)|Storage for network configuration. [IDockerComposeServiceName](#projen-idockercomposeservicename)|An interface providing the name of a docker compose service. [IDockerComposeVolumeBinding](#projen-idockercomposevolumebinding)|Volume binding information. [IDockerComposeVolumeConfig](#projen-idockercomposevolumeconfig)|Storage for volume configuration. [IResolvable](#projen-iresolvable)|*No description* [IResolver](#projen-iresolver)|API for resolving tokens when synthesizing file content. [github.IAddConditionsLater](#projen-github-iaddconditionslater)|*No description* [python.IPackageProvider](#projen-python-ipackageprovider)|*No description* [python.IPythonDeps](#projen-python-ipythondeps)|*No description* [python.IPythonEnv](#projen-python-ipythonenv)|*No description* [python.IPythonPackaging](#projen-python-ipythonpackaging)|*No description* [vscode.IDevContainerEnvironment](#projen-vscode-idevcontainerenvironment)|*No description* **Enums** Name|Description ----|----------- [DependencyType](#projen-dependencytype)|Type of dependency. [DockerComposeProtocol](#projen-dockercomposeprotocol)|Network protocol for port mapping. [GitpodOnOpen](#projen-gitpodonopen)|What to do when a service on a port is detected. [GitpodOpenIn](#projen-gitpodopenin)|Configure where in the IDE the terminal should be opened. [GitpodOpenMode](#projen-gitpodopenmode)|Configure how the terminal should be opened relative to the previous task. [GitpodPortVisibility](#projen-gitpodportvisibility)|Whether the port visibility should be private or public. [InitProjectOptionHints](#projen-initprojectoptionhints)|Choices for how to display commented out options in projenrc files. [LogLevel](#projen-loglevel)|Logging verbosity. [ProjectType](#projen-projecttype)|Which type of project this is. [RenovatebotScheduleInterval](#projen-renovatebotscheduleinterval)|How often to check for new versions and raise pull requests for version updates. [awscdk.ApprovalLevel](#projen-awscdk-approvallevel)|Which approval is required when deploying CDK apps. [cdk.Stability](#projen-cdk-stability)|*No description* [circleci.JobType](#projen-circleci-jobtype)|A job may have a type of approval indicating it must be manually approved before downstream jobs may proceed. [circleci.JobWhen](#projen-circleci-jobwhen)|Specify when to enable or disable the step. [circleci.PipelineParameterType](#projen-circleci-pipelineparametertype)|Pipeline parameter types. [circleci.ResourceClass](#projen-circleci-resourceclass)|The resource_class feature allows configuring CPU and RAM resources for each job. [github.DependabotRegistryType](#projen-github-dependabotregistrytype)|Each configuration type requires you to provide particular settings. [github.DependabotScheduleInterval](#projen-github-dependabotscheduleinterval)|How often to check for new versions and raise pull requests for version updates. [github.VersioningStrategy](#projen-github-versioningstrategy)|The strategy to use when edits manifest and lock files. [gitlab.Action](#projen-gitlab-action)|Specifies what this job will do. [gitlab.CachePolicy](#projen-gitlab-cachepolicy)|Configure the upload and download behaviour of a cache. [gitlab.CacheWhen](#projen-gitlab-cachewhen)|Configure when artifacts are uploaded depended on job status. [gitlab.DefaultElement](#projen-gitlab-defaultelement)|*No description* [gitlab.DeploymentTier](#projen-gitlab-deploymenttier)|Explicitly specifies the tier of the deployment environment if non-standard environment name is used. [gitlab.JobWhen](#projen-gitlab-jobwhen)|Describes the conditions for when to run the job. [gitlab.KubernetesEnum](#projen-gitlab-kubernetesenum)|Filter job based on if Kubernetes integration is active. [gitlab.LinkType](#projen-gitlab-linktype)|The content kind of what users can download via url. [gitlab.Strategy](#projen-gitlab-strategy)|You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend. [gitlab.WorkflowWhen](#projen-gitlab-workflowwhen)|Describes the conditions for when to run the job. [javascript.ArrowParens](#projen-javascript-arrowparens)|*No description* [javascript.AutoRelease](#projen-javascript-autorelease)|Automatic bump modes. [javascript.CodeArtifactAuthProvider](#projen-javascript-codeartifactauthprovider)|Options for authorizing requests to a AWS CodeArtifact npm repository. [javascript.EmbeddedLanguageFormatting](#projen-javascript-embeddedlanguageformatting)|*No description* [javascript.EndOfLine](#projen-javascript-endofline)|*No description* [javascript.HTMLWhitespaceSensitivity](#projen-javascript-htmlwhitespacesensitivity)|*No description* [javascript.NodePackageManager](#projen-javascript-nodepackagemanager)|The node package manager to use. [javascript.NpmAccess](#projen-javascript-npmaccess)|Npm package access level. [javascript.ProseWrap](#projen-javascript-prosewrap)|*No description* [javascript.QuoteProps](#projen-javascript-quoteprops)|*No description* [javascript.TrailingComma](#projen-javascript-trailingcomma)|*No description* [javascript.TypeScriptImportsNotUsedAsValues](#projen-javascript-typescriptimportsnotusedasvalues)|This flag controls how `import` works, there are 3 different options. [javascript.TypeScriptJsxMode](#projen-javascript-typescriptjsxmode)|Determines how JSX should get transformed into valid JavaScript. [javascript.TypeScriptModuleResolution](#projen-javascript-typescriptmoduleresolution)|Determines how modules get resolved. [javascript.UpdateSnapshot](#projen-javascript-updatesnapshot)|*No description* [release.CodeArtifactAuthProvider](#projen-release-codeartifactauthprovider)|Options for authorizing requests to a AWS CodeArtifact npm repository. [vscode.Console](#projen-vscode-console)|Controls where to launch the debug target Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes. [vscode.InternalConsoleOptions](#projen-vscode-internalconsoleoptions)|Controls the visibility of the VSCode Debug Console panel during a debugging session Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes. ## class Component 🔹 <a id="projen-component"></a> Represents a project component. ### Initializer ```ts new Component(project: Project) ``` * **project** (<code>[Project](#projen-project)</code>) *No description* ### Properties Name | Type | Description -----|------|------------- **project**🔹 | <code>[Project](#projen-project)</code> | <span></span> ### Methods #### postSynthesize()🔹 <a id="projen-component-postsynthesize"></a> Called after synthesis. Order is *not* guaranteed. ```ts postSynthesize(): void ``` #### preSynthesize()🔹 <a id="projen-component-presynthesize"></a> Called before synthesis. ```ts preSynthesize(): void ``` #### synthesize()🔹 <a id="projen-component-synthesize"></a> Synthesizes files to the project output directory. ```ts synthesize(): void ``` ## class Dependencies 🔹 <a id="projen-dependencies"></a> The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files. To add a dependency you can use a project-type specific API such as `nodeProject.addDeps()` or use the generic API of `project.deps`: __Extends__: [Component](#projen-component) ### Initializer Adds a dependencies component to the project. ```ts new Dependencies(project: Project) ``` * **project** (<code>[Project](#projen-project)</code>) The parent project. ### Properties Name | Type | Description -----|------|------------- **all**🔹 | <code>Array<[Dependency](#projen-dependency)></code> | A copy of all dependencies recorded for this project. *static* **MANIFEST_FILE**🔹 | <code>string</code> | The project-relative path of the deps manifest file. ### Methods #### addDependency(spec, type, metadata?)🔹 <a id="projen-dependencies-adddependency"></a> Adds a dependency to this project. ```ts addDependency(spec: string, type: DependencyType, metadata?: Map<string, any>): Dependency ``` * **spec** (<code>string</code>) The dependency spec in the format `MODULE[@VERSION]` where `MODULE` is the package-manager-specific module name and `VERSION` is an optional semantic version requirement (e.g. `^3.4.0`). * **type** (<code>[DependencyType](#projen-dependencytype)</code>) The type of the dependency. * **metadata** (<code>Map<string, any></code>) *No description* __Returns__: * <code>[Dependency](#projen-dependency)</code> #### getDependency(name, type?)🔹 <a id="projen-dependencies-getdependency"></a> Returns a dependency by name. Fails if there is no dependency defined by that name or if `type` is not provided and there is more then one dependency type for this dependency. ```ts getDependency(name: string, type?: DependencyType): Dependency ``` * **name** (<code>string</code>) The name of the dependency. * **type** (<code>[DependencyType](#projen-dependencytype)</code>) The dependency type. __Returns__: * <code>[Dependency](#projen-dependency)</code> #### removeDependency(name, type?)🔹 <a id="projen-dependencies-removedependency"></a> Removes a dependency. ```ts removeDependency(name: string, type?: DependencyType): void ``` * **name** (<code>string</code>) The name of the module to remove (without the version). * **type** (<code>[DependencyType](#projen-dependencytype)</code>) The dependency type. #### tryGetDependency(name, type?)🔹 <a id="projen-dependencies-trygetdependency"></a> Returns a dependency by name. Returns `undefined` if there is no dependency defined by that name or if `type` is not provided and there is more then one dependency type for this dependency. ```ts tryGetDependency(name: string, type?: DependencyType): Dependency ``` * **name** (<code>string</code>) The name of the dependency. * **type** (<code>[DependencyType](#projen-dependencytype)</code>) The dependency type. __Returns__: * <code>[Dependency](#projen-dependency)</code> #### *static* parseDependency(spec)🔹 <a id="projen-dependencies-parsedependency"></a> Returns the coordinates of a dependency spec. Given `foo@^3.4.0` returns `{ name: "foo", version: "^3.4.0" }`. Given `bar@npm:@bar/legacy` returns `{ name: "bar", version: "npm:@bar/legacy" }`. ```ts static parseDependency(spec: string): DependencyCoordinates ``` * **spec** (<