@jjrawlins/projen-cdktn-app-ts
v0.0.7
Published
CDK Terrain (CDKTN) app project type for projen in TypeScript
Downloads
168
Readme
@jjrawlins/projen-cdktn-app-ts
A reusable projen project type for building CDK Terrain applications in TypeScript.
It generates:
- a TypeScript app project configured for CDK Terrain
- a
cdktf.jsonfile wired tots-node - standard
cdktntasks:get,synth,diff,deploy,destroy,watch - starter application and test files when the project is empty
Quick Start
Scaffold a new CDK Terrain app in an empty directory:
npx projen new --from @jjrawlins/projen-cdktn-app-tsInstall
Or add to an existing project:
# npm
npm install --save-dev projen @jjrawlins/projen-cdktn-app-ts
# yarn
yarn add --dev projen @jjrawlins/projen-cdktn-app-tsUsage
Create a .projenrc.ts:
import { CdktnTypeScriptApp } from '@jjrawlins/projen-cdktn-app-ts';
const project = new CdktnTypeScriptApp({
name: 'my-cdktn-app',
defaultReleaseBranch: 'main',
projenrcTs: true,
cdktnVersion: '0.22.0',
terraformProviders: ['hashicorp/aws@~>5.0'],
});
project.synth();Then synthesize the project:
npx projenCommon Options
appEntrypoint— overrides the defaultsrc/main.tsentrypointcdktnVersion— pins thecdktnandcdktn-cliversionsconstructsVersion— pins theconstructsdependencyterraformProviders— adds providers tocdktf.jsonterraformModules— adds modules tocdktf.jsoncdktfOut— customizes the synthesis output directorycontext— merges additional context values intocdktf.json
Generated Tasks
After synthesis, the generated project includes:
| Task | npm | yarn |
|------|-----|------|
| Generate providers | npx projen get | yarn get |
| Synthesize | npx projen synth | yarn synth |
| Diff | npx projen diff | yarn diff |
| Deploy | npx projen deploy -- --auto-approve | yarn deploy -- --auto-approve |
| Destroy | npx projen destroy -- --auto-approve | yarn destroy -- --auto-approve |
| Watch | npx projen watch | yarn watch |
API
Detailed generated API docs are available in API.md.
