projen 0.31.16 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +988 -242
- package/API.md +387 -18
- package/README.md +1 -0
- package/docs/programmatic-api.md +56 -0
- package/lib/awscdk/cdk-config.d.ts +103 -0
- package/lib/awscdk/cdk-config.js +56 -0
- package/lib/awscdk/cdk-tasks.d.ts +38 -0
- package/lib/awscdk/cdk-tasks.js +39 -0
- package/lib/awscdk/index.d.ts +3 -0
- package/lib/awscdk/index.js +16 -0
- package/lib/awscdk/internal.d.ts +4 -0
- package/lib/awscdk/internal.js +22 -0
- package/lib/awscdk/java-app.d.ts +92 -0
- package/lib/awscdk/java-app.js +90 -0
- package/lib/awscdk-app-ts.d.ts +13 -45
- package/lib/awscdk-app-ts.js +12 -45
- package/lib/awscdk-construct.js +2 -2
- package/lib/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s-construct.js +1 -1
- package/lib/cdktf-construct.js +1 -1
- package/lib/cli/cmds/new.js +23 -65
- package/lib/cli/util.d.ts +19 -0
- package/lib/cli/util.js +52 -0
- package/lib/common.js +6 -2
- package/lib/component.js +1 -1
- package/lib/construct-lib.js +1 -1
- package/lib/deps/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose.js +2 -2
- package/lib/eslint.d.ts +9 -0
- package/lib/eslint.js +3 -2
- package/lib/file.js +1 -1
- package/lib/git/gitattributes.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/ini.js +1 -1
- package/lib/inventory.d.ts +15 -3
- package/lib/inventory.js +50 -25
- package/lib/java/java-project.d.ts +28 -14
- package/lib/java/java-project.js +3 -2
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +1 -1
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/projenrc.js +3 -3
- package/lib/javascript/render-options.d.ts +5 -0
- package/lib/javascript/render-options.js +24 -21
- package/lib/jest.js +1 -1
- package/lib/jsii-project.js +1 -1
- package/lib/json/projenrc.js +1 -1
- package/lib/json/run-projenrc.task.js +6 -11
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/node-package.js +1 -1
- package/lib/node-project.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project.js +2 -2
- package/lib/projects.d.ts +80 -0
- package/lib/projects.js +81 -0
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/tasks/runtime.js +1 -1
- package/lib/tasks/task.js +1 -1
- package/lib/tasks/tasks.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc.js +3 -3
- package/lib/typescript-config.js +1 -1
- package/lib/typescript.js +3 -3
- package/lib/upgrade-dependencies.js +2 -2
- package/lib/util/synth.d.ts +4 -0
- package/lib/util/synth.js +35 -2
- package/lib/version.js +1 -1
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +2 -2
- package/lib/cli/create.d.ts +0 -41
- package/lib/cli/create.js +0 -48
package/API.md
CHANGED
|
@@ -31,6 +31,7 @@ Name|Description
|
|
|
31
31
|
[NodeProject](#projen-nodeproject)|Node.js project.
|
|
32
32
|
[ObjectFile](#projen-objectfile)|Represents an Object file.
|
|
33
33
|
[Project](#projen-project)|Base project.
|
|
34
|
+
[Projects](#projen-projects)|Programmatic API for projen.
|
|
34
35
|
[SampleDir](#projen-sampledir)|Renders the given files into the directory if the directory does not exist.
|
|
35
36
|
[SampleFile](#projen-samplefile)|Produces a file with the given contents but only once, if the file doesn't already exist.
|
|
36
37
|
[SampleReadme](#projen-samplereadme)|Represents a README.md sample file. You are expected to manage this file after creation.
|
|
@@ -47,6 +48,9 @@ Name|Description
|
|
|
47
48
|
[Version](#projen-version)|*No description*
|
|
48
49
|
[XmlFile](#projen-xmlfile)|Represents an XML file.
|
|
49
50
|
[YamlFile](#projen-yamlfile)|Represents a YAML file.
|
|
51
|
+
[awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
|
|
52
|
+
[awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
|
|
53
|
+
[awscdk.CdkTasks](#projen-awscdk-cdktasks)|Adds standard AWS CDK tasks to your project.
|
|
50
54
|
[deps.Dependencies](#projen-deps-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.
|
|
51
55
|
[git.GitAttributesFile](#projen-git-gitattributesfile)|Assign attributes to file names in a git repository.
|
|
52
56
|
[github.AutoApprove](#projen-github-autoapprove)|Auto approve pull requests that meet a criteria.
|
|
@@ -113,6 +117,7 @@ Name|Description
|
|
|
113
117
|
[ConstructLibraryCdktfOptions](#projen-constructlibrarycdktfoptions)|*No description*
|
|
114
118
|
[ConstructLibraryOptions](#projen-constructlibraryoptions)|*No description*
|
|
115
119
|
[CoverageThreshold](#projen-coveragethreshold)|*No description*
|
|
120
|
+
[CreateProjectOptions](#projen-createprojectoptions)|*No description*
|
|
116
121
|
[DevEnvironmentOptions](#projen-devenvironmentoptions)|Base options for configuring a container-based development environment.
|
|
117
122
|
[DockerComposeBuild](#projen-dockercomposebuild)|Build arguments for creating a docker image.
|
|
118
123
|
[DockerComposePortMappingOptions](#projen-dockercomposeportmappingoptions)|Options for port mappings.
|
|
@@ -166,6 +171,9 @@ Name|Description
|
|
|
166
171
|
[VersionOptions](#projen-versionoptions)|Options for `Version`.
|
|
167
172
|
[XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`.
|
|
168
173
|
[YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`.
|
|
174
|
+
[awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
|
|
175
|
+
[awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
|
|
176
|
+
[awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
|
|
169
177
|
[deps.Dependency](#projen-deps-dependency)|Represents a project dependency.
|
|
170
178
|
[deps.DependencyCoordinates](#projen-deps-dependencycoordinates)|Coordinates of the dependency (name and version).
|
|
171
179
|
[deps.DepsManifest](#projen-deps-depsmanifest)|*No description*
|
|
@@ -184,6 +192,7 @@ Name|Description
|
|
|
184
192
|
[github.StaleBehavior](#projen-github-stalebehavior)|Stale behavior.
|
|
185
193
|
[github.StaleOptions](#projen-github-staleoptions)|Options for `Stale`.
|
|
186
194
|
[github.TaskWorkflowOptions](#projen-github-taskworkflowoptions)|*No description*
|
|
195
|
+
[java.JavaProjectCommonOptions](#projen-java-javaprojectcommonoptions)|Options for `JavaProject`.
|
|
187
196
|
[java.JavaProjectOptions](#projen-java-javaprojectoptions)|Options for `JavaProject`.
|
|
188
197
|
[java.JunitOptions](#projen-java-junitoptions)|Options for `Junit`.
|
|
189
198
|
[java.MavenCompileOptions](#projen-java-mavencompileoptions)|Options for `MavenCompile`.
|
|
@@ -269,7 +278,6 @@ Name|Description
|
|
|
269
278
|
Name|Description
|
|
270
279
|
----|-----------
|
|
271
280
|
[AutoRelease](#projen-autorelease)|Automatic bump modes.
|
|
272
|
-
[CdkApprovalLevel](#projen-cdkapprovallevel)|*No description*
|
|
273
281
|
[DockerComposeProtocol](#projen-dockercomposeprotocol)|Network protocol for port mapping.
|
|
274
282
|
[GitpodOnOpen](#projen-gitpodonopen)|What to do when a service on a port is detected.
|
|
275
283
|
[GitpodOpenIn](#projen-gitpodopenin)|Configure where in the IDE the terminal should be opened.
|
|
@@ -283,6 +291,7 @@ Name|Description
|
|
|
283
291
|
[Stability](#projen-stability)|*No description*
|
|
284
292
|
[TypeScriptJsxMode](#projen-typescriptjsxmode)|Determines how JSX should get transformed into valid JavaScript.
|
|
285
293
|
[TypeScriptModuleResolution](#projen-typescriptmoduleresolution)|Determines how modules get resolved.
|
|
294
|
+
[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)|Which approval is required when deploying CDK apps.
|
|
286
295
|
[deps.DependencyType](#projen-deps-dependencytype)|Type of dependency.
|
|
287
296
|
[github.DependabotRegistryType](#projen-github-dependabotregistrytype)|Each configuration type requires you to provide particular settings.
|
|
288
297
|
[github.DependabotScheduleInterval](#projen-github-dependabotscheduleinterval)|How often to check for new versions and raise pull requests for version updates.
|
|
@@ -697,12 +706,14 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
|
|
|
697
706
|
* **tsconfigDev** (<code>[TypescriptConfigOptions](#projen-typescriptconfigoptions)</code>) Custom tsconfig options for the development tsconfig.json file (used for testing). __*Default*__: use the production tsconfig options
|
|
698
707
|
* **tsconfigDevFile** (<code>string</code>) The name of the development tsconfig.json file. __*Default*__: "tsconfig.dev.json"
|
|
699
708
|
* **typescriptVersion** (<code>string</code>) TypeScript version to use. __*Default*__: "latest"
|
|
709
|
+
* **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
|
|
710
|
+
* **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
|
|
711
|
+
* **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
|
|
712
|
+
* **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) 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. __*Default*__: ApprovalLevel.BROADENING
|
|
700
713
|
* **cdkVersion** (<code>string</code>) AWS CDK version to use.
|
|
701
714
|
* **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
|
|
702
715
|
* **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
|
|
703
716
|
* **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
|
|
704
|
-
* **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Optional*__
|
|
705
|
-
* **requireApproval** (<code>[CdkApprovalLevel](#projen-cdkapprovallevel)</code>) 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. __*Default*__: CdkApprovalLevel.BROADENING
|
|
706
717
|
|
|
707
718
|
|
|
708
719
|
|
|
@@ -712,7 +723,8 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
|
|
|
712
723
|
Name | Type | Description
|
|
713
724
|
-----|------|-------------
|
|
714
725
|
**appEntrypoint**🔹 | <code>string</code> | The CDK app entrypoint.
|
|
715
|
-
**cdkConfig**🔹 | <code>
|
|
726
|
+
**cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | cdk.json configuration.
|
|
727
|
+
**cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | Common CDK tasks.
|
|
716
728
|
**cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
|
|
717
729
|
|
|
718
730
|
### Methods
|
|
@@ -1897,6 +1909,7 @@ new Eslint(project: NodeProject, options: EslintOptions)
|
|
|
1897
1909
|
* **ignorePatterns** (<code>Array<string></code>) List of file patterns that should not be linted, using the same syntax as .gitignore patterns. __*Default*__: [ '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage' ]
|
|
1898
1910
|
* **lintProjenRc** (<code>boolean</code>) Should we lint .projenrc.js. __*Default*__: true
|
|
1899
1911
|
* **prettier** (<code>boolean</code>) Enable prettier for code formatting. __*Default*__: false
|
|
1912
|
+
* **tsAlwaysTryTypes** (<code>boolean</code>) Always try to resolve types under `<root>@types` directory even it doesn't contain any source code. __*Default*__: true
|
|
1900
1913
|
* **tsconfigPath** (<code>string</code>) Path to `tsconfig.json` which should be used by eslint. __*Default*__: "./tsconfig.json"
|
|
1901
1914
|
|
|
1902
1915
|
|
|
@@ -3995,6 +4008,42 @@ __Returns__:
|
|
|
3995
4008
|
|
|
3996
4009
|
|
|
3997
4010
|
|
|
4011
|
+
## class Projects 🔹 <a id="projen-projects"></a>
|
|
4012
|
+
|
|
4013
|
+
Programmatic API for projen.
|
|
4014
|
+
|
|
4015
|
+
|
|
4016
|
+
### Methods
|
|
4017
|
+
|
|
4018
|
+
|
|
4019
|
+
#### *static* createProject(options)🔹 <a id="projen-projects-createproject"></a>
|
|
4020
|
+
|
|
4021
|
+
Creates a new project with defaults.
|
|
4022
|
+
|
|
4023
|
+
This function creates the project type in-process (with in VM) and calls
|
|
4024
|
+
`.synth()` on it (if `options.synth` is not `false`).
|
|
4025
|
+
|
|
4026
|
+
At the moment, it also generates a `.projenrc.js` file with the same code
|
|
4027
|
+
that was just executed. In the future, this will also be done by the project
|
|
4028
|
+
type, so we can easily support multiple languages of projenrc.
|
|
4029
|
+
|
|
4030
|
+
```ts
|
|
4031
|
+
static createProject(options: CreateProjectOptions): void
|
|
4032
|
+
```
|
|
4033
|
+
|
|
4034
|
+
* **options** (<code>[CreateProjectOptions](#projen-createprojectoptions)</code>) *No description*
|
|
4035
|
+
* **dir** (<code>string</code>) Directory that the project will be generated in.
|
|
4036
|
+
* **projectFqn** (<code>string</code>) Fully-qualified name of the project type (usually formatted as `module.ProjectType`).
|
|
4037
|
+
* **projectOptions** (<code>Map<string, any></code>) Project options.
|
|
4038
|
+
* **optionHints** (<code>[NewProjectOptionHints](#projen-newprojectoptionhints)</code>) Should we render commented-out default options in the projenrc file? __*Default*__: NewProjectOptionHints.FEATURED
|
|
4039
|
+
* **post** (<code>boolean</code>) Should we execute post synthesis hooks? __*Default*__: true
|
|
4040
|
+
* **synth** (<code>boolean</code>) Should we call `project.synth()` or instantiate the project (could still have side-effects) and render the .projenrc file. __*Default*__: true
|
|
4041
|
+
|
|
4042
|
+
|
|
4043
|
+
|
|
4044
|
+
|
|
4045
|
+
|
|
4046
|
+
|
|
3998
4047
|
## class SampleDir 🔹 <a id="projen-sampledir"></a>
|
|
3999
4048
|
|
|
4000
4049
|
Renders the given files into the directory if the directory does not exist.
|
|
@@ -5076,6 +5125,170 @@ __Returns__:
|
|
|
5076
5125
|
|
|
5077
5126
|
|
|
5078
5127
|
|
|
5128
|
+
## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
|
|
5129
|
+
|
|
5130
|
+
AWS CDK app in Java.
|
|
5131
|
+
|
|
5132
|
+
__Submodule__: awscdk
|
|
5133
|
+
|
|
5134
|
+
__Extends__: [java.JavaProject](#projen-java-javaproject)
|
|
5135
|
+
|
|
5136
|
+
### Initializer
|
|
5137
|
+
|
|
5138
|
+
|
|
5139
|
+
|
|
5140
|
+
|
|
5141
|
+
```ts
|
|
5142
|
+
new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
|
|
5143
|
+
```
|
|
5144
|
+
|
|
5145
|
+
* **options** (<code>[awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)</code>) *No description*
|
|
5146
|
+
* **name** (<code>string</code>) This is the name of your project.
|
|
5147
|
+
* **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
|
|
5148
|
+
* **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
|
|
5149
|
+
* **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
|
|
5150
|
+
* **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
|
|
5151
|
+
* **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
|
|
5152
|
+
* **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
|
|
5153
|
+
* **autoMergeOptions** (<code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code>) Configure options for automatic merging on GitHub. __*Default*__: see defaults in `AutoMergeOptions`
|
|
5154
|
+
* **clobber** (<code>boolean</code>) Add a `clobber` task which resets the repo to origin. __*Default*__: true
|
|
5155
|
+
* **devContainer** (<code>boolean</code>) Add a VSCode development environment (used for GitHub Codespaces). __*Default*__: false
|
|
5156
|
+
* **github** (<code>boolean</code>) Enable GitHub integration. __*Default*__: true
|
|
5157
|
+
* **githubOptions** (<code>[github.GitHubOptions](#projen-github-githuboptions)</code>) Options for GitHub integration. __*Default*__: see GitHubOptions
|
|
5158
|
+
* **gitpod** (<code>boolean</code>) Add a Gitpod development environment. __*Default*__: false
|
|
5159
|
+
* **mergify** (<code>boolean</code>) Whether mergify should be enabled on this repository or not. __*Default*__: true
|
|
5160
|
+
* **projectType** (<code>[ProjectType](#projen-projecttype)</code>) Which type of project this is (library/app). __*Default*__: ProjectType.UNKNOWN
|
|
5161
|
+
* **readme** (<code>[SampleReadmeProps](#projen-samplereadmeprops)</code>) The README setup. __*Default*__: { filename: 'README.md', contents: '# replace this' }
|
|
5162
|
+
* **stale** (<code>boolean</code>) Auto-close of stale issues and pull request. __*Default*__: true
|
|
5163
|
+
* **staleOptions** (<code>[github.StaleOptions](#projen-github-staleoptions)</code>) Auto-close stale issues and pull requests. __*Default*__: see defaults in `StaleOptions`
|
|
5164
|
+
* **vscode** (<code>boolean</code>) Enable VSCode integration. __*Default*__: true
|
|
5165
|
+
* **artifactId** (<code>string</code>) The artifactId is generally the name that the project is known by.
|
|
5166
|
+
* **groupId** (<code>string</code>) This is generally unique amongst an organization or a project.
|
|
5167
|
+
* **version** (<code>string</code>) This is the last piece of the naming puzzle.
|
|
5168
|
+
* **description** (<code>string</code>) Description of a project is always good. __*Default*__: undefined
|
|
5169
|
+
* **packaging** (<code>string</code>) Project packaging format. __*Default*__: "jar"
|
|
5170
|
+
* **url** (<code>string</code>) The URL, like the name, is not required. __*Default*__: undefined
|
|
5171
|
+
* **compileOptions** (<code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code>) Compile options. __*Default*__: defaults
|
|
5172
|
+
* **deps** (<code>Array<string></code>) List of runtime dependencies for this project. __*Default*__: []
|
|
5173
|
+
* **distdir** (<code>string</code>) Final artifact output directory. __*Default*__: "dist/java"
|
|
5174
|
+
* **junit** (<code>boolean</code>) Include junit tests. __*Default*__: true
|
|
5175
|
+
* **junitOptions** (<code>[java.JunitOptions](#projen-java-junitoptions)</code>) junit options. __*Default*__: defaults
|
|
5176
|
+
* **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
|
|
5177
|
+
* **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
|
|
5178
|
+
* **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
|
|
5179
|
+
* **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
|
|
5180
|
+
* **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
|
|
5181
|
+
* **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
|
|
5182
|
+
* **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
|
|
5183
|
+
* **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
|
|
5184
|
+
* **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
|
|
5185
|
+
* **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) 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. __*Default*__: ApprovalLevel.BROADENING
|
|
5186
|
+
* **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
|
|
5187
|
+
* **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
|
|
5188
|
+
* **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
|
|
5189
|
+
|
|
5190
|
+
|
|
5191
|
+
|
|
5192
|
+
### Properties
|
|
5193
|
+
|
|
5194
|
+
|
|
5195
|
+
Name | Type | Description
|
|
5196
|
+
-----|------|-------------
|
|
5197
|
+
**cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | The `cdk.json` file.
|
|
5198
|
+
**cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | CDK tasks.
|
|
5199
|
+
**cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
|
|
5200
|
+
**mainClass**🔹 | <code>string</code> | The full name of the main class of the java app (package.Class).
|
|
5201
|
+
**mainClassName**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
|
|
5202
|
+
**mainPackage**🔹 | <code>string</code> | The name of the Java package that includes the main class.
|
|
5203
|
+
|
|
5204
|
+
### Methods
|
|
5205
|
+
|
|
5206
|
+
|
|
5207
|
+
#### addCdkDependency(...modules)🔹 <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
|
|
5208
|
+
|
|
5209
|
+
Adds an AWS CDK module dependencies.
|
|
5210
|
+
|
|
5211
|
+
```ts
|
|
5212
|
+
addCdkDependency(...modules: string[]): void
|
|
5213
|
+
```
|
|
5214
|
+
|
|
5215
|
+
* **modules** (<code>string</code>) The list of modules to depend on (e.g. "core", "aws-lambda", etc).
|
|
5216
|
+
|
|
5217
|
+
|
|
5218
|
+
|
|
5219
|
+
|
|
5220
|
+
|
|
5221
|
+
|
|
5222
|
+
## class CdkConfig 🔹 <a id="projen-awscdk-cdkconfig"></a>
|
|
5223
|
+
|
|
5224
|
+
Represents cdk.json file.
|
|
5225
|
+
|
|
5226
|
+
__Submodule__: awscdk
|
|
5227
|
+
|
|
5228
|
+
__Extends__: [Component](#projen-component)
|
|
5229
|
+
|
|
5230
|
+
### Initializer
|
|
5231
|
+
|
|
5232
|
+
|
|
5233
|
+
|
|
5234
|
+
|
|
5235
|
+
```ts
|
|
5236
|
+
new awscdk.CdkConfig(project: Project, options: CdkConfigOptions)
|
|
5237
|
+
```
|
|
5238
|
+
|
|
5239
|
+
* **project** (<code>[Project](#projen-project)</code>) *No description*
|
|
5240
|
+
* **options** (<code>[awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)</code>) *No description*
|
|
5241
|
+
* **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
|
|
5242
|
+
* **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
|
|
5243
|
+
* **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
|
|
5244
|
+
* **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) 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. __*Default*__: ApprovalLevel.BROADENING
|
|
5245
|
+
* **app** (<code>string</code>) The command line to execute in order to synthesize the CDK application (language specific).
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
### Properties
|
|
5250
|
+
|
|
5251
|
+
|
|
5252
|
+
Name | Type | Description
|
|
5253
|
+
-----|------|-------------
|
|
5254
|
+
**cdkout**🔹 | <code>string</code> | Name of the cdk.out directory.
|
|
5255
|
+
**json**🔹 | <code>[JsonFile](#projen-jsonfile)</code> | Represents the JSON file.
|
|
5256
|
+
|
|
5257
|
+
|
|
5258
|
+
|
|
5259
|
+
## class CdkTasks 🔹 <a id="projen-awscdk-cdktasks"></a>
|
|
5260
|
+
|
|
5261
|
+
Adds standard AWS CDK tasks to your project.
|
|
5262
|
+
|
|
5263
|
+
__Submodule__: awscdk
|
|
5264
|
+
|
|
5265
|
+
__Extends__: [Component](#projen-component)
|
|
5266
|
+
|
|
5267
|
+
### Initializer
|
|
5268
|
+
|
|
5269
|
+
|
|
5270
|
+
|
|
5271
|
+
|
|
5272
|
+
```ts
|
|
5273
|
+
new awscdk.CdkTasks(project: Project)
|
|
5274
|
+
```
|
|
5275
|
+
|
|
5276
|
+
* **project** (<code>[Project](#projen-project)</code>) *No description*
|
|
5277
|
+
|
|
5278
|
+
|
|
5279
|
+
|
|
5280
|
+
### Properties
|
|
5281
|
+
|
|
5282
|
+
|
|
5283
|
+
Name | Type | Description
|
|
5284
|
+
-----|------|-------------
|
|
5285
|
+
**deploy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Deploys your app.
|
|
5286
|
+
**destroy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Destroys all the stacks.
|
|
5287
|
+
**diff**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Diff against production.
|
|
5288
|
+
**synth**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Synthesizes your app.
|
|
5289
|
+
|
|
5290
|
+
|
|
5291
|
+
|
|
5079
5292
|
## class Dependencies 🔹 <a id="projen-deps-dependencies"></a>
|
|
5080
5293
|
|
|
5081
5294
|
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.
|
|
@@ -5742,9 +5955,9 @@ new java.JavaProject(options: JavaProjectOptions)
|
|
|
5742
5955
|
* **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
|
|
5743
5956
|
* **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
|
|
5744
5957
|
* **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
|
|
5958
|
+
* **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
|
|
5745
5959
|
* **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
|
|
5746
5960
|
* **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
|
|
5747
|
-
* **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
|
|
5748
5961
|
|
|
5749
5962
|
|
|
5750
5963
|
|
|
@@ -5753,6 +5966,7 @@ new java.JavaProject(options: JavaProjectOptions)
|
|
|
5753
5966
|
|
|
5754
5967
|
Name | Type | Description
|
|
5755
5968
|
-----|------|-------------
|
|
5969
|
+
**buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The primary build task.
|
|
5756
5970
|
**compile**🔹 | <code>[java.MavenCompile](#projen-java-mavencompile)</code> | Compile component.
|
|
5757
5971
|
**distdir**🔹 | <code>string</code> | Maven artifact output directory.
|
|
5758
5972
|
**packaging**🔹 | <code>[java.MavenPackaging](#projen-java-mavenpackaging)</code> | Packaging component.
|
|
@@ -8656,11 +8870,12 @@ Name | Type | Description
|
|
|
8656
8870
|
**bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
|
|
8657
8871
|
**cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.<br/>__*Optional*__
|
|
8658
8872
|
**cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
|
|
8873
|
+
**cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
|
|
8659
8874
|
**clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
|
|
8660
8875
|
**codeCov**?🔹 | <code>boolean</code> | 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.<br/>__*Default*__: false
|
|
8661
8876
|
**codeCovTokenSecret**?🔹 | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
|
|
8662
8877
|
**compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
|
|
8663
|
-
**context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*
|
|
8878
|
+
**context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
|
|
8664
8879
|
**copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
|
|
8665
8880
|
**copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
|
|
8666
8881
|
**dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
|
|
@@ -8678,6 +8893,7 @@ Name | Type | Description
|
|
|
8678
8893
|
**entrypointTypes**?🔹 | <code>string</code> | The .d.ts file that includes the type declarations for this module.<br/>__*Default*__: .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
|
|
8679
8894
|
**eslint**?🔹 | <code>boolean</code> | Setup eslint.<br/>__*Default*__: true
|
|
8680
8895
|
**eslintOptions**?🔹 | <code>[EslintOptions](#projen-eslintoptions)</code> | Eslint options.<br/>__*Default*__: opinionated default options
|
|
8896
|
+
**featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
|
|
8681
8897
|
**github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
|
|
8682
8898
|
**githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
|
|
8683
8899
|
**gitignore**?🔹 | <code>Array<string></code> | Additional entries to .gitignore.<br/>__*Optional*__
|
|
@@ -8744,7 +8960,7 @@ Name | Type | Description
|
|
|
8744
8960
|
**releaseWorkflowSetupSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | A set of workflow steps to execute in order to setup the workflow container.<br/>__*Optional*__
|
|
8745
8961
|
**repository**?🔹 | <code>string</code> | The repository is the location where the actual code for your package lives.<br/>__*Optional*__
|
|
8746
8962
|
**repositoryDirectory**?🔹 | <code>string</code> | 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.<br/>__*Optional*__
|
|
8747
|
-
**requireApproval**?🔹 | <code>[
|
|
8963
|
+
**requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | 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.<br/>__*Default*__: ApprovalLevel.BROADENING
|
|
8748
8964
|
**sampleCode**?🔹 | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there.<br/>__*Default*__: true
|
|
8749
8965
|
**scripts**?🔹 | <code>Map<string, string></code> | npm scripts to include.<br/>__*Default*__: {}
|
|
8750
8966
|
**srcdir**?🔹 | <code>string</code> | Typescript sources directory.<br/>__*Default*__: "src"
|
|
@@ -9533,6 +9749,24 @@ Name | Type | Description
|
|
|
9533
9749
|
|
|
9534
9750
|
|
|
9535
9751
|
|
|
9752
|
+
## struct CreateProjectOptions 🔹 <a id="projen-createprojectoptions"></a>
|
|
9753
|
+
|
|
9754
|
+
|
|
9755
|
+
|
|
9756
|
+
|
|
9757
|
+
|
|
9758
|
+
|
|
9759
|
+
Name | Type | Description
|
|
9760
|
+
-----|------|-------------
|
|
9761
|
+
**dir**🔹 | <code>string</code> | Directory that the project will be generated in.
|
|
9762
|
+
**projectFqn**🔹 | <code>string</code> | Fully-qualified name of the project type (usually formatted as `module.ProjectType`).
|
|
9763
|
+
**projectOptions**🔹 | <code>Map<string, any></code> | Project options.
|
|
9764
|
+
**optionHints**?🔹 | <code>[NewProjectOptionHints](#projen-newprojectoptionhints)</code> | Should we render commented-out default options in the projenrc file?<br/>__*Default*__: NewProjectOptionHints.FEATURED
|
|
9765
|
+
**post**?🔹 | <code>boolean</code> | Should we execute post synthesis hooks?<br/>__*Default*__: true
|
|
9766
|
+
**synth**?🔹 | <code>boolean</code> | Should we call `project.synth()` or instantiate the project (could still have side-effects) and render the .projenrc file.<br/>__*Default*__: true
|
|
9767
|
+
|
|
9768
|
+
|
|
9769
|
+
|
|
9536
9770
|
## struct DevEnvironmentOptions 🔹 <a id="projen-devenvironmentoptions"></a>
|
|
9537
9771
|
|
|
9538
9772
|
|
|
@@ -9676,6 +9910,7 @@ Name | Type | Description
|
|
|
9676
9910
|
**ignorePatterns**?🔹 | <code>Array<string></code> | List of file patterns that should not be linted, using the same syntax as .gitignore patterns.<br/>__*Default*__: [ '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage' ]
|
|
9677
9911
|
**lintProjenRc**?🔹 | <code>boolean</code> | Should we lint .projenrc.js.<br/>__*Default*__: true
|
|
9678
9912
|
**prettier**?🔹 | <code>boolean</code> | Enable prettier for code formatting.<br/>__*Default*__: false
|
|
9913
|
+
**tsAlwaysTryTypes**?🔹 | <code>boolean</code> | Always try to resolve types under `<root>@types` directory even it doesn't contain any source code.<br/>__*Default*__: true
|
|
9679
9914
|
**tsconfigPath**?🔹 | <code>string</code> | Path to `tsconfig.json` which should be used by eslint.<br/>__*Default*__: "./tsconfig.json"
|
|
9680
9915
|
|
|
9681
9916
|
|
|
@@ -11194,6 +11429,94 @@ Name | Type | Description
|
|
|
11194
11429
|
|
|
11195
11430
|
|
|
11196
11431
|
|
|
11432
|
+
## struct AwsCdkJavaAppOptions 🔹 <a id="projen-awscdk-awscdkjavaappoptions"></a>
|
|
11433
|
+
|
|
11434
|
+
|
|
11435
|
+
|
|
11436
|
+
|
|
11437
|
+
|
|
11438
|
+
|
|
11439
|
+
Name | Type | Description
|
|
11440
|
+
-----|------|-------------
|
|
11441
|
+
**artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
|
|
11442
|
+
**cdkVersion**🔹 | <code>string</code> | AWS CDK version to use (you can use semantic versioning).
|
|
11443
|
+
**groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
|
|
11444
|
+
**mainClass**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
|
|
11445
|
+
**name**🔹 | <code>string</code> | This is the name of your project.
|
|
11446
|
+
**version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
|
|
11447
|
+
**autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
|
|
11448
|
+
**autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
|
|
11449
|
+
**cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules this app uses.<br/>__*Optional*__
|
|
11450
|
+
**cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
|
|
11451
|
+
**clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
|
|
11452
|
+
**compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
|
|
11453
|
+
**context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
|
|
11454
|
+
**deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
|
|
11455
|
+
**description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
|
|
11456
|
+
**devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
|
|
11457
|
+
**distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
|
|
11458
|
+
**featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
|
|
11459
|
+
**github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
|
|
11460
|
+
**githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
|
|
11461
|
+
**gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
|
|
11462
|
+
**junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
|
|
11463
|
+
**junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
|
|
11464
|
+
**logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
|
|
11465
|
+
**mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
|
|
11466
|
+
**outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
|
|
11467
|
+
**packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
|
|
11468
|
+
**packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
|
|
11469
|
+
**parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
|
|
11470
|
+
**projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
|
|
11471
|
+
**projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
|
|
11472
|
+
**projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
|
|
11473
|
+
**projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
|
|
11474
|
+
**projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
|
|
11475
|
+
**readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
|
|
11476
|
+
**requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | 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.<br/>__*Default*__: ApprovalLevel.BROADENING
|
|
11477
|
+
**sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
|
|
11478
|
+
**sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
|
|
11479
|
+
**stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
|
|
11480
|
+
**staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
|
|
11481
|
+
**testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
|
|
11482
|
+
**url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
|
|
11483
|
+
**vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
|
|
11484
|
+
|
|
11485
|
+
|
|
11486
|
+
|
|
11487
|
+
## struct CdkConfigCommonOptions 🔹 <a id="projen-awscdk-cdkconfigcommonoptions"></a>
|
|
11488
|
+
|
|
11489
|
+
|
|
11490
|
+
Common options for `cdk.json`.
|
|
11491
|
+
|
|
11492
|
+
|
|
11493
|
+
|
|
11494
|
+
Name | Type | Description
|
|
11495
|
+
-----|------|-------------
|
|
11496
|
+
**cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
|
|
11497
|
+
**context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
|
|
11498
|
+
**featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
|
|
11499
|
+
**requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | 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.<br/>__*Default*__: ApprovalLevel.BROADENING
|
|
11500
|
+
|
|
11501
|
+
|
|
11502
|
+
|
|
11503
|
+
## struct CdkConfigOptions 🔹 <a id="projen-awscdk-cdkconfigoptions"></a>
|
|
11504
|
+
|
|
11505
|
+
|
|
11506
|
+
Options for `CdkJson`.
|
|
11507
|
+
|
|
11508
|
+
|
|
11509
|
+
|
|
11510
|
+
Name | Type | Description
|
|
11511
|
+
-----|------|-------------
|
|
11512
|
+
**app**🔹 | <code>string</code> | The command line to execute in order to synthesize the CDK application (language specific).
|
|
11513
|
+
**cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
|
|
11514
|
+
**context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
|
|
11515
|
+
**featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
|
|
11516
|
+
**requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | 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.<br/>__*Default*__: ApprovalLevel.BROADENING
|
|
11517
|
+
|
|
11518
|
+
|
|
11519
|
+
|
|
11197
11520
|
## struct Dependency 🔹 <a id="projen-deps-dependency"></a>
|
|
11198
11521
|
|
|
11199
11522
|
__Obtainable from__: [Dependencies](#projen-deps-dependencies).[addDependency](#projen-deps-dependencies#projen-deps-dependencies-adddependency)(), [Dependencies](#projen-deps-dependencies).[getDependency](#projen-deps-dependencies#projen-deps-dependencies-getdependency)(), [JavaProject](#projen-java-javaproject).[addPlugin](#projen-java-javaproject#projen-java-javaproject-addplugin)(), [Pom](#projen-java-pom).[addPlugin](#projen-java-pom#projen-java-pom-addplugin)()
|
|
@@ -11481,6 +11804,52 @@ Name | Type | Description
|
|
|
11481
11804
|
|
|
11482
11805
|
|
|
11483
11806
|
|
|
11807
|
+
## struct JavaProjectCommonOptions 🔹 <a id="projen-java-javaprojectcommonoptions"></a>
|
|
11808
|
+
|
|
11809
|
+
|
|
11810
|
+
Options for `JavaProject`.
|
|
11811
|
+
|
|
11812
|
+
|
|
11813
|
+
|
|
11814
|
+
Name | Type | Description
|
|
11815
|
+
-----|------|-------------
|
|
11816
|
+
**artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
|
|
11817
|
+
**groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
|
|
11818
|
+
**name**🔹 | <code>string</code> | This is the name of your project.
|
|
11819
|
+
**version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
|
|
11820
|
+
**autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
|
|
11821
|
+
**autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
|
|
11822
|
+
**clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
|
|
11823
|
+
**compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
|
|
11824
|
+
**deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
|
|
11825
|
+
**description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
|
|
11826
|
+
**devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
|
|
11827
|
+
**distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
|
|
11828
|
+
**github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
|
|
11829
|
+
**githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
|
|
11830
|
+
**gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
|
|
11831
|
+
**junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
|
|
11832
|
+
**junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
|
|
11833
|
+
**logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
|
|
11834
|
+
**mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
|
|
11835
|
+
**outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
|
|
11836
|
+
**packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
|
|
11837
|
+
**packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
|
|
11838
|
+
**parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
|
|
11839
|
+
**projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
|
|
11840
|
+
**projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
|
|
11841
|
+
**projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
|
|
11842
|
+
**projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
|
|
11843
|
+
**projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
|
|
11844
|
+
**readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
|
|
11845
|
+
**stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
|
|
11846
|
+
**staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
|
|
11847
|
+
**testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
|
|
11848
|
+
**url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
|
|
11849
|
+
**vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
|
|
11850
|
+
|
|
11851
|
+
|
|
11852
|
+
|
|
11484
11853
|
## struct JavaProjectOptions 🔹 <a id="projen-java-javaprojectoptions"></a>
|
|
11485
11854
|
|
|
11486
11855
|
|
|
@@ -13126,17 +13495,6 @@ Name | Description
|
|
|
13126
13495
|
**DAILY** 🔹|Automatically bump & release a new version on a daily basis.
|
|
13127
13496
|
|
|
13128
13497
|
|
|
13129
|
-
## enum CdkApprovalLevel 🔹 <a id="projen-cdkapprovallevel"></a>
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
Name | Description
|
|
13134
|
-
-----|-----
|
|
13135
|
-
**NEVER** 🔹|Approval is never required.
|
|
13136
|
-
**ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
|
|
13137
|
-
**BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
13498
|
## enum DockerComposeProtocol 🔹 <a id="projen-dockercomposeprotocol"></a>
|
|
13141
13499
|
|
|
13142
13500
|
Network protocol for port mapping.
|
|
@@ -13288,6 +13646,17 @@ Name | Description
|
|
|
13288
13646
|
**NODE** 🔹|Resolution strategy which attempts to mimic the Node.js module resolution strategy at runtime.
|
|
13289
13647
|
|
|
13290
13648
|
|
|
13649
|
+
## enum ApprovalLevel 🔹 <a id="projen-awscdk-approvallevel"></a>
|
|
13650
|
+
|
|
13651
|
+
Which approval is required when deploying CDK apps.
|
|
13652
|
+
|
|
13653
|
+
Name | Description
|
|
13654
|
+
-----|-----
|
|
13655
|
+
**NEVER** 🔹|Approval is never required.
|
|
13656
|
+
**ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
|
|
13657
|
+
**BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
|
|
13658
|
+
|
|
13659
|
+
|
|
13291
13660
|
## enum DependencyType 🔹 <a id="projen-deps-dependencytype"></a>
|
|
13292
13661
|
|
|
13293
13662
|
Type of dependency.
|
package/README.md
CHANGED
|
@@ -46,6 +46,7 @@ Currently supported project types (use `npx projen new` without a type for a
|
|
|
46
46
|
list):
|
|
47
47
|
|
|
48
48
|
<!-- <macro exec="node ./scripts/readme-projects.js"> -->
|
|
49
|
+
* [awscdk-app-java](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkjavaapp) - AWS CDK app in Java.
|
|
49
50
|
* [awscdk-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-awscdktypescriptapp) - AWS CDK app in TypeScript.
|
|
50
51
|
* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdkconstructlibrary) - AWS CDK construct library project.
|
|
51
52
|
* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8stypescriptapp) - CDK8s app in TypeScript.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Programmatic API
|
|
2
|
+
|
|
3
|
+
Projen exposes a programmatic API that allows you to create new projects through
|
|
4
|
+
code instead of the regular CLI command `npx projen new`. This allows projen to
|
|
5
|
+
be used to create new projects within scripts and other contexts.
|
|
6
|
+
|
|
7
|
+
## Example
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
const { Projects } = require('projen');
|
|
11
|
+
|
|
12
|
+
Projects.createProject({
|
|
13
|
+
dir: '/path/to/mydir',
|
|
14
|
+
projectFqn: 'projen.TypeScriptProject',
|
|
15
|
+
projectOptions: {
|
|
16
|
+
name: 'my-test-project',
|
|
17
|
+
defaultReleaseBranch: 'main',
|
|
18
|
+
projenrcTs: true,
|
|
19
|
+
eslintOptions: {
|
|
20
|
+
dirs: ['src', 'test'],
|
|
21
|
+
prettier: true,
|
|
22
|
+
aliasMap: {
|
|
23
|
+
'@src': './src',
|
|
24
|
+
'@components': './src/components',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
post: false,
|
|
29
|
+
// synth: true (default)
|
|
30
|
+
// optionHints: 'featured' (default)
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This script creates a new TypeScript project at `/path/to/mydir` in my file
|
|
35
|
+
system. The `.projenrc.ts` file it generates comes pre-included with options
|
|
36
|
+
specified, including complex values for fields that cannot normally be provided
|
|
37
|
+
through the CLI, like `eslintOptions` (because the field requires an object
|
|
38
|
+
value).
|
|
39
|
+
|
|
40
|
+
In the above example, the provided option `post: false` was also added to
|
|
41
|
+
disable post-installation steps such as installing NPM dependencies.
|
|
42
|
+
|
|
43
|
+
> **Note:** It is important that you provide all fields that are required by the
|
|
44
|
+
project type, otherwise the project may not synthesize properly.
|
|
45
|
+
|
|
46
|
+
It is also possible to use this for installing external project types.
|
|
47
|
+
Currently, this requires you to install the package so that it can be used by
|
|
48
|
+
projen.
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
Projects.createProject({
|
|
52
|
+
// ...
|
|
53
|
+
projectFqn: '@myorg/my-package.MyJsiiProject',
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|