projen 0.32.9 → 0.33.2

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.
Files changed (121) hide show
  1. package/.jsii +624 -623
  2. package/API.md +92 -124
  3. package/docs/project.md +30 -0
  4. package/lib/awscdk/auto-discover.js +1 -1
  5. package/lib/awscdk/cdk-config.js +1 -1
  6. package/lib/awscdk/cdk-tasks.js +1 -1
  7. package/lib/awscdk/java-app.js +3 -3
  8. package/lib/awscdk/lambda-function.js +5 -5
  9. package/lib/awscdk-app-ts.js +3 -3
  10. package/lib/awscdk-construct.js +2 -2
  11. package/lib/cdk8s-app-ts.js +3 -3
  12. package/lib/cdk8s-construct.js +1 -1
  13. package/lib/cdktf-construct.js +1 -1
  14. package/lib/cli/synth.js +5 -2
  15. package/lib/common.d.ts +1 -0
  16. package/lib/common.js +4 -3
  17. package/lib/component.js +1 -1
  18. package/lib/construct-lib.js +1 -1
  19. package/lib/deps/dependencies.js +1 -1
  20. package/lib/dev-env.js +1 -1
  21. package/lib/docker-compose.js +2 -2
  22. package/lib/eslint.js +1 -1
  23. package/lib/file.js +1 -1
  24. package/lib/git/gitattributes.js +1 -1
  25. package/lib/github/auto-approve.js +1 -1
  26. package/lib/github/auto-merge.js +1 -1
  27. package/lib/github/dependabot.js +1 -1
  28. package/lib/github/github.js +1 -1
  29. package/lib/github/mergify.js +1 -1
  30. package/lib/github/pr-template.js +1 -1
  31. package/lib/github/stale.js +1 -1
  32. package/lib/github/task-workflow.js +1 -1
  33. package/lib/github/workflows.js +1 -1
  34. package/lib/gitpod.js +1 -1
  35. package/lib/ignore-file.js +1 -1
  36. package/lib/index.d.ts +1 -0
  37. package/lib/index.js +2 -1
  38. package/lib/ini.js +1 -1
  39. package/lib/java/java-project.d.ts +0 -7
  40. package/lib/java/java-project.js +2 -5
  41. package/lib/java/junit.js +3 -6
  42. package/lib/java/maven-compile.d.ts +0 -5
  43. package/lib/java/maven-compile.js +3 -6
  44. package/lib/java/maven-packaging.d.ts +0 -7
  45. package/lib/java/maven-packaging.js +7 -8
  46. package/lib/java/maven-sample.js +1 -1
  47. package/lib/java/pom.js +1 -1
  48. package/lib/java/projenrc.js +4 -6
  49. package/lib/javascript/bundler.d.ts +1 -8
  50. package/lib/javascript/bundler.js +4 -5
  51. package/lib/javascript/npm-config.js +1 -1
  52. package/lib/javascript/projenrc.js +3 -4
  53. package/lib/jest.js +1 -1
  54. package/lib/jsii-docgen.js +3 -2
  55. package/lib/jsii-project.js +1 -1
  56. package/lib/json/projenrc.js +4 -9
  57. package/lib/json.js +1 -1
  58. package/lib/license.js +1 -1
  59. package/lib/logger.js +6 -5
  60. package/lib/logging.d.ts +1 -0
  61. package/lib/logging.js +6 -4
  62. package/lib/makefile.js +1 -1
  63. package/lib/node-package.d.ts +6 -15
  64. package/lib/node-package.js +22 -15
  65. package/lib/node-project.d.ts +0 -46
  66. package/lib/node-project.js +34 -70
  67. package/lib/object-file.js +1 -1
  68. package/lib/project-build.d.ts +60 -0
  69. package/lib/project-build.js +61 -0
  70. package/lib/project.d.ts +52 -0
  71. package/lib/project.js +39 -9
  72. package/lib/projects.js +1 -1
  73. package/lib/python/pip.js +1 -1
  74. package/lib/python/poetry.d.ts +0 -6
  75. package/lib/python/poetry.js +4 -7
  76. package/lib/python/projenrc.js +3 -5
  77. package/lib/python/pytest.d.ts +0 -5
  78. package/lib/python/pytest.js +6 -9
  79. package/lib/python/python-packaging.d.ts +0 -6
  80. package/lib/python/python-packaging.js +1 -1
  81. package/lib/python/python-project.js +1 -1
  82. package/lib/python/python-sample.js +1 -1
  83. package/lib/python/requirements-file.js +1 -1
  84. package/lib/python/setuppy.js +1 -1
  85. package/lib/python/setuptools.d.ts +0 -6
  86. package/lib/python/setuptools.js +3 -6
  87. package/lib/python/venv.js +1 -1
  88. package/lib/readme.js +1 -1
  89. package/lib/release/publisher.js +1 -1
  90. package/lib/release/release-trigger.js +1 -1
  91. package/lib/release/release.js +1 -1
  92. package/lib/sample-file.js +2 -2
  93. package/lib/semver.js +1 -1
  94. package/lib/source-code.js +1 -1
  95. package/lib/tasks/runtime.js +10 -7
  96. package/lib/tasks/task.d.ts +8 -0
  97. package/lib/tasks/task.js +26 -2
  98. package/lib/tasks/tasks.js +1 -1
  99. package/lib/textfile.js +1 -1
  100. package/lib/toml.js +1 -1
  101. package/lib/typescript/projenrc.js +3 -6
  102. package/lib/typescript-config.js +1 -1
  103. package/lib/typescript-typedoc.js +3 -2
  104. package/lib/typescript.d.ts +0 -13
  105. package/lib/typescript.js +24 -45
  106. package/lib/upgrade-dependencies.js +2 -2
  107. package/lib/util.js +3 -3
  108. package/lib/version.js +1 -1
  109. package/lib/vscode/devcontainer.js +1 -1
  110. package/lib/vscode/launch-config.js +1 -1
  111. package/lib/vscode/vscode.js +1 -1
  112. package/lib/web/next.js +5 -5
  113. package/lib/web/postcss.js +1 -1
  114. package/lib/web/react.js +6 -6
  115. package/lib/web/tailwind.js +1 -1
  116. package/lib/xmlfile.js +1 -1
  117. package/lib/yaml.js +1 -1
  118. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +1 -1
  119. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +2 -2
  120. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +2 -2
  121. package/package.json +7 -5
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
+ [ProjectBuild](#projen-projectbuild)|Manages a standard build process for all projects.
34
35
  [Projects](#projen-projects)|Programmatic API for projen.
35
36
  [SampleDir](#projen-sampledir)|Renders the given files into the directory if the directory does not exist.
36
37
  [SampleFile](#projen-samplefile)|Produces a file with the given contents but only once, if the file doesn't already exist.
@@ -336,6 +337,7 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
336
337
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
337
338
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
338
339
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
340
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
339
341
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
340
342
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
341
343
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -380,7 +382,6 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
380
382
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
381
383
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
382
384
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
383
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
384
385
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
385
386
  * **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. __*Optional*__
386
387
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -421,7 +422,6 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
421
422
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
422
423
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
423
424
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
424
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
425
425
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
426
426
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
427
427
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -436,7 +436,6 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
436
436
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
437
437
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
438
438
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
439
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
440
439
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
441
440
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
442
441
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -548,6 +547,7 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
548
547
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
549
548
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
550
549
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
550
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
551
551
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
552
552
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
553
553
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -592,7 +592,6 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
592
592
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
593
593
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
594
594
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
595
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
596
595
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
597
596
  * **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. __*Optional*__
598
597
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -633,7 +632,6 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
633
632
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
634
633
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
635
634
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
636
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
637
635
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
638
636
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
639
637
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -648,7 +646,6 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
648
646
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
649
647
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
650
648
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
651
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
652
649
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
653
650
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
654
651
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -727,6 +724,7 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
727
724
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
728
725
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
729
726
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
727
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
730
728
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
731
729
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
732
730
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -771,7 +769,6 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
771
769
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
772
770
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
773
771
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
774
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
775
772
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
776
773
  * **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. __*Optional*__
777
774
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -812,7 +809,6 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
812
809
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
813
810
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
814
811
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
815
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
816
812
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
817
813
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
818
814
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -827,7 +823,6 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
827
823
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
828
824
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
829
825
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
830
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
831
826
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
832
827
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
833
828
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -959,6 +954,7 @@ new ConstructLibrary(options: ConstructLibraryOptions)
959
954
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
960
955
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
961
956
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
957
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
962
958
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
963
959
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
964
960
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -1003,7 +999,6 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1003
999
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
1004
1000
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
1005
1001
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
1006
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1007
1002
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
1008
1003
  * **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. __*Optional*__
1009
1004
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -1044,7 +1039,6 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1044
1039
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
1045
1040
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
1046
1041
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
1047
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
1048
1042
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
1049
1043
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
1050
1044
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -1059,7 +1053,6 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1059
1053
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
1060
1054
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
1061
1055
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
1062
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
1063
1056
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
1064
1057
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
1065
1058
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -1115,6 +1108,7 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1115
1108
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
1116
1109
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
1117
1110
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
1111
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1118
1112
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
1119
1113
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
1120
1114
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -1159,7 +1153,6 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1159
1153
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
1160
1154
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
1161
1155
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
1162
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1163
1156
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
1164
1157
  * **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. __*Optional*__
1165
1158
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -1200,7 +1193,6 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1200
1193
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
1201
1194
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
1202
1195
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
1203
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
1204
1196
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
1205
1197
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
1206
1198
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -1215,7 +1207,6 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1215
1207
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
1216
1208
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
1217
1209
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
1218
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
1219
1210
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
1220
1211
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
1221
1212
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -1284,6 +1275,7 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1284
1275
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
1285
1276
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
1286
1277
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
1278
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1287
1279
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
1288
1280
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
1289
1281
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -1328,7 +1320,6 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1328
1320
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
1329
1321
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
1330
1322
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
1331
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1332
1323
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
1333
1324
  * **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. __*Optional*__
1334
1325
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -1369,7 +1360,6 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1369
1360
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
1370
1361
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
1371
1362
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
1372
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
1373
1363
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
1374
1364
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
1375
1365
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -1384,7 +1374,6 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1384
1374
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
1385
1375
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
1386
1376
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
1387
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
1388
1377
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
1389
1378
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
1390
1379
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -1460,6 +1449,7 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1460
1449
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
1461
1450
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
1462
1451
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
1452
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1463
1453
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
1464
1454
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
1465
1455
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -1504,7 +1494,6 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1504
1494
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
1505
1495
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
1506
1496
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
1507
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
1508
1497
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
1509
1498
  * **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. __*Optional*__
1510
1499
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -1545,7 +1534,6 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1545
1534
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
1546
1535
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
1547
1536
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
1548
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
1549
1537
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
1550
1538
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
1551
1539
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -1560,7 +1548,6 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1560
1548
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
1561
1549
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
1562
1550
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
1563
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
1564
1551
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
1565
1552
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
1566
1553
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -2058,6 +2045,7 @@ new GitHubProject(options: GitHubProjectOptions)
2058
2045
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
2059
2046
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
2060
2047
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
2048
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
2061
2049
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
2062
2050
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
2063
2051
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -2533,6 +2521,7 @@ new JsiiProject(options: JsiiProjectOptions)
2533
2521
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
2534
2522
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
2535
2523
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
2524
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
2536
2525
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
2537
2526
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
2538
2527
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -2577,7 +2566,6 @@ new JsiiProject(options: JsiiProjectOptions)
2577
2566
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
2578
2567
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
2579
2568
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
2580
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
2581
2569
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
2582
2570
  * **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. __*Optional*__
2583
2571
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -2618,7 +2606,6 @@ new JsiiProject(options: JsiiProjectOptions)
2618
2606
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
2619
2607
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
2620
2608
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
2621
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
2622
2609
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
2623
2610
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
2624
2611
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -2633,7 +2620,6 @@ new JsiiProject(options: JsiiProjectOptions)
2633
2620
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
2634
2621
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
2635
2622
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
2636
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
2637
2623
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
2638
2624
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
2639
2625
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -3026,7 +3012,6 @@ new NodePackage(project: Project, options?: NodePackageOptions)
3026
3012
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
3027
3013
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
3028
3014
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
3029
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
3030
3015
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
3031
3016
  * **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. __*Optional*__
3032
3017
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -3051,7 +3036,7 @@ Name | Type | Description
3051
3036
  **npmRegistryUrl**🔹 | <code>string</code> | npm registry (e.g. `https://registry.npmjs.org`). Use `npmRegistryHost` to get just the host name.
3052
3037
  **packageManager**🔹 | <code>[NodePackageManager](#projen-nodepackagemanager)</code> | The package manager to use.
3053
3038
  **packageName**🔹 | <code>string</code> | The name of the npm package.
3054
- **projenCommand**🔹 | <code>string</code> | The command to use in order to run the projen CLI.
3039
+ **projenCommand**🔹 | <code>string</code> | The command which executes "projen".
3055
3040
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
3056
3041
  **license**?🔹 | <code>string</code> | The SPDX license of this module.<br/>__*Optional*__
3057
3042
  **maxNodeVersion**?🔹 | <code>string</code> | Maximum node version required by this pacakge.<br/>__*Default*__: no maximum.
@@ -3289,6 +3274,7 @@ new NodeProject(options: NodeProjectOptions)
3289
3274
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
3290
3275
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
3291
3276
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
3277
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
3292
3278
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
3293
3279
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
3294
3280
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -3333,7 +3319,6 @@ new NodeProject(options: NodeProjectOptions)
3333
3319
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
3334
3320
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
3335
3321
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
3336
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
3337
3322
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
3338
3323
  * **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. __*Optional*__
3339
3324
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -3374,7 +3359,6 @@ new NodeProject(options: NodeProjectOptions)
3374
3359
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
3375
3360
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
3376
3361
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
3377
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
3378
3362
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
3379
3363
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
3380
3364
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -3399,9 +3383,7 @@ Name | Type | Description
3399
3383
  -----|------|-------------
3400
3384
  **allowLibraryDependencies**⚠️ | <code>boolean</code> | <span></span>
3401
3385
  **antitamper**🔹 | <code>boolean</code> | Indicates if workflows have anti-tamper checks.
3402
- **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The task responsible for a full release build.
3403
3386
  **bundler**🔹 | <code>[javascript.Bundler](#projen-javascript-bundler)</code> | <span></span>
3404
- **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Compiles the code.
3405
3387
  **entrypoint**⚠️ | <code>string</code> | <span></span>
3406
3388
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
3407
3389
  **manifest**⚠️ | <code>any</code> | <span></span>
@@ -3409,9 +3391,7 @@ Name | Type | Description
3409
3391
  **npmRegistry**⚠️ | <code>string</code> | <span></span>
3410
3392
  **package**🔹 | <code>[NodePackage](#projen-nodepackage)</code> | API for managing the node package.
3411
3393
  **packageManager**⚠️ | <code>[NodePackageManager](#projen-nodepackagemanager)</code> | The package manager to use.
3412
- **projenCommand**🔹 | <code>string</code> | The command to use in order to run the projen CLI.
3413
3394
  **runScriptCommand**🔹 | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
3414
- **testTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Tests the code.
3415
3395
  **autoMerge**?🔹 | <code>[github.AutoMerge](#projen-github-automerge)</code> | Automatic PR merges.<br/>__*Optional*__
3416
3396
  **buildWorkflow**?🔹 | <code>[github.TaskWorkflow](#projen-github-taskworkflow)</code> | The PR build GitHub workflow.<br/>__*Optional*__
3417
3397
  **buildWorkflowJobId**?🔹 | <code>string</code> | __*Optional*__
@@ -3438,19 +3418,6 @@ addBins(bins: Map<string, string>): void
3438
3418
 
3439
3419
 
3440
3420
 
3441
- #### addBuildCommand(...commands)⚠️ <a id="projen-nodeproject-addbuildcommand"></a>
3442
-
3443
- DEPRECATED.
3444
-
3445
- ```ts
3446
- addBuildCommand(...commands: string[]): void
3447
- ```
3448
-
3449
- * **commands** (<code>string</code>) *No description*
3450
-
3451
-
3452
-
3453
-
3454
3421
  #### addBundledDeps(...deps)🔹 <a id="projen-nodeproject-addbundleddeps"></a>
3455
3422
 
3456
3423
  Defines bundled dependencies.
@@ -3764,6 +3731,7 @@ new Project(options: ProjectOptions)
3764
3731
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
3765
3732
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
3766
3733
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
3734
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
3767
3735
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
3768
3736
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
3769
3737
 
@@ -3774,7 +3742,10 @@ new Project(options: ProjectOptions)
3774
3742
 
3775
3743
  Name | Type | Description
3776
3744
  -----|------|-------------
3745
+ **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3746
+ **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3777
3747
  **components**🔹 | <code>Array<[Component](#projen-component)></code> | Returns all the components within this project.
3748
+ **defaultTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | This is the "default" task, the one that executes "projen".
3778
3749
  **deps**🔹 | <code>[deps.Dependencies](#projen-deps-dependencies)</code> | Project dependencies.
3779
3750
  **files**🔹 | <code>Array<[FileBase](#projen-filebase)></code> | All files in this project.
3780
3751
  **gitattributes**🔹 | <code>[git.GitAttributesFile](#projen-git-gitattributesfile)</code> | The .gitattributes file for this repository.
@@ -3782,8 +3753,14 @@ Name | Type | Description
3782
3753
  **logger**🔹 | <code>[Logger](#projen-logger)</code> | Logging utilities.
3783
3754
  **name**🔹 | <code>string</code> | Project name.
3784
3755
  **outdir**🔹 | <code>string</code> | Absolute output directory of this project.
3756
+ **packageTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3757
+ **postCompileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3758
+ **preCompileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3759
+ **projectBuild**🔹 | <code>[ProjectBuild](#projen-projectbuild)</code> | Manages the build process of the project.
3760
+ **projenCommand**🔹 | <code>string</code> | The command to use in order to run the projen CLI.
3785
3761
  **root**🔹 | <code>[Project](#projen-project)</code> | The root project.
3786
3762
  **tasks**🔹 | <code>[tasks.Tasks](#projen-tasks-tasks)</code> | Project tasks.
3763
+ **testTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
3787
3764
  **newProject**?🔹 | <code>[NewProject](#projen-newproject)</code> | The options used when this project is bootstrapped via `projen new`.<br/>__*Optional*__
3788
3765
  **parent**?🔹 | <code>[Project](#projen-project)</code> | A parent project.<br/>__*Optional*__
3789
3766
  *static* **DEFAULT_TASK**🔹 | <code>string</code> | The name of the default task (the task executed when `projen` is run without arguments).
@@ -4003,6 +3980,47 @@ __Returns__:
4003
3980
 
4004
3981
 
4005
3982
 
3983
+ ## class ProjectBuild 🔹 <a id="projen-projectbuild"></a>
3984
+
3985
+ Manages a standard build process for all projects.
3986
+
3987
+ Build spawns these tasks in order:
3988
+ 1. default
3989
+ 2. pre-compile
3990
+ 3. compile
3991
+ 4. post-compile
3992
+ 5. test
3993
+ 6. package
3994
+
3995
+ __Extends__: [Component](#projen-component)
3996
+
3997
+ ### Initializer
3998
+
3999
+
4000
+
4001
+
4002
+ ```ts
4003
+ new ProjectBuild(project: Project)
4004
+ ```
4005
+
4006
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
4007
+
4008
+
4009
+
4010
+ ### Properties
4011
+
4012
+
4013
+ Name | Type | Description
4014
+ -----|------|-------------
4015
+ **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The task responsible for a full release build.
4016
+ **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Compiles the code.
4017
+ **packageTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The "package" task.
4018
+ **postCompileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Post-compile task.
4019
+ **preCompileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Pre-compile task.
4020
+ **testTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Tests the code.
4021
+
4022
+
4023
+
4006
4024
  ## class Projects 🔹 <a id="projen-projects"></a>
4007
4025
 
4008
4026
  Programmatic API for projen.
@@ -4420,6 +4438,7 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4420
4438
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
4421
4439
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
4422
4440
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
4441
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4423
4442
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
4424
4443
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
4425
4444
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -4464,7 +4483,6 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4464
4483
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
4465
4484
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
4466
4485
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
4467
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4468
4486
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
4469
4487
  * **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. __*Optional*__
4470
4488
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -4505,7 +4523,6 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4505
4523
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4506
4524
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4507
4525
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4508
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
4509
4526
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
4510
4527
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
4511
4528
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -4520,7 +4537,6 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4520
4537
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
4521
4538
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
4522
4539
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
4523
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
4524
4540
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
4525
4541
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
4526
4542
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -4562,6 +4578,7 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4562
4578
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
4563
4579
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
4564
4580
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
4581
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4565
4582
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
4566
4583
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
4567
4584
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -4606,7 +4623,6 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4606
4623
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
4607
4624
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
4608
4625
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
4609
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4610
4626
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
4611
4627
  * **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. __*Optional*__
4612
4628
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -4647,7 +4663,6 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4647
4663
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4648
4664
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4649
4665
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4650
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
4651
4666
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
4652
4667
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
4653
4668
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -4662,7 +4677,6 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4662
4677
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
4663
4678
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
4664
4679
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
4665
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
4666
4680
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
4667
4681
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
4668
4682
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -4704,6 +4718,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4704
4718
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
4705
4719
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
4706
4720
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
4721
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4707
4722
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
4708
4723
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
4709
4724
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -4748,7 +4763,6 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4748
4763
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
4749
4764
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
4750
4765
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
4751
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
4752
4766
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
4753
4767
  * **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. __*Optional*__
4754
4768
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -4789,7 +4803,6 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4789
4803
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4790
4804
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4791
4805
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4792
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
4793
4806
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
4794
4807
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
4795
4808
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -4804,7 +4817,6 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4804
4817
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
4805
4818
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
4806
4819
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
4807
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
4808
4820
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
4809
4821
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
4810
4822
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -4838,7 +4850,6 @@ Name | Type | Description
4838
4850
  **watchTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The "watch" task.
4839
4851
  **docgen**?🔹 | <code>boolean</code> | __*Optional*__
4840
4852
  **eslint**?🔹 | <code>[Eslint](#projen-eslint)</code> | __*Optional*__
4841
- **packageTask**?🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The "package" task (or undefined if `package` is set to `false`).<br/>__*Optional*__
4842
4853
  **tsconfig**?🔹 | <code>[TypescriptConfig](#projen-typescriptconfig)</code> | __*Optional*__
4843
4854
  **tsconfigEslint**?🔹 | <code>[TypescriptConfig](#projen-typescriptconfig)</code> | __*Optional*__
4844
4855
 
@@ -5189,6 +5200,7 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
5189
5200
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
5190
5201
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
5191
5202
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
5203
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
5192
5204
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
5193
5205
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
5194
5206
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -6040,6 +6052,7 @@ new java.JavaProject(options: JavaProjectOptions)
6040
6052
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
6041
6053
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
6042
6054
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
6055
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
6043
6056
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
6044
6057
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
6045
6058
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -6081,7 +6094,6 @@ new java.JavaProject(options: JavaProjectOptions)
6081
6094
 
6082
6095
  Name | Type | Description
6083
6096
  -----|------|-------------
6084
- **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The primary build task.
6085
6097
  **compile**🔹 | <code>[java.MavenCompile](#projen-java-mavencompile)</code> | Compile component.
6086
6098
  **distdir**🔹 | <code>string</code> | Maven artifact output directory.
6087
6099
  **packaging**🔹 | <code>[java.MavenPackaging](#projen-java-mavenpackaging)</code> | Packaging component.
@@ -6190,14 +6202,6 @@ new java.MavenCompile(project: Project, pom: Pom, options?: MavenCompileOptions)
6190
6202
 
6191
6203
 
6192
6204
 
6193
- ### Properties
6194
-
6195
-
6196
- Name | Type | Description
6197
- -----|------|-------------
6198
- **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
6199
-
6200
-
6201
6205
 
6202
6206
  ## class MavenPackaging 🔹 <a id="projen-java-mavenpackaging"></a>
6203
6207
 
@@ -6226,14 +6230,6 @@ new java.MavenPackaging(project: Project, pom: Pom, options?: MavenPackagingOpti
6226
6230
 
6227
6231
 
6228
6232
 
6229
- ### Properties
6230
-
6231
-
6232
- Name | Type | Description
6233
- -----|------|-------------
6234
- **task**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The "package" task.
6235
-
6236
-
6237
6233
 
6238
6234
  ## class MavenSample 🔹 <a id="projen-java-mavensample"></a>
6239
6235
 
@@ -6422,13 +6418,12 @@ __Extends__: [Component](#projen-component)
6422
6418
  Creates a `Bundler`.
6423
6419
 
6424
6420
  ```ts
6425
- new javascript.Bundler(project: Project, options: BundlerOptions)
6421
+ new javascript.Bundler(project: Project, options?: BundlerOptions)
6426
6422
  ```
6427
6423
 
6428
6424
  * **project** (<code>[Project](#projen-project)</code>) *No description*
6429
6425
  * **options** (<code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code>) *No description*
6430
6426
  * **esbuildVersion** (<code>string</code>) The semantic version requirement for `esbuild`. __*Default*__: no specific version (implies latest)
6431
- * **parentTask** (<code>[tasks.Task](#projen-tasks-task)</code>) A parent task that will spawn the "bundle" task (usually "compile").
6432
6427
 
6433
6428
 
6434
6429
 
@@ -6693,7 +6688,6 @@ new python.Poetry(project: PythonProject, options: PythonPackagingOptions)
6693
6688
  Name | Type | Description
6694
6689
  -----|------|-------------
6695
6690
  **installTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that installs and updates dependencies.
6696
- **packageTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that packages the project for distribution.
6697
6691
  **publishTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that uploads the package to a package repository.
6698
6692
  **publishTestTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that uploads the package to the Test PyPI repository.
6699
6693
 
@@ -6858,14 +6852,6 @@ new python.Pytest(project: PythonProject, options?: PytestOptions)
6858
6852
 
6859
6853
 
6860
6854
 
6861
- ### Properties
6862
-
6863
-
6864
- Name | Type | Description
6865
- -----|------|-------------
6866
- **testTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | <span></span>
6867
-
6868
-
6869
6855
 
6870
6856
  ## class PythonProject 🔹 <a id="projen-python-pythonproject"></a>
6871
6857
 
@@ -6889,6 +6875,7 @@ new python.PythonProject(options: PythonProjectOptions)
6889
6875
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
6890
6876
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
6891
6877
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
6878
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
6892
6879
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
6893
6880
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
6894
6881
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -7151,7 +7138,6 @@ new python.Setuptools(project: PythonProject, options: PythonPackagingOptions)
7151
7138
 
7152
7139
  Name | Type | Description
7153
7140
  -----|------|-------------
7154
- **packageTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that packages the project for distribution.
7155
7141
  **publishTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that uploads the package to a package repository.
7156
7142
  **publishTestTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that uploads the package to the Test PyPI repository.
7157
7143
 
@@ -7652,6 +7638,18 @@ exec(command: string, options?: TaskStepOptions): void
7652
7638
 
7653
7639
 
7654
7640
 
7641
+ #### lock()🔹 <a id="projen-tasks-task-lock"></a>
7642
+
7643
+ Forbid additional changes to this task.
7644
+
7645
+ ```ts
7646
+ lock(): void
7647
+ ```
7648
+
7649
+
7650
+
7651
+
7652
+
7655
7653
  #### prepend(shell, options?)⚠️ <a id="projen-tasks-task-prepend"></a>
7656
7654
 
7657
7655
  Adds a command at the beginning of the task.
@@ -8181,6 +8179,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8181
8179
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
8182
8180
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
8183
8181
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
8182
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8184
8183
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
8185
8184
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
8186
8185
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -8225,7 +8224,6 @@ new web.NextJsProject(options: NextJsProjectOptions)
8225
8224
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
8226
8225
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
8227
8226
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
8228
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8229
8227
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
8230
8228
  * **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. __*Optional*__
8231
8229
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -8266,7 +8264,6 @@ new web.NextJsProject(options: NextJsProjectOptions)
8266
8264
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8267
8265
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8268
8266
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8269
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
8270
8267
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
8271
8268
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
8272
8269
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -8321,6 +8318,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8321
8318
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
8322
8319
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
8323
8320
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
8321
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8324
8322
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
8325
8323
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
8326
8324
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -8365,7 +8363,6 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8365
8363
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
8366
8364
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
8367
8365
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
8368
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8369
8366
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
8370
8367
  * **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. __*Optional*__
8371
8368
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -8406,7 +8403,6 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8406
8403
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8407
8404
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8408
8405
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8409
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
8410
8406
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
8411
8407
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
8412
8408
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -8421,7 +8417,6 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8421
8417
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
8422
8418
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
8423
8419
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
8424
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
8425
8420
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
8426
8421
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
8427
8422
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -8535,6 +8530,7 @@ new web.ReactProject(options: ReactProjectOptions)
8535
8530
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
8536
8531
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
8537
8532
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
8533
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8538
8534
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
8539
8535
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
8540
8536
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -8579,7 +8575,6 @@ new web.ReactProject(options: ReactProjectOptions)
8579
8575
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
8580
8576
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
8581
8577
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
8582
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8583
8578
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
8584
8579
  * **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. __*Optional*__
8585
8580
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -8620,7 +8615,6 @@ new web.ReactProject(options: ReactProjectOptions)
8620
8615
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8621
8616
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8622
8617
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8623
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
8624
8618
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
8625
8619
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
8626
8620
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -8716,6 +8710,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8716
8710
  * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
8717
8711
  * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
8718
8712
  * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
8713
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8719
8714
  * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
8720
8715
  * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
8721
8716
  * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
@@ -8760,7 +8755,6 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8760
8755
  * **packageName** (<code>string</code>) The "name" in package.json. __*Default*__: defaults to project name
8761
8756
  * **peerDependencyOptions** (<code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code>) Options for `peerDeps`. __*Optional*__
8762
8757
  * **peerDeps** (<code>Array<string></code>) Peer dependencies for this module. __*Default*__: []
8763
- * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
8764
8758
  * **repository** (<code>string</code>) The repository is the location where the actual code for your package lives. __*Optional*__
8765
8759
  * **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. __*Optional*__
8766
8760
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
@@ -8801,7 +8795,6 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8801
8795
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8802
8796
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8803
8797
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8804
- * **projenDuringBuild** (<code>boolean</code>) Execute `projen` as the first step of the `build` task to synthesize project files. __*Default*__: true
8805
8798
  * **projenrcJs** (<code>boolean</code>) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. __*Default*__: true if projenrcJson is false
8806
8799
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
8807
8800
  * **projenUpgradeAutoMerge** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
@@ -8816,7 +8809,6 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8816
8809
  * **workflowBootstrapSteps** (<code>Array<any></code>) Workflow steps to use in order to bootstrap this repo. __*Default*__: "yarn install --frozen-lockfile && yarn projen"
8817
8810
  * **workflowGitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) The git identity to use in workflows. __*Default*__: GitHub Actions
8818
8811
  * **workflowNodeVersion** (<code>string</code>) The node version to use in GitHub workflows. __*Default*__: same as `minNodeVersion`
8819
- * **compileBeforeTest** (<code>boolean</code>) Compile the code before running tests. __*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
8820
8812
  * **disableTsconfig** (<code>boolean</code>) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). __*Default*__: false
8821
8813
  * **docgen** (<code>boolean</code>) Docgen by Typedoc. __*Default*__: false
8822
8814
  * **docsDirectory** (<code>string</code>) Docs directory. __*Default*__: "docs"
@@ -8926,7 +8918,6 @@ Name | Type | Description
8926
8918
  **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
8927
8919
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
8928
8920
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
8929
- **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`.
8930
8921
  **constructsVersion**?🔹 | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
8931
8922
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
8932
8923
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
@@ -8987,7 +8978,6 @@ Name | Type | Description
8987
8978
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
8988
8979
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
8989
8980
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
8990
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
8991
8981
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
8992
8982
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
8993
8983
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9076,7 +9066,6 @@ Name | Type | Description
9076
9066
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
9077
9067
  **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
9078
9068
  **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
9079
- **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`.
9080
9069
  **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
9081
9070
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
9082
9071
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
@@ -9136,7 +9125,6 @@ Name | Type | Description
9136
9125
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9137
9126
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9138
9127
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9139
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9140
9128
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9141
9129
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9142
9130
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9236,7 +9224,6 @@ Name | Type | Description
9236
9224
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
9237
9225
  **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
9238
9226
  **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
9239
- **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`.
9240
9227
  **constructsVersion**?🔹 | <code>string</code> | constructs verion.<br/>__*Default*__: "3.2.34"
9241
9228
  **constructsVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for constructs.<br/>__*Default*__: false
9242
9229
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -9294,7 +9281,6 @@ Name | Type | Description
9294
9281
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9295
9282
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9296
9283
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9297
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9298
9284
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9299
9285
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9300
9286
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9398,7 +9384,6 @@ Name | Type | Description
9398
9384
  **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
9399
9385
  **compat**?⚠️ | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
9400
9386
  **compatIgnore**?⚠️ | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
9401
- **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`.
9402
9387
  **constructsVersion**?⚠️ | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
9403
9388
  **copyrightOwner**?⚠️ | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
9404
9389
  **copyrightPeriod**?⚠️ | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
@@ -9459,7 +9444,6 @@ Name | Type | Description
9459
9444
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9460
9445
  **projenCommand**?⚠️ | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9461
9446
  **projenDevDependency**?⚠️ | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9462
- **projenDuringBuild**?⚠️ | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9463
9447
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9464
9448
  **projenUpgradeSchedule**?⚠️ | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9465
9449
  **projenUpgradeSecret**?⚠️ | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9553,7 +9537,6 @@ Name | Type | Description
9553
9537
  **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
9554
9538
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
9555
9539
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
9556
- **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`.
9557
9540
  **constructsVersion**?🔹 | <code>string</code> | constructs verion.<br/>__*Default*__: "3.2.34"
9558
9541
  **constructsVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for constructs.<br/>__*Default*__: false
9559
9542
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -9613,7 +9596,6 @@ Name | Type | Description
9613
9596
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9614
9597
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9615
9598
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9616
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9617
9599
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9618
9600
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9619
9601
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9704,7 +9686,6 @@ Name | Type | Description
9704
9686
  **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
9705
9687
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
9706
9688
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
9707
- **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`.
9708
9689
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
9709
9690
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
9710
9691
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -9762,7 +9743,6 @@ Name | Type | Description
9762
9743
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9763
9744
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9764
9745
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9765
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9766
9746
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9767
9747
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9768
9748
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -9852,7 +9832,6 @@ Name | Type | Description
9852
9832
  **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
9853
9833
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
9854
9834
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
9855
- **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`.
9856
9835
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
9857
9836
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
9858
9837
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -9910,7 +9889,6 @@ Name | Type | Description
9910
9889
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
9911
9890
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
9912
9891
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
9913
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
9914
9892
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
9915
9893
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
9916
9894
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -10198,6 +10176,7 @@ Name | Type | Description
10198
10176
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
10199
10177
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
10200
10178
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
10179
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
10201
10180
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
10202
10181
  **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10203
10182
  **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
@@ -10687,7 +10666,6 @@ Name | Type | Description
10687
10666
  **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
10688
10667
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
10689
10668
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
10690
- **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`.
10691
10669
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10692
10670
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
10693
10671
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -10745,7 +10723,6 @@ Name | Type | Description
10745
10723
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
10746
10724
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
10747
10725
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
10748
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
10749
10726
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
10750
10727
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
10751
10728
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -10936,7 +10913,6 @@ Name | Type | Description
10936
10913
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10937
10914
  **peerDependencyOptions**?🔹 | <code>[PeerDependencyOptions](#projen-peerdependencyoptions)</code> | Options for `peerDeps`.<br/>__*Optional*__
10938
10915
  **peerDeps**?🔹 | <code>Array<string></code> | Peer dependencies for this module.<br/>__*Default*__: []
10939
- **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
10940
10916
  **repository**?🔹 | <code>string</code> | The repository is the location where the actual code for your package lives.<br/>__*Optional*__
10941
10917
  **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*__
10942
10918
  **scripts**?🔹 | <code>Map<string, string></code> | npm scripts to include.<br/>__*Default*__: {}
@@ -11022,7 +10998,6 @@ Name | Type | Description
11022
10998
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11023
10999
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11024
11000
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
11025
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
11026
11001
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
11027
11002
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
11028
11003
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -11119,6 +11094,7 @@ Name | Type | Description
11119
11094
  **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
11120
11095
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11121
11096
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
11097
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11122
11098
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
11123
11099
  **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11124
11100
 
@@ -11325,7 +11301,6 @@ Name | Type | Description
11325
11301
  **codeArtifactOptions**?⚠️ | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
11326
11302
  **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
11327
11303
  **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
11328
- **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`.
11329
11304
  **copyrightOwner**?⚠️ | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
11330
11305
  **copyrightPeriod**?⚠️ | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
11331
11306
  **dependabot**?⚠️ | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -11381,7 +11356,6 @@ Name | Type | Description
11381
11356
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11382
11357
  **projenCommand**?⚠️ | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11383
11358
  **projenDevDependency**?⚠️ | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
11384
- **projenDuringBuild**?⚠️ | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
11385
11359
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
11386
11360
  **projenUpgradeSchedule**?⚠️ | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
11387
11361
  **projenUpgradeSecret**?⚠️ | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -11459,7 +11433,6 @@ Name | Type | Description
11459
11433
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
11460
11434
  **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
11461
11435
  **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
11462
- **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`.
11463
11436
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
11464
11437
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
11465
11438
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -11515,7 +11488,6 @@ Name | Type | Description
11515
11488
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11516
11489
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11517
11490
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
11518
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
11519
11491
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
11520
11492
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
11521
11493
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -11724,6 +11696,7 @@ Name | Type | Description
11724
11696
  **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
11725
11697
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
11726
11698
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11699
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11727
11700
  **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
11728
11701
  **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
11729
11702
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
@@ -12131,6 +12104,7 @@ Name | Type | Description
12131
12104
  **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
12132
12105
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
12133
12106
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
12107
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
12134
12108
  **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
12135
12109
  **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
12136
12110
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
@@ -12178,6 +12152,7 @@ Name | Type | Description
12178
12152
  **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
12179
12153
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
12180
12154
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
12155
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
12181
12156
  **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
12182
12157
  **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
12183
12158
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
@@ -12354,7 +12329,6 @@ Options for `Bundler`.
12354
12329
 
12355
12330
  Name | Type | Description
12356
12331
  -----|------|-------------
12357
- **parentTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A parent task that will spawn the "bundle" task (usually "compile").
12358
12332
  **esbuildVersion**?🔹 | <code>string</code> | The semantic version requirement for `esbuild`.<br/>__*Default*__: no specific version (implies latest)
12359
12333
 
12360
12334
 
@@ -12501,7 +12475,6 @@ __Implemented by__: [python.Poetry](#projen-python-poetry), [python.Setuptools](
12501
12475
 
12502
12476
  Name | Type | Description
12503
12477
  -----|------|-------------
12504
- **packageTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that packages the project for distribution.
12505
12478
  **publishTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A task that uploads the package to a package repository.
12506
12479
 
12507
12480
 
@@ -12664,6 +12637,7 @@ Name | Type | Description
12664
12637
  **poetry**?🔹 | <code>boolean</code> | Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing.<br/>__*Default*__: false
12665
12638
  **poetryOptions**?🔹 | <code>[python.PoetryPyprojectOptionsWithoutDeps](#projen-python-poetrypyprojectoptionswithoutdeps)</code> | Additional options to set for poetry if using poetry.<br/>__*Optional*__
12666
12639
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
12640
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
12667
12641
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12668
12642
  **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12669
12643
  **projenrcPython**?🔹 | <code>boolean</code> | Use projenrc in python.<br/>__*Default*__: false
@@ -13349,7 +13323,6 @@ Name | Type | Description
13349
13323
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
13350
13324
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
13351
13325
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
13352
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
13353
13326
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
13354
13327
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
13355
13328
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -13422,7 +13395,6 @@ Name | Type | Description
13422
13395
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13423
13396
  **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
13424
13397
  **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
13425
- **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`.
13426
13398
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
13427
13399
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
13428
13400
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -13478,7 +13450,6 @@ Name | Type | Description
13478
13450
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
13479
13451
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
13480
13452
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
13481
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
13482
13453
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
13483
13454
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
13484
13455
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -13633,7 +13604,6 @@ Name | Type | Description
13633
13604
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
13634
13605
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
13635
13606
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
13636
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
13637
13607
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
13638
13608
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
13639
13609
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests
@@ -13734,7 +13704,6 @@ Name | Type | Description
13734
13704
  **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13735
13705
  **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
13736
13706
  **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
13737
- **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`.
13738
13707
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
13739
13708
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
13740
13709
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -13790,7 +13759,6 @@ Name | Type | Description
13790
13759
  **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
13791
13760
  **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
13792
13761
  **projenDevDependency**?🔹 | <code>boolean</code> | Indicates of "projen" should be installed as a devDependency.<br/>__*Default*__: true
13793
- **projenDuringBuild**?🔹 | <code>boolean</code> | Execute `projen` as the first step of the `build` task to synthesize project files.<br/>__*Default*__: true
13794
13762
  **projenUpgradeAutoMerge**?⚠️ | <code>boolean</code> | Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued).<br/>__*Default*__: false
13795
13763
  **projenUpgradeSchedule**?🔹 | <code>Array<string></code> | Customize the projenUpgrade schedule in cron expression.<br/>__*Default*__: [ "0 6 * * *" ]
13796
13764
  **projenUpgradeSecret**?🔹 | <code>string</code> | Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`).<br/>__*Default*__: no automatic projen upgrade pull requests