-
Notifications
You must be signed in to change notification settings - Fork 0
/
.projenrc.js
130 lines (123 loc) · 13.4 KB
/
.projenrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
const { AwsCdkTypeScriptApp } = require('projen');
const project = new AwsCdkTypeScriptApp({
cdkVersion: '1.73.0',
defaultReleaseBranch: 'main',
jsiiFqn: 'projen.AwsCdkTypeScriptApp',
name: 'cdk-projen',
authorName: 'Linc Kupke',
deps: [
'@mhlabs/cfn-diagram',
],
cdkDependencies: [
'@aws-cdk/core',
'@aws-cdk/aws-lambda',
'@aws-cdk/aws-appsync',
],
/* AwsCdkTypeScriptAppOptions */
// appEntrypoint: 'main.ts', /* The CDK app's entrypoint (relative to the source directory, which is "src" by default). */
// cdkDependencies: undefined, /* Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. */
// cdkVersionPinning: false, /* Use pinned version instead of caret version for CDK. */
// context: undefined, /* Additional context to include in `cdk.json`. */
// requireApproval: CdkApprovalLevel.BROADENING, /* To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. */
/* NodePackageOptions */
// allowLibraryDependencies: true, /* Allow the project to include `peerDependencies` and `bundledDependencies`. */
// authorEmail: undefined, /* Author's e-mail. */
// authorName: undefined, /* Author's name. */
// authorOrganization: undefined, /* Author's Organization. */
// authorUrl: undefined, /* Author's URL / Website. */
// autoDetectBin: true, /* Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. */
// bin: undefined, /* Binary programs vended with your module. */
// bundledDeps: undefined, /* List of dependencies to bundle into this module. */
// deps: [], /* Runtime dependencies of this module. */
// description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
// devDeps: [], /* Build dependencies for this module. */
// entrypoint: 'lib/index.js', /* Module entrypoint (`main` in `package.json`). */
// homepage: undefined, /* Package's Homepage / Website. */
// keywords: undefined, /* Keywords to include in `package.json`. */
// license: 'Apache-2.0', /* License's SPDX identifier. */
// licensed: true, /* Indicates if a license should be added. */
// maxNodeVersion: undefined, /* Minimum node.js version to require via `engines` (inclusive). */
// minNodeVersion: undefined, /* Minimum Node.js version to require via package.json `engines` (inclusive). */
// npmAccess: undefined, /* Access level of the npm package. */
// npmDistTag: 'latest', /* Tags can be used to provide an alias instead of version numbers. */
// npmRegistryUrl: 'https://registry.npmjs.org', /* The base URL of the npm package registry. */
// npmTaskExecution: NpmTaskExecution.PROJEN, /* Determines how tasks are executed when invoked as npm scripts (yarn/npm run xyz). */
// packageManager: NodePackageManager.YARN, /* The Node Package Manager used to execute scripts. */
// packageName: undefined, /* The "name" in package.json. */
// peerDependencyOptions: undefined, /* Options for `peerDeps`. */
// peerDeps: [], /* Peer dependencies for this module. */
// projenCommand: 'npx projen', /* The shell command to use in order to run the projen CLI. */
// repository: undefined, /* The repository is the location where the actual code for your package lives. */
// repositoryDirectory: undefined, /* If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. */
// scripts: {}, /* npm scripts to include. */
// stability: undefined, /* Package's Stability. */
/* NodeProjectOptions */
// antitamper: true, /* Checks that after build there are no modified files on git. */
// artifactsDirectory: 'dist', /* A directory which will contain artifacts to be published to npm. */
// buildWorkflow: undefined, /* Define a GitHub workflow for building PRs. */
// codeCov: false, /* Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v1 A secret is required for private repos. Configured with @codeCovTokenSecret. */
// codeCovTokenSecret: undefined, /* Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. */
// copyrightOwner: undefined, /* License copyright owner. */
// copyrightPeriod: undefined, /* The copyright years to put in the LICENSE file. */
// dependabot: true, /* Include dependabot configuration. */
// dependabotOptions: undefined, /* Options for dependabot. */
// gitignore: undefined, /* Additional entries to .gitignore. */
// jest: true, /* Setup jest unit tests. */
// jestOptions: undefined, /* Jest options. */
// jsiiReleaseVersion: 'latest', /* Version requirement of `jsii-release` which is used to publish modules to npm. */
// mergify: true, /* Adds mergify configuration. */
// mergifyAutoMergeLabel: 'auto-merge', /* Automatically merge PRs that build successfully and have this label. */
// mergifyOptions: undefined, /* Options for mergify. */
// npmignore: undefined, /* Additional entries to .npmignore. */
// npmignoreEnabled: true, /* Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. */
// projenDevDependency: true, /* Indicates of "projen" should be installed as a devDependency. */
// projenUpgradeAutoMerge: undefined, /* Automatically merge projen upgrade PRs when build passes. */
// projenUpgradeSchedule: [ '0 6 * * *' ], /* Customize the projenUpgrade schedule in cron expression. */
// projenUpgradeSecret: undefined, /* Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`). */
// projenVersion: Semver.latest(), /* Version of projen to install. */
// pullRequestTemplate: true, /* Include a GitHub pull request template. */
// pullRequestTemplateContents: undefined, /* The contents of the pull request template. */
// rebuildBot: undefined, /* Installs a GitHub workflow which is triggered when the comment "@projen rebuild" is added to a pull request. */
// rebuildBotCommand: 'rebuild', /* The pull request bot command to use in order to trigger a rebuild and commit of the contents of the branch. */
// releaseBranches: [ 'main' ], /* Branches which trigger a release. */
// releaseEveryCommit: true, /* Automatically release new versions every commit to one of branches in `releaseBranches`. */
// releaseSchedule: undefined, /* CRON schedule to trigger new releases. */
// releaseToNpm: false, /* Automatically release to npm when new versions are introduced. */
// releaseWorkflow: undefined, /* Define a GitHub workflow for releasing from "main" when new versions are bumped. */
// workflowBootstrapSteps: 'yarn install --frozen-lockfile && yarn projen', /* Workflow steps to use in order to bootstrap this repo. */
// workflowContainerImage: undefined, /* Container image to use for GitHub workflows. */
// workflowNodeVersion: undefined, /* The node version to use in GitHub workflows. */
/* ProjectOptions */
// clobber: true, /* Add a `clobber` task which resets the repo to origin. */
// devContainer: false, /* Add a VSCode development environment (used for GitHub Codespaces). */
// gitpod: false, /* Add a Gitpod development environment. */
// logging: {}, /* Configure logging options such as verbosity. */
// outdir: '.', /* The root directory of the project. */
// parent: undefined, /* The parent project, if this project is part of a bigger project. */
// projectType: ProjectType.UNKNOWN, /* Which type of project this is (library/app). */
// readme: undefined, /* The README setup. */
/* TypeScriptProjectOptions */
// compileBeforeTest: undefined, /* Compile the code before running tests. */
// disableTsconfig: false, /* Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). */
// docgen: false, /* Docgen by Typedoc. */
// docsDirectory: 'docs', /* Docs directory. */
// entrypointTypes: undefined, /* The .d.ts file that includes the type declarations for this module. */
// eslint: true, /* Setup eslint. */
// eslintOptions: undefined, /* Eslint options. */
// libdir: 'lib', /* Typescript artifacts output directory. */
// package: true, /* Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. */
// sampleCode: true, /* Generate one-time sample in `src/` and `test/` if there are no files there. */
// srcdir: 'src', /* Typescript sources directory. */
// testdir: 'test', /* Jest tests directory. Tests files should be named `xxx.test.ts`. */
// tsconfig: undefined, /* Custom TSConfig. */
// typescriptVersion: 'latest', /* TypeScript version to use. */
});
project.addTask('diagram:html', {
exec: 'cfn-dia html',
description: 'Creates a HTML diagram of your CDK stack',
});
project.addTask('diagram:draw', {
exec: 'cfn-dia draw.io',
description: 'Creates a Draw.io diagram of your CDK stack',
});
project.synth();