Licence
Apache-2.0
Version
0.0.9
Deps
1
Size
375 kB
Vulns
0
Weekly
0
@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-ts
Install
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-ts
Usage
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 projen
Common 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.