projen 0.45.3 → 0.46.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 (171) hide show
  1. package/.jsii +1246 -462
  2. package/API.md +348 -61
  3. package/README.md +1 -0
  4. package/dist/changelog.md +2 -0
  5. package/dist/releasetag.txt +1 -0
  6. package/dist/version.txt +1 -0
  7. package/docs/build.md +55 -0
  8. package/docs/mutable-builds.md +0 -27
  9. package/docs/publisher.md +35 -1
  10. package/lib/awscdk/auto-discover.js +1 -1
  11. package/lib/awscdk/awscdk-app-ts.js +1 -1
  12. package/lib/awscdk/awscdk-construct.js +2 -2
  13. package/lib/awscdk/awscdk-deps.js +1 -1
  14. package/lib/awscdk/cdk-config.js +1 -1
  15. package/lib/awscdk/cdk-tasks.js +1 -1
  16. package/lib/awscdk/integration-test.js +5 -2
  17. package/lib/awscdk/java-app.js +1 -1
  18. package/lib/awscdk/lambda-function.js +2 -2
  19. package/lib/build/build-workflow.d.ts +125 -0
  20. package/lib/build/build-workflow.js +217 -0
  21. package/lib/build/index.d.ts +1 -0
  22. package/lib/build/index.js +14 -0
  23. package/lib/cdk/construct-lib.js +1 -1
  24. package/lib/cdk/consts.d.ts +14 -0
  25. package/lib/cdk/consts.js +37 -0
  26. package/lib/cdk/jsii-docgen.js +1 -1
  27. package/lib/cdk/jsii-project.d.ts +13 -0
  28. package/lib/cdk/jsii-project.js +107 -44
  29. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  30. package/lib/cdk8s/cdk8s-construct.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/component.js +1 -1
  33. package/lib/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose.js +2 -2
  36. package/lib/file.js +1 -1
  37. package/lib/gitattributes.js +1 -1
  38. package/lib/github/auto-approve.js +1 -1
  39. package/lib/github/auto-merge.js +1 -1
  40. package/lib/github/constants.js +2 -1
  41. package/lib/github/dependabot.js +1 -1
  42. package/lib/github/github-project.js +1 -1
  43. package/lib/github/github.d.ts +6 -0
  44. package/lib/github/github.js +11 -2
  45. package/lib/github/mergify.js +1 -1
  46. package/lib/github/pr-template.js +1 -1
  47. package/lib/github/pull-request-lint.js +1 -1
  48. package/lib/github/stale.js +1 -1
  49. package/lib/github/task-workflow.d.ts +4 -0
  50. package/lib/github/task-workflow.js +6 -5
  51. package/lib/github/workflows-model.d.ts +62 -0
  52. package/lib/github/workflows-model.js +1 -1
  53. package/lib/github/workflows.d.ts +8 -0
  54. package/lib/github/workflows.js +39 -3
  55. package/lib/gitpod.js +1 -1
  56. package/lib/ignore-file.js +1 -1
  57. package/lib/index.d.ts +1 -0
  58. package/lib/index.js +2 -1
  59. package/lib/ini.js +1 -1
  60. package/lib/java/java-project.js +1 -1
  61. package/lib/java/junit.js +1 -1
  62. package/lib/java/maven-compile.js +1 -1
  63. package/lib/java/maven-packaging.js +1 -1
  64. package/lib/java/maven-sample.js +1 -1
  65. package/lib/java/pom.js +1 -1
  66. package/lib/java/projenrc.js +1 -1
  67. package/lib/javascript/bundler.js +1 -1
  68. package/lib/javascript/eslint.js +1 -1
  69. package/lib/javascript/jest.js +1 -1
  70. package/lib/javascript/node-package.js +1 -1
  71. package/lib/javascript/node-project.d.ts +46 -7
  72. package/lib/javascript/node-project.js +64 -129
  73. package/lib/javascript/npm-config.js +1 -1
  74. package/lib/javascript/projenrc.js +1 -1
  75. package/lib/javascript/typescript-config.js +1 -1
  76. package/lib/javascript/upgrade-dependencies.d.ts +15 -0
  77. package/lib/javascript/upgrade-dependencies.js +18 -6
  78. package/lib/json.js +1 -1
  79. package/lib/license.js +1 -1
  80. package/lib/logger.js +1 -1
  81. package/lib/makefile.js +1 -1
  82. package/lib/object-file.js +1 -1
  83. package/lib/project-build.js +1 -1
  84. package/lib/project.js +1 -1
  85. package/lib/projects.js +1 -1
  86. package/lib/projenrc-json.js +1 -1
  87. package/lib/python/pip.js +1 -1
  88. package/lib/python/poetry.js +2 -2
  89. package/lib/python/projenrc.js +1 -1
  90. package/lib/python/pytest.js +1 -1
  91. package/lib/python/python-project.js +1 -1
  92. package/lib/python/python-sample.js +1 -1
  93. package/lib/python/requirements-file.js +1 -1
  94. package/lib/python/setuppy.js +1 -1
  95. package/lib/python/setuptools.js +1 -1
  96. package/lib/python/venv.js +1 -1
  97. package/lib/readme.js +1 -1
  98. package/lib/release/publisher.d.ts +39 -7
  99. package/lib/release/publisher.js +51 -43
  100. package/lib/release/release-trigger.js +1 -1
  101. package/lib/release/release.d.ts +20 -8
  102. package/lib/release/release.js +3 -2
  103. package/lib/sample-file.js +2 -2
  104. package/lib/semver.js +1 -1
  105. package/lib/source-code.js +1 -1
  106. package/lib/task-runtime.js +1 -1
  107. package/lib/task.js +1 -1
  108. package/lib/tasks.js +1 -1
  109. package/lib/testing.js +1 -1
  110. package/lib/textfile.js +1 -1
  111. package/lib/toml.js +1 -1
  112. package/lib/typescript/projenrc.js +1 -1
  113. package/lib/typescript/typescript-typedoc.js +1 -1
  114. package/lib/typescript/typescript.d.ts +0 -7
  115. package/lib/typescript/typescript.js +23 -28
  116. package/lib/version.js +1 -1
  117. package/lib/vscode/devcontainer.js +1 -1
  118. package/lib/vscode/launch-config.js +1 -1
  119. package/lib/vscode/vscode.js +1 -1
  120. package/lib/web/next.js +3 -3
  121. package/lib/web/postcss.js +1 -1
  122. package/lib/web/react.js +6 -6
  123. package/lib/web/tailwind.js +1 -1
  124. package/lib/xmlfile.js +1 -1
  125. package/lib/yaml.js +1 -1
  126. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +1 -1
  127. package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +1 -1
  128. package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +7 -3
  129. package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +9 -9
  130. package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1 -1
  131. package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +1 -1
  132. package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +1 -1
  133. package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +2 -2
  134. package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +2 -2
  135. package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  136. package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +12 -10
  137. package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +17 -12
  138. package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +1 -1
  139. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +2 -2
  140. package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +5 -5
  141. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +62 -11
  142. package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +20 -3
  143. package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +3 -3
  144. package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +1 -1
  145. package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +1 -1
  146. package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +4 -5
  147. package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +11 -11
  148. package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +1 -1
  149. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +2 -2
  150. package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +9 -1
  151. package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +6 -4
  152. package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +1 -1
  153. package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +1 -1
  154. package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +121 -14
  155. package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +1 -1
  156. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +3 -65
  157. package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +2 -2
  158. package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +1 -1
  159. package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +1 -1
  160. package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +3 -2
  161. package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +1 -1
  162. package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +1 -1
  163. package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +58 -18
  164. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +3 -3
  165. package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +3 -3
  166. package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +1 -1
  167. package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +1 -1
  168. package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +4 -4
  169. package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +1 -1
  170. package/package.json +11 -7
  171. package/docs/project.md +0 -30
package/API.md CHANGED
@@ -48,6 +48,7 @@ Name|Description
48
48
  [awscdk.IntegrationTest](#projen-awscdk-integrationtest)|Cloud integration tests.
49
49
  [awscdk.LambdaFunction](#projen-awscdk-lambdafunction)|Generates a pre-bundled AWS Lambda function construct from handler code.
50
50
  [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)|The runtime for the AWS Lambda function.
51
+ [build.BuildWorkflow](#projen-build-buildworkflow)|*No description*
51
52
  [cdk.ConstructLibrary](#projen-cdk-constructlibrary)|A multi-language library for CDK constructs.
52
53
  [cdk.JsiiDocgen](#projen-cdk-jsiidocgen)|Creates an API.md file based on the jsii manifest: - Adds a `docgen` script to package.json - Runs `jsii-docgen` after compilation - Enforces that API.md is checked in.
53
54
  [cdk.JsiiProject](#projen-cdk-jsiiproject)|Multi-language jsii library project.
@@ -175,6 +176,7 @@ Name|Description
175
176
  [awscdk.IntegrationTestOptions](#projen-awscdk-integrationtestoptions)|Options for `IntegrationTest`.
176
177
  [awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)|Common options for `LambdaFunction`.
177
178
  [awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)|Options for `Function`.
179
+ [build.BuildWorkflowOptions](#projen-build-buildworkflowoptions)|*No description*
178
180
  [cdk.Catalog](#projen-cdk-catalog)|*No description*
179
181
  [cdk.ConstructLibraryOptions](#projen-cdk-constructlibraryoptions)|*No description*
180
182
  [cdk.JsiiDotNetTarget](#projen-cdk-jsiidotnettarget)|*No description*
@@ -247,6 +249,7 @@ Name|Description
247
249
  [python.VenvOptions](#projen-python-venvoptions)|Options for venv.
248
250
  [release.BranchOptions](#projen-release-branchoptions)|Options for a release branch.
249
251
  [release.CodeArtifactOptions](#projen-release-codeartifactoptions)|*No description*
252
+ [release.CommonPublishOptions](#projen-release-commonpublishoptions)|Common publishing options.
250
253
  [release.GitHubReleasesPublishOptions](#projen-release-githubreleasespublishoptions)|Publishing options for GitHub releases.
251
254
  [release.GitPublishOptions](#projen-release-gitpublishoptions)|Publishing options for Git releases.
252
255
  [release.GoPublishOptions](#projen-release-gopublishoptions)|*No description*
@@ -2939,12 +2942,12 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
2939
2942
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
2940
2943
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
2941
2944
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
2942
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
2943
2945
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
2944
2946
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
2945
2947
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
2946
2948
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
2947
2949
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
2950
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
2948
2951
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
2949
2952
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
2950
2953
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -2959,6 +2962,7 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
2959
2962
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
2960
2963
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
2961
2964
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
2965
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
2962
2966
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
2963
2967
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
2964
2968
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -2977,6 +2981,7 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
2977
2981
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
2978
2982
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
2979
2983
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
2984
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
2980
2985
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
2981
2986
  * **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
2982
2987
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -2999,7 +3004,6 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
2999
3004
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
3000
3005
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
3001
3006
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
3002
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
3003
3007
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
3004
3008
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
3005
3009
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -3328,12 +3332,12 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3328
3332
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
3329
3333
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
3330
3334
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
3331
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
3332
3335
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
3333
3336
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
3334
3337
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
3335
3338
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
3336
3339
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
3340
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
3337
3341
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
3338
3342
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
3339
3343
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -3348,6 +3352,7 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3348
3352
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
3349
3353
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
3350
3354
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
3355
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
3351
3356
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3352
3357
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3353
3358
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -3366,6 +3371,7 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3366
3371
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
3367
3372
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
3368
3373
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
3374
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
3369
3375
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
3370
3376
  * **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
3371
3377
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -3388,7 +3394,6 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3388
3394
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
3389
3395
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
3390
3396
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
3391
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
3392
3397
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
3393
3398
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
3394
3399
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -3593,12 +3598,12 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3593
3598
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
3594
3599
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
3595
3600
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
3596
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
3597
3601
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
3598
3602
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
3599
3603
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
3600
3604
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
3601
3605
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
3606
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
3602
3607
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
3603
3608
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
3604
3609
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -3613,6 +3618,7 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3613
3618
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
3614
3619
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
3615
3620
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
3621
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
3616
3622
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3617
3623
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3618
3624
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -3631,6 +3637,7 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3631
3637
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
3632
3638
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
3633
3639
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
3640
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
3634
3641
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
3635
3642
  * **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
3636
3643
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -3653,7 +3660,6 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3653
3660
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
3654
3661
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
3655
3662
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
3656
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
3657
3663
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
3658
3664
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
3659
3665
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -3791,6 +3797,102 @@ Name | Type | Description
3791
3797
 
3792
3798
 
3793
3799
 
3800
+ ## class BuildWorkflow 🔹 <a id="projen-build-buildworkflow"></a>
3801
+
3802
+
3803
+
3804
+ __Submodule__: build
3805
+
3806
+ __Extends__: [Component](#projen-component)
3807
+
3808
+ ### Initializer
3809
+
3810
+
3811
+
3812
+
3813
+ ```ts
3814
+ new build.BuildWorkflow(project: Project, options: BuildWorkflowOptions)
3815
+ ```
3816
+
3817
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3818
+ * **options** (<code>[build.BuildWorkflowOptions](#projen-build-buildworkflowoptions)</code>) *No description*
3819
+ * **artifactsDirectory** (<code>string</code>) A name of a directory that includes build artifacts.
3820
+ * **buildTask** (<code>[Task](#projen-task)</code>) The task to execute in order to build the project.
3821
+ * **antitamper** (<code>boolean</code>) Enable anti-tamper check. __*Default*__: true
3822
+ * **containerImage** (<code>string</code>) The container image to use for builds. __*Default*__: the default workflow container
3823
+ * **env** (<code>Map<string, string></code>) Build environment variables. __*Default*__: {}
3824
+ * **gitIdentity** (<code>[github.GitIdentity](#projen-github-gitidentity)</code>) Git identity to use for the workflow. __*Default*__: default identity
3825
+ * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
3826
+ * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build. __*Default*__: []
3827
+ * **preBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before the build. __*Default*__: []
3828
+
3829
+
3830
+
3831
+ ### Properties
3832
+
3833
+
3834
+ Name | Type | Description
3835
+ -----|------|-------------
3836
+ **buildJobIds**🔹 | <code>Array<string></code> | Returns a list of job IDs that are part of the build.
3837
+
3838
+ ### Methods
3839
+
3840
+
3841
+ #### addPostBuildJob(id, job)🔹 <a id="projen-build-buildworkflow-addpostbuildjob"></a>
3842
+
3843
+ Adds another job to the build workflow which is executed after the build job succeeded.
3844
+
3845
+ ```ts
3846
+ addPostBuildJob(id: string, job: Job): void
3847
+ ```
3848
+
3849
+ * **id** (<code>string</code>) The id of the new job.
3850
+ * **job** (<code>[github.workflows.Job](#projen-github-workflows-job)</code>) The job specification.
3851
+ * **permissions** (<code>[github.workflows.JobPermissions](#projen-github-workflows-jobpermissions)</code>) You can modify the default permissions granted to the GITHUB_TOKEN, adding or removing access as required, so that you only allow the minimum required access.
3852
+ * **runsOn** (<code>Array<string></code>) The type of machine to run the job on.
3853
+ * **steps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) A job contains a sequence of tasks called steps.
3854
+ * **concurrency** (<code>any</code>) Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. __*Optional*__
3855
+ * **container** (<code>[github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)</code>) A container to run any steps in a job that don't already specify a container. __*Optional*__
3856
+ * **continueOnError** (<code>boolean</code>) Prevents a workflow run from failing when a job fails. __*Optional*__
3857
+ * **defaults** (<code>[github.workflows.JobDefaults](#projen-github-workflows-jobdefaults)</code>) A map of default settings that will apply to all steps in the job. __*Optional*__
3858
+ * **env** (<code>Map<string, string></code>) A map of environment variables that are available to all steps in the job. __*Optional*__
3859
+ * **environment** (<code>any</code>) The environment that the job references. __*Optional*__
3860
+ * **if** (<code>string</code>) You can use the if conditional to prevent a job from running unless a condition is met. __*Optional*__
3861
+ * **name** (<code>string</code>) The name of the job displayed on GitHub. __*Optional*__
3862
+ * **needs** (<code>Array<string></code>) Identifies any jobs that must complete successfully before this job will run. __*Optional*__
3863
+ * **outputs** (<code>Map<string, [github.workflows.JobStepOutput](#projen-github-workflows-jobstepoutput)></code>) A map of outputs for a job. __*Optional*__
3864
+ * **services** (<code>Map<string, [github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)></code>) Used to host service containers for a job in a workflow. __*Optional*__
3865
+ * **strategy** (<code>[github.workflows.JobStrategy](#projen-github-workflows-jobstrategy)</code>) A strategy creates a build matrix for your jobs. __*Optional*__
3866
+ * **timeoutMinutes** (<code>number</code>) The maximum number of minutes to let a job run before GitHub automatically cancels it. __*Default*__: 360
3867
+ * **tools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Tools required for this job. __*Optional*__
3868
+
3869
+
3870
+
3871
+
3872
+ #### addPostBuildSteps(...steps)🔹 <a id="projen-build-buildworkflow-addpostbuildsteps"></a>
3873
+
3874
+ Adds steps that are executed after the build.
3875
+
3876
+ ```ts
3877
+ addPostBuildSteps(...steps: JobStep[]): void
3878
+ ```
3879
+
3880
+ * **steps** (<code>[github.workflows.JobStep](#projen-github-workflows-jobstep)</code>) The job steps.
3881
+ * **continueOnError** (<code>boolean</code>) Prevents a job from failing when a step fails. __*Optional*__
3882
+ * **env** (<code>Map<string, string></code>) Sets environment variables for steps to use in the runner environment. __*Optional*__
3883
+ * **id** (<code>string</code>) A unique identifier for the step. __*Optional*__
3884
+ * **if** (<code>string</code>) You can use the if conditional to prevent a job from running unless a condition is met. __*Optional*__
3885
+ * **name** (<code>string</code>) A name for your step to display on GitHub. __*Optional*__
3886
+ * **run** (<code>string</code>) Runs command-line programs using the operating system's shell. __*Optional*__
3887
+ * **timeoutMinutes** (<code>number</code>) The maximum number of minutes to run the step before killing the process. __*Optional*__
3888
+ * **uses** (<code>string</code>) Selects an action to run as part of a step in your job. __*Optional*__
3889
+ * **with** (<code>Map<string, any></code>) A map of the input parameters defined by the action. __*Optional*__
3890
+
3891
+
3892
+
3893
+
3894
+
3895
+
3794
3896
  ## class ConstructLibrary 🔹 <a id="projen-cdk-constructlibrary"></a>
3795
3897
 
3796
3898
  A multi-language library for CDK constructs.
@@ -3863,12 +3965,12 @@ new cdk.ConstructLibrary(options: ConstructLibraryOptions)
3863
3965
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
3864
3966
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
3865
3967
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
3866
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
3867
3968
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
3868
3969
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
3869
3970
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
3870
3971
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
3871
3972
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
3973
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
3872
3974
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
3873
3975
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
3874
3976
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -3883,6 +3985,7 @@ new cdk.ConstructLibrary(options: ConstructLibraryOptions)
3883
3985
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
3884
3986
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
3885
3987
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
3988
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
3886
3989
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3887
3990
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3888
3991
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -3901,6 +4004,7 @@ new cdk.ConstructLibrary(options: ConstructLibraryOptions)
3901
4004
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
3902
4005
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
3903
4006
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4007
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
3904
4008
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
3905
4009
  * **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
3906
4010
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -3923,7 +4027,6 @@ new cdk.ConstructLibrary(options: ConstructLibraryOptions)
3923
4027
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
3924
4028
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
3925
4029
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
3926
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
3927
4030
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
3928
4031
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
3929
4032
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -4043,12 +4146,12 @@ new cdk.JsiiProject(options: JsiiProjectOptions)
4043
4146
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
4044
4147
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
4045
4148
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
4046
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
4047
4149
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
4048
4150
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
4049
4151
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
4050
4152
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
4051
4153
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
4154
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
4052
4155
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
4053
4156
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
4054
4157
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -4063,6 +4166,7 @@ new cdk.JsiiProject(options: JsiiProjectOptions)
4063
4166
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
4064
4167
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
4065
4168
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
4169
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
4066
4170
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4067
4171
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4068
4172
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -4081,6 +4185,7 @@ new cdk.JsiiProject(options: JsiiProjectOptions)
4081
4185
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
4082
4186
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4083
4187
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4188
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
4084
4189
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4085
4190
  * **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
4086
4191
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -4103,7 +4208,6 @@ new cdk.JsiiProject(options: JsiiProjectOptions)
4103
4208
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
4104
4209
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
4105
4210
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
4106
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
4107
4211
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
4108
4212
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
4109
4213
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -4209,12 +4313,12 @@ new cdk8s.Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
4209
4313
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
4210
4314
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
4211
4315
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
4212
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
4213
4316
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
4214
4317
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
4215
4318
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
4216
4319
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
4217
4320
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
4321
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
4218
4322
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
4219
4323
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
4220
4324
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -4229,6 +4333,7 @@ new cdk8s.Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
4229
4333
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
4230
4334
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
4231
4335
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
4336
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
4232
4337
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4233
4338
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4234
4339
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -4247,6 +4352,7 @@ new cdk8s.Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
4247
4352
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
4248
4353
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4249
4354
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4355
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
4250
4356
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4251
4357
  * **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
4252
4358
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -4269,7 +4375,6 @@ new cdk8s.Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
4269
4375
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
4270
4376
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
4271
4377
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
4272
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
4273
4378
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
4274
4379
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
4275
4380
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -4377,12 +4482,12 @@ new cdk8s.ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
4377
4482
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
4378
4483
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
4379
4484
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
4380
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
4381
4485
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
4382
4486
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
4383
4487
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
4384
4488
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
4385
4489
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
4490
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
4386
4491
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
4387
4492
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
4388
4493
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -4397,6 +4502,7 @@ new cdk8s.ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
4397
4502
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
4398
4503
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
4399
4504
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
4505
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
4400
4506
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4401
4507
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4402
4508
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -4415,6 +4521,7 @@ new cdk8s.ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
4415
4521
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
4416
4522
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4417
4523
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4524
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
4418
4525
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4419
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
4420
4527
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -4437,7 +4544,6 @@ new cdk8s.ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
4437
4544
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
4438
4545
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
4439
4546
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
4440
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
4441
4547
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
4442
4548
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
4443
4549
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -4554,12 +4660,12 @@ new cdktf.ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
4554
4660
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
4555
4661
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
4556
4662
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
4557
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
4558
4663
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
4559
4664
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
4560
4665
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
4561
4666
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
4562
4667
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
4668
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
4563
4669
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
4564
4670
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
4565
4671
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -4574,6 +4680,7 @@ new cdktf.ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
4574
4680
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
4575
4681
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
4576
4682
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
4683
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
4577
4684
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4578
4685
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4579
4686
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -4592,6 +4699,7 @@ new cdktf.ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
4592
4699
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
4593
4700
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
4594
4701
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
4702
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
4595
4703
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
4596
4704
  * **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
4597
4705
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -4614,7 +4722,6 @@ new cdktf.ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
4614
4722
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
4615
4723
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
4616
4724
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
4617
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
4618
4725
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
4619
4726
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
4620
4727
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -4868,6 +4975,19 @@ tryFindWorkflow(name: string): GithubWorkflow
4868
4975
  __Returns__:
4869
4976
  * <code>[github.GithubWorkflow](#projen-github-githubworkflow)</code>
4870
4977
 
4978
+ #### *static* of(project)🔹 <a id="projen-github-github-of"></a>
4979
+
4980
+ Returns the `GitHub` component of a project or `undefined` if the project does not have a GitHub component.
4981
+
4982
+ ```ts
4983
+ static of(project: Project): GitHub
4984
+ ```
4985
+
4986
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
4987
+
4988
+ __Returns__:
4989
+ * <code>[github.GitHub](#projen-github-github)</code>
4990
+
4871
4991
 
4872
4992
 
4873
4993
  ## class GitHubProject ⚠️ <a id="projen-github-githubproject"></a>
@@ -4985,6 +5105,37 @@ Name | Type | Description
4985
5105
  ### Methods
4986
5106
 
4987
5107
 
5108
+ #### addJob(id, job)🔹 <a id="projen-github-githubworkflow-addjob"></a>
5109
+
5110
+ Adds a single job to the workflow.
5111
+
5112
+ ```ts
5113
+ addJob(id: string, job: Job): void
5114
+ ```
5115
+
5116
+ * **id** (<code>string</code>) The job name (unique within the workflow).
5117
+ * **job** (<code>[github.workflows.Job](#projen-github-workflows-job)</code>) The job specification.
5118
+ * **permissions** (<code>[github.workflows.JobPermissions](#projen-github-workflows-jobpermissions)</code>) You can modify the default permissions granted to the GITHUB_TOKEN, adding or removing access as required, so that you only allow the minimum required access.
5119
+ * **runsOn** (<code>Array<string></code>) The type of machine to run the job on.
5120
+ * **steps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) A job contains a sequence of tasks called steps.
5121
+ * **concurrency** (<code>any</code>) Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. __*Optional*__
5122
+ * **container** (<code>[github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)</code>) A container to run any steps in a job that don't already specify a container. __*Optional*__
5123
+ * **continueOnError** (<code>boolean</code>) Prevents a workflow run from failing when a job fails. __*Optional*__
5124
+ * **defaults** (<code>[github.workflows.JobDefaults](#projen-github-workflows-jobdefaults)</code>) A map of default settings that will apply to all steps in the job. __*Optional*__
5125
+ * **env** (<code>Map<string, string></code>) A map of environment variables that are available to all steps in the job. __*Optional*__
5126
+ * **environment** (<code>any</code>) The environment that the job references. __*Optional*__
5127
+ * **if** (<code>string</code>) You can use the if conditional to prevent a job from running unless a condition is met. __*Optional*__
5128
+ * **name** (<code>string</code>) The name of the job displayed on GitHub. __*Optional*__
5129
+ * **needs** (<code>Array<string></code>) Identifies any jobs that must complete successfully before this job will run. __*Optional*__
5130
+ * **outputs** (<code>Map<string, [github.workflows.JobStepOutput](#projen-github-workflows-jobstepoutput)></code>) A map of outputs for a job. __*Optional*__
5131
+ * **services** (<code>Map<string, [github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)></code>) Used to host service containers for a job in a workflow. __*Optional*__
5132
+ * **strategy** (<code>[github.workflows.JobStrategy](#projen-github-workflows-jobstrategy)</code>) A strategy creates a build matrix for your jobs. __*Optional*__
5133
+ * **timeoutMinutes** (<code>number</code>) The maximum number of minutes to let a job run before GitHub automatically cancels it. __*Default*__: 360
5134
+ * **tools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Tools required for this job. __*Optional*__
5135
+
5136
+
5137
+
5138
+
4988
5139
  #### addJobs(jobs)🔹 <a id="projen-github-githubworkflow-addjobs"></a>
4989
5140
 
4990
5141
  Add jobs to the workflow.
@@ -5218,6 +5369,7 @@ new github.TaskWorkflow(github: GitHub, options: TaskWorkflowOptions)
5218
5369
  Name | Type | Description
5219
5370
  -----|------|-------------
5220
5371
  **jobId**🔹 | <code>string</code> | <span></span>
5372
+ **artifactsDirectory**?🔹 | <code>string</code> | __*Optional*__
5221
5373
 
5222
5374
 
5223
5375
 
@@ -6263,12 +6415,12 @@ new javascript.NodeProject(options: NodeProjectOptions)
6263
6415
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
6264
6416
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
6265
6417
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
6266
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
6267
6418
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
6268
6419
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
6269
6420
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
6270
6421
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
6271
6422
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
6423
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
6272
6424
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
6273
6425
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
6274
6426
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -6283,6 +6435,7 @@ new javascript.NodeProject(options: NodeProjectOptions)
6283
6435
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
6284
6436
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
6285
6437
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
6438
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
6286
6439
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
6287
6440
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
6288
6441
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -6301,6 +6454,7 @@ new javascript.NodeProject(options: NodeProjectOptions)
6301
6454
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
6302
6455
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
6303
6456
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
6457
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
6304
6458
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
6305
6459
  * **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
6306
6460
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -6326,6 +6480,8 @@ Name | Type | Description
6326
6480
  -----|------|-------------
6327
6481
  **allowLibraryDependencies**⚠️ | <code>boolean</code> | <span></span>
6328
6482
  **antitamper**🔹 | <code>boolean</code> | Indicates if workflows have anti-tamper checks.
6483
+ **artifactsDirectory**🔹 | <code>string</code> | The build output directory.
6484
+ **artifactsJavascriptDirectory**🔹 | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`).
6329
6485
  **bundler**🔹 | <code>[javascript.Bundler](#projen-javascript-bundler)</code> | <span></span>
6330
6486
  **entrypoint**⚠️ | <code>string</code> | <span></span>
6331
6487
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
@@ -6334,14 +6490,15 @@ Name | Type | Description
6334
6490
  **packageManager**⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The package manager to use.
6335
6491
  **runScriptCommand**🔹 | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
6336
6492
  **autoMerge**?🔹 | <code>[github.AutoMerge](#projen-github-automerge)</code> | Automatic PR merges.<br/>__*Optional*__
6337
- **buildWorkflow**?🔹 | <code>[github.TaskWorkflow](#projen-github-taskworkflow)</code> | The PR build GitHub workflow.<br/>__*Optional*__
6338
- **buildWorkflowJobId**?🔹 | <code>string</code> | __*Optional*__
6493
+ **buildWorkflow**?🔹 | <code>[build.BuildWorkflow](#projen-build-buildworkflow)</code> | The PR build GitHub workflow.<br/>__*Optional*__
6494
+ **buildWorkflowJobId**?🔹 | <code>string</code> | The job ID of the build workflow.<br/>__*Optional*__
6339
6495
  **jest**?🔹 | <code>[javascript.Jest](#projen-javascript-jest)</code> | The Jest configuration (if enabled).<br/>__*Optional*__
6340
6496
  **maxNodeVersion**?🔹 | <code>string</code> | Maximum node version required by this pacakge.<br/>__*Optional*__
6341
6497
  **minNodeVersion**?🔹 | <code>string</code> | Minimum node.js version required by this package.<br/>__*Optional*__
6342
6498
  **npmignore**?🔹 | <code>[IgnoreFile](#projen-ignorefile)</code> | The .npmignore file.<br/>__*Optional*__
6343
6499
  **publisher**?⚠️ | <code>[release.Publisher](#projen-release-publisher)</code> | Package publisher.<br/>__*Optional*__
6344
6500
  **release**?🔹 | <code>[release.Release](#projen-release-release)</code> | Release management.<br/>__*Optional*__
6501
+ **upgradeWorkflow**?🔹 | <code>[javascript.UpgradeDependencies](#projen-javascript-upgradedependencies)</code> | The upgrade workflow.<br/>__*Optional*__
6345
6502
 
6346
6503
  ### Methods
6347
6504
 
@@ -6727,10 +6884,33 @@ Name | Type | Description
6727
6884
  -----|------|-------------
6728
6885
  **ignoresProjen**🔹 | <code>boolean</code> | Whether or not projen is also upgraded in this workflow,.
6729
6886
  **workflows**🔹 | <code>Array<[github.GithubWorkflow](#projen-github-githubworkflow)></code> | The workflows that execute the upgrades.
6887
+ **containerOptions**?🔹 | <code>[github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)</code> | Container definitions for the upgrade workflow.<br/>__*Optional*__
6730
6888
 
6731
6889
  ### Methods
6732
6890
 
6733
6891
 
6892
+ #### addPostBuildSteps(...steps)🔹 <a id="projen-javascript-upgradedependencies-addpostbuildsteps"></a>
6893
+
6894
+ Add steps to execute a successful build.
6895
+
6896
+ ```ts
6897
+ addPostBuildSteps(...steps: JobStep[]): void
6898
+ ```
6899
+
6900
+ * **steps** (<code>[github.workflows.JobStep](#projen-github-workflows-jobstep)</code>) worklfow steps.
6901
+ * **continueOnError** (<code>boolean</code>) Prevents a job from failing when a step fails. __*Optional*__
6902
+ * **env** (<code>Map<string, string></code>) Sets environment variables for steps to use in the runner environment. __*Optional*__
6903
+ * **id** (<code>string</code>) A unique identifier for the step. __*Optional*__
6904
+ * **if** (<code>string</code>) You can use the if conditional to prevent a job from running unless a condition is met. __*Optional*__
6905
+ * **name** (<code>string</code>) A name for your step to display on GitHub. __*Optional*__
6906
+ * **run** (<code>string</code>) Runs command-line programs using the operating system's shell. __*Optional*__
6907
+ * **timeoutMinutes** (<code>number</code>) The maximum number of minutes to run the step before killing the process. __*Optional*__
6908
+ * **uses** (<code>string</code>) Selects an action to run as part of a step in your job. __*Optional*__
6909
+ * **with** (<code>Map<string, any></code>) A map of the input parameters defined by the action. __*Optional*__
6910
+
6911
+
6912
+
6913
+
6734
6914
  #### preSynthesize()🔹 <a id="projen-javascript-upgradedependencies-presynthesize"></a>
6735
6915
 
6736
6916
  Called before synthesis.
@@ -7413,6 +7593,7 @@ new release.Publisher(project: Project, options: PublisherOptions)
7413
7593
  * **artifactName** (<code>string</code>) The name of the artifact to download (e.g. `dist`).
7414
7594
  * **buildJobId** (<code>string</code>) The job ID that produces the build artifacts.
7415
7595
  * **condition** (<code>string</code>) A GitHub workflow expression used as a condition for publishers. __*Default*__: no condition
7596
+ * **dryRun** (<code>boolean</code>) Do not actually publish, only print the commands that would be executed instead. __*Optional*__
7416
7597
  * **failureIssue** (<code>boolean</code>) Create an issue when a publish task fails. __*Default*__: false
7417
7598
  * **failureIssueLabel** (<code>string</code>) The label to apply to the issue marking failed publish tasks. __*Default*__: "failed-release"
7418
7599
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement for `jsii-release`. __*Default*__: "latest"
@@ -7464,6 +7645,8 @@ publishToGitHubReleases(options: GitHubReleasesPublishOptions): void
7464
7645
  ```
7465
7646
 
7466
7647
  * **options** (<code>[release.GitHubReleasesPublishOptions](#projen-release-githubreleasespublishoptions)</code>) Options.
7648
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7649
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7467
7650
  * **changelogFile** (<code>string</code>) The location of an .md file (relative to `dist/`) that includes the changelog for the release.
7468
7651
  * **releaseTagFile** (<code>string</code>) The location of a text file (relative to `dist/`) that contains the release tag.
7469
7652
  * **versionFile** (<code>string</code>) The location of a text file (relative to `dist/`) that contains the version number.
@@ -7480,6 +7663,8 @@ publishToGo(options?: GoPublishOptions): void
7480
7663
  ```
7481
7664
 
7482
7665
  * **options** (<code>[release.GoPublishOptions](#projen-release-gopublishoptions)</code>) Options.
7666
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7667
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7483
7668
  * **gitBranch** (<code>string</code>) Branch to push to. __*Default*__: "main"
7484
7669
  * **gitCommitMessage** (<code>string</code>) The commit message. __*Default*__: "chore(release): $VERSION"
7485
7670
  * **githubRepo** (<code>string</code>) GitHub repository to push to. __*Default*__: derived from `moduleName`
@@ -7499,6 +7684,8 @@ publishToMaven(options?: MavenPublishOptions): void
7499
7684
  ```
7500
7685
 
7501
7686
  * **options** (<code>[release.MavenPublishOptions](#projen-release-mavenpublishoptions)</code>) Options.
7687
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7688
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7502
7689
  * **mavenEndpoint** (<code>string</code>) URL of Nexus repository. __*Default*__: "https://oss.sonatype.org"
7503
7690
  * **mavenGpgPrivateKeyPassphrase** (<code>string</code>) GitHub secret name which contains the GPG private key or file that includes it. __*Default*__: "MAVEN_GPG_PRIVATE_KEY_PASSPHRASE" or not set when using GitHub Packages
7504
7691
  * **mavenGpgPrivateKeySecret** (<code>string</code>) GitHub secret name which contains the GPG private key or file that includes it. __*Default*__: "MAVEN_GPG_PRIVATE_KEY" or not set when using GitHub Packages
@@ -7520,6 +7707,8 @@ publishToNpm(options?: NpmPublishOptions): void
7520
7707
  ```
7521
7708
 
7522
7709
  * **options** (<code>[release.NpmPublishOptions](#projen-release-npmpublishoptions)</code>) Options.
7710
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7711
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7523
7712
  * **codeArtifactOptions** (<code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
7524
7713
  * **distTag** (<code>string</code>) Tags can be used to provide an alias instead of version numbers. __*Default*__: "latest"
7525
7714
  * **npmTokenSecret** (<code>string</code>) GitHub secret which contains the NPM token to use when publishing packages. __*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
@@ -7537,6 +7726,8 @@ publishToNuget(options?: NugetPublishOptions): void
7537
7726
  ```
7538
7727
 
7539
7728
  * **options** (<code>[release.NugetPublishOptions](#projen-release-nugetpublishoptions)</code>) Options.
7729
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7730
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7540
7731
  * **nugetApiKeySecret** (<code>string</code>) GitHub secret which contains the API key for NuGet. __*Default*__: "NUGET_API_KEY"
7541
7732
 
7542
7733
 
@@ -7551,6 +7742,8 @@ publishToPyPi(options?: PyPiPublishOptions): void
7551
7742
  ```
7552
7743
 
7553
7744
  * **options** (<code>[release.PyPiPublishOptions](#projen-release-pypipublishoptions)</code>) Options.
7745
+ * **prePublishSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede. __*Optional*__
7746
+ * **publishTools** (<code>[github.workflows.Tools](#projen-github-workflows-tools)</code>) Additional tools to install in the publishing job. __*Default*__: no additional tools are installed
7554
7747
  * **twinePasswordSecret** (<code>string</code>) The GitHub secret which contains PyPI password. __*Default*__: "TWINE_PASSWORD"
7555
7748
  * **twineRegistryUrl** (<code>string</code>) The registry url to use when releasing packages. __*Default*__: twine default
7556
7749
  * **twineUsernameSecret** (<code>string</code>) The GitHub secret which contains PyPI user name. __*Default*__: "TWINE_USERNAME"
@@ -7582,12 +7775,12 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7582
7775
  * **project** (<code>[github.GitHubProject](#projen-github-githubproject)</code>) *No description*
7583
7776
  * **options** (<code>[release.ReleaseOptions](#projen-release-releaseoptions)</code>) *No description*
7584
7777
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
7585
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
7586
7778
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
7587
7779
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
7588
7780
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
7589
7781
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
7590
7782
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
7783
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
7591
7784
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
7592
7785
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
7593
7786
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -7601,6 +7794,7 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7601
7794
  * **versionrcOptions** (<code>Map<string, any></code>) Custom configuration used when creating changelog with standard-version package. __*Default*__: standard configuration applicable for GitHub repositories
7602
7795
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
7603
7796
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
7797
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts.
7604
7798
  * **branch** (<code>string</code>) The default branch name to release from.
7605
7799
  * **task** (<code>[Task](#projen-task)</code>) The task to execute in order to create the release artifacts.
7606
7800
  * **versionFile** (<code>string</code>) A name of a .json file to set the `version` field in after a bump.
@@ -7613,6 +7807,7 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7613
7807
 
7614
7808
  Name | Type | Description
7615
7809
  -----|------|-------------
7810
+ **artifactsDirectory**🔹 | <code>string</code> | Location of build artifacts.
7616
7811
  **branches**🔹 | <code>Array<string></code> | Retrieve all release branch names.
7617
7812
  **publisher**🔹 | <code>[release.Publisher](#projen-release-publisher)</code> | Package publisher.
7618
7813
 
@@ -7850,12 +8045,12 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7850
8045
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
7851
8046
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
7852
8047
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
7853
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
7854
8048
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
7855
8049
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
7856
8050
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
7857
8051
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
7858
8052
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8053
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
7859
8054
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
7860
8055
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
7861
8056
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -7870,6 +8065,7 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7870
8065
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
7871
8066
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
7872
8067
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8068
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
7873
8069
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
7874
8070
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
7875
8071
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -7888,6 +8084,7 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7888
8084
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
7889
8085
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
7890
8086
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8087
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
7891
8088
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
7892
8089
  * **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
7893
8090
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -7910,7 +8107,6 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7910
8107
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
7911
8108
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
7912
8109
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
7913
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
7914
8110
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
7915
8111
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
7916
8112
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -7995,12 +8191,12 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
7995
8191
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
7996
8192
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
7997
8193
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
7998
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
7999
8194
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8000
8195
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8001
8196
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8002
8197
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8003
8198
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8199
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8004
8200
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8005
8201
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
8006
8202
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8015,6 +8211,7 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8015
8211
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8016
8212
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8017
8213
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8214
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8018
8215
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8019
8216
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8020
8217
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8033,6 +8230,7 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8033
8230
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8034
8231
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8035
8232
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8233
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8036
8234
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8037
8235
  * **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
8038
8236
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8055,7 +8253,6 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8055
8253
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8056
8254
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8057
8255
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
8058
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
8059
8256
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8060
8257
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8061
8258
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8140,12 +8337,12 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8140
8337
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8141
8338
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8142
8339
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
8143
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
8144
8340
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8145
8341
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8146
8342
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8147
8343
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8148
8344
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8345
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8149
8346
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8150
8347
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
8151
8348
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8160,6 +8357,7 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8160
8357
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8161
8358
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8162
8359
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8360
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8163
8361
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8164
8362
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8165
8363
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8178,6 +8376,7 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8178
8376
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8179
8377
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8180
8378
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8379
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8181
8380
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8182
8381
  * **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
8183
8382
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8200,7 +8399,6 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8200
8399
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8201
8400
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8202
8401
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
8203
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
8204
8402
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8205
8403
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8206
8404
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8530,12 +8728,12 @@ new web.NextJsProject(options: NextJsProjectOptions)
8530
8728
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8531
8729
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8532
8730
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
8533
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
8534
8731
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8535
8732
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8536
8733
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8537
8734
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8538
8735
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8736
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8539
8737
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8540
8738
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
8541
8739
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8550,6 +8748,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8550
8748
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8551
8749
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8552
8750
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8751
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8553
8752
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8554
8753
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8555
8754
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8568,6 +8767,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8568
8767
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8569
8768
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8570
8769
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8770
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8571
8771
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8572
8772
  * **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
8573
8773
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8672,12 +8872,12 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8672
8872
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8673
8873
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8674
8874
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
8675
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
8676
8875
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8677
8876
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8678
8877
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8679
8878
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8680
8879
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8880
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8681
8881
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8682
8882
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
8683
8883
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8692,6 +8892,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8692
8892
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8693
8893
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8694
8894
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8895
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8695
8896
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8696
8897
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8697
8898
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8710,6 +8911,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8710
8911
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8711
8912
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8712
8913
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8914
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8713
8915
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8714
8916
  * **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
8715
8917
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8732,7 +8934,6 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8732
8934
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8733
8935
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8734
8936
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
8735
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
8736
8937
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8737
8938
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8738
8939
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8887,12 +9088,12 @@ new web.ReactProject(options: ReactProjectOptions)
8887
9088
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8888
9089
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8889
9090
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
8890
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
8891
9091
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8892
9092
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8893
9093
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8894
9094
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8895
9095
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
9096
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8896
9097
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8897
9098
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
8898
9099
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8907,6 +9108,7 @@ new web.ReactProject(options: ReactProjectOptions)
8907
9108
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8908
9109
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8909
9110
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
9111
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8910
9112
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8911
9113
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8912
9114
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8925,6 +9127,7 @@ new web.ReactProject(options: ReactProjectOptions)
8925
9127
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8926
9128
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8927
9129
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
9130
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8928
9131
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8929
9132
  * **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
8930
9133
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -9070,12 +9273,12 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9070
9273
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
9071
9274
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
9072
9275
  * **antitamper** (<code>boolean</code>) Checks that after build there are no modified files on git. __*Default*__: true
9073
- * **artifactsDirectory** (<code>string</code>) A directory which will contain artifacts to be published to npm. __*Default*__: "dist"
9074
9276
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
9075
9277
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
9076
9278
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
9077
9279
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
9078
9280
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
9281
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
9079
9282
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
9080
9283
  * **releaseBranches** (<code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code>) Defines additional release branches. __*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
9081
9284
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -9090,6 +9293,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9090
9293
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
9091
9294
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
9092
9295
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
9296
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
9093
9297
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
9094
9298
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
9095
9299
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -9108,6 +9312,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9108
9312
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
9109
9313
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
9110
9314
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
9315
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
9111
9316
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
9112
9317
  * **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
9113
9318
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -9130,7 +9335,6 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9130
9335
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
9131
9336
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
9132
9337
  * **libdir** (<code>string</code>) Typescript artifacts output directory. __*Default*__: "lib"
9133
- * **package** (<code>boolean</code>) Defines a `yarn package` command that will produce a tarball and place it under `dist/js`. __*Default*__: true
9134
9338
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
9135
9339
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
9136
9340
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -10115,7 +10319,7 @@ Name | Type | Description
10115
10319
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
10116
10320
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10117
10321
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
10118
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
10322
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10119
10323
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10120
10324
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10121
10325
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10191,7 +10395,7 @@ Name | Type | Description
10191
10395
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10192
10396
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10193
10397
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
10194
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
10398
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
10195
10399
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10196
10400
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10197
10401
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10212,6 +10416,7 @@ Name | Type | Description
10212
10416
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10213
10417
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10214
10418
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10419
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10215
10420
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10216
10421
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10217
10422
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10373,7 +10578,7 @@ Name | Type | Description
10373
10578
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10374
10579
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
10375
10580
  **appEntrypoint**?🔹 | <code>string</code> | The CDK app's entrypoint (relative to the source directory, which is "src" by default).<br/>__*Default*__: "main.ts"
10376
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
10581
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10377
10582
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10378
10583
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10379
10584
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10448,7 +10653,7 @@ Name | Type | Description
10448
10653
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10449
10654
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10450
10655
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
10451
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
10656
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
10452
10657
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10453
10658
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10454
10659
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10469,6 +10674,7 @@ Name | Type | Description
10469
10674
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10470
10675
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10471
10676
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10677
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10472
10678
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10473
10679
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
10474
10680
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -10567,7 +10773,7 @@ Name | Type | Description
10567
10773
  **repositoryUrl**⚠️ | <code>string</code> | Git repository URL.
10568
10774
  **allowLibraryDependencies**?⚠️ | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10569
10775
  **antitamper**?⚠️ | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
10570
- **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
10776
+ **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10571
10777
  **authorEmail**?⚠️ | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10572
10778
  **authorName**?⚠️ | <code>string</code> | Author's name.<br/>__*Optional*__
10573
10779
  **authorOrganization**?⚠️ | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10643,7 +10849,7 @@ Name | Type | Description
10643
10849
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10644
10850
  **npmignoreEnabled**?⚠️ | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10645
10851
  **outdir**?⚠️ | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
10646
- **package**?⚠️ | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
10852
+ **package**?⚠️ | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
10647
10853
  **packageManager**?⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10648
10854
  **packageName**?⚠️ | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10649
10855
  **parent**?⚠️ | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10664,6 +10870,7 @@ Name | Type | Description
10664
10870
  **projenrcJsonOptions**?⚠️ | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10665
10871
  **projenrcTs**?⚠️ | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10666
10872
  **projenrcTsOptions**?⚠️ | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10873
+ **publishDryRun**?⚠️ | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10667
10874
  **publishTasks**?⚠️ | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10668
10875
  **publishToGo**?⚠️ | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10669
10876
  **publishToMaven**?⚠️ | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10773,6 +10980,27 @@ Name | Type | Description
10773
10980
 
10774
10981
 
10775
10982
 
10983
+ ## struct BuildWorkflowOptions 🔹 <a id="projen-build-buildworkflowoptions"></a>
10984
+
10985
+
10986
+
10987
+
10988
+
10989
+
10990
+ Name | Type | Description
10991
+ -----|------|-------------
10992
+ **artifactsDirectory**🔹 | <code>string</code> | A name of a directory that includes build artifacts.
10993
+ **buildTask**🔹 | <code>[Task](#projen-task)</code> | The task to execute in order to build the project.
10994
+ **antitamper**?🔹 | <code>boolean</code> | Enable anti-tamper check.<br/>__*Default*__: true
10995
+ **containerImage**?🔹 | <code>string</code> | The container image to use for builds.<br/>__*Default*__: the default workflow container
10996
+ **env**?🔹 | <code>Map<string, string></code> | Build environment variables.<br/>__*Default*__: {}
10997
+ **gitIdentity**?🔹 | <code>[github.GitIdentity](#projen-github-gitidentity)</code> | Git identity to use for the workflow.<br/>__*Default*__: default identity
10998
+ **mutableBuild**?🔹 | <code>boolean</code> | Automatically update files modified during builds to pull-request branches.<br/>__*Default*__: true
10999
+ **postBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute after build.<br/>__*Default*__: []
11000
+ **preBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before the build.<br/>__*Default*__: []
11001
+
11002
+
11003
+
10776
11004
  ## struct Catalog 🔹 <a id="projen-cdk-catalog"></a>
10777
11005
 
10778
11006
 
@@ -10803,7 +11031,7 @@ Name | Type | Description
10803
11031
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
10804
11032
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10805
11033
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
10806
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
11034
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10807
11035
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10808
11036
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10809
11037
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10870,7 +11098,7 @@ Name | Type | Description
10870
11098
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10871
11099
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10872
11100
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
10873
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
11101
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
10874
11102
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10875
11103
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10876
11104
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10891,6 +11119,7 @@ Name | Type | Description
10891
11119
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10892
11120
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10893
11121
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11122
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10894
11123
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10895
11124
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10896
11125
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10948,6 +11177,8 @@ Name | Type | Description
10948
11177
  **dotNetNamespace**🔹 | <code>string</code> | <span></span>
10949
11178
  **packageId**🔹 | <code>string</code> | <span></span>
10950
11179
  **nugetApiKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
11180
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
11181
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
10951
11182
 
10952
11183
 
10953
11184
 
@@ -10967,6 +11198,8 @@ Name | Type | Description
10967
11198
  **gitUserName**?⚠️ | <code>string</code> | The user name to use for the release git commit.<br/>__*Default*__: "github-actions"
10968
11199
  **githubRepo**?⚠️ | <code>string</code> | GitHub repository to push to.<br/>__*Default*__: derived from `moduleName`
10969
11200
  **githubTokenSecret**?⚠️ | <code>string</code> | The name of the secret that includes a personal GitHub access token used to push to the GitHub repository.<br/>__*Default*__: "GO_GITHUB_TOKEN"
11201
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
11202
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
10970
11203
 
10971
11204
 
10972
11205
 
@@ -10990,6 +11223,8 @@ Name | Type | Description
10990
11223
  **mavenServerId**?🔹 | <code>string</code> | Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).<br/>__*Default*__: "ossrh" (Maven Central) or "github" when using GitHub Packages
10991
11224
  **mavenStagingProfileId**?🔹 | <code>string</code> | GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the "Releases" staging profile under "Staging Profiles" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521).<br/>__*Default*__: "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
10992
11225
  **mavenUsername**?🔹 | <code>string</code> | GitHub secret name which contains the Username for maven repository.<br/>__*Default*__: "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
11226
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
11227
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
10993
11228
 
10994
11229
 
10995
11230
 
@@ -11009,7 +11244,7 @@ Name | Type | Description
11009
11244
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11010
11245
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11011
11246
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
11012
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
11247
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11013
11248
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11014
11249
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11015
11250
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11075,7 +11310,7 @@ Name | Type | Description
11075
11310
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11076
11311
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11077
11312
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11078
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
11313
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
11079
11314
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11080
11315
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11081
11316
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11096,6 +11331,7 @@ Name | Type | Description
11096
11331
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11097
11332
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11098
11333
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11334
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11099
11335
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11100
11336
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11101
11337
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -11152,6 +11388,8 @@ Name | Type | Description
11152
11388
  -----|------|-------------
11153
11389
  **distName**🔹 | <code>string</code> | <span></span>
11154
11390
  **module**🔹 | <code>string</code> | <span></span>
11391
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
11392
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
11155
11393
  **twinePasswordSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
11156
11394
  **twineRegistryUrl**?🔹 | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
11157
11395
  **twineUsernameSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -11173,7 +11411,7 @@ Name | Type | Description
11173
11411
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11174
11412
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
11175
11413
  **appEntrypoint**?🔹 | <code>string</code> | The CDK8s app's entrypoint (relative to the source directory, which is "src" by default).<br/>__*Default*__: "main.ts"
11176
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
11414
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11177
11415
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11178
11416
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11179
11417
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11241,7 +11479,7 @@ Name | Type | Description
11241
11479
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11242
11480
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11243
11481
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11244
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
11482
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
11245
11483
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11246
11484
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11247
11485
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11262,6 +11500,7 @@ Name | Type | Description
11262
11500
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11263
11501
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11264
11502
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11503
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11265
11504
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11266
11505
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
11267
11506
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -11318,7 +11557,7 @@ Name | Type | Description
11318
11557
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11319
11558
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11320
11559
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
11321
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
11560
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11322
11561
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11323
11562
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11324
11563
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11389,7 +11628,7 @@ Name | Type | Description
11389
11628
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11390
11629
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11391
11630
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11392
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
11631
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
11393
11632
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11394
11633
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11395
11634
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11410,6 +11649,7 @@ Name | Type | Description
11410
11649
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11411
11650
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11412
11651
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11652
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11413
11653
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11414
11654
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11415
11655
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -11472,7 +11712,7 @@ Name | Type | Description
11472
11712
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11473
11713
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11474
11714
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
11475
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
11715
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11476
11716
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11477
11717
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11478
11718
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11539,7 +11779,7 @@ Name | Type | Description
11539
11779
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11540
11780
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11541
11781
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11542
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
11782
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
11543
11783
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11544
11784
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11545
11785
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11560,6 +11800,7 @@ Name | Type | Description
11560
11800
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11561
11801
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11562
11802
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11803
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11563
11804
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11564
11805
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11565
11806
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -12453,7 +12694,7 @@ Name | Type | Description
12453
12694
  **name**🔹 | <code>string</code> | This is the name of your project.
12454
12695
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
12455
12696
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
12456
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
12697
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
12457
12698
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
12458
12699
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
12459
12700
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -12508,6 +12749,7 @@ Name | Type | Description
12508
12749
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
12509
12750
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
12510
12751
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
12752
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
12511
12753
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
12512
12754
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
12513
12755
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -12526,6 +12768,7 @@ Name | Type | Description
12526
12768
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
12527
12769
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12528
12770
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12771
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
12529
12772
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
12530
12773
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
12531
12774
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13085,6 +13328,20 @@ Name | Type | Description
13085
13328
 
13086
13329
 
13087
13330
 
13331
+ ## struct CommonPublishOptions 🔹 <a id="projen-release-commonpublishoptions"></a>
13332
+
13333
+
13334
+ Common publishing options.
13335
+
13336
+
13337
+
13338
+ Name | Type | Description
13339
+ -----|------|-------------
13340
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13341
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13342
+
13343
+
13344
+
13088
13345
  ## struct GitHubReleasesPublishOptions 🔹 <a id="projen-release-githubreleasespublishoptions"></a>
13089
13346
 
13090
13347
 
@@ -13097,6 +13354,8 @@ Name | Type | Description
13097
13354
  **changelogFile**🔹 | <code>string</code> | The location of an .md file (relative to `dist/`) that includes the changelog for the release.
13098
13355
  **releaseTagFile**🔹 | <code>string</code> | The location of a text file (relative to `dist/`) that contains the release tag.
13099
13356
  **versionFile**🔹 | <code>string</code> | The location of a text file (relative to `dist/`) that contains the version number.
13357
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13358
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13100
13359
 
13101
13360
 
13102
13361
 
@@ -13133,6 +13392,8 @@ Name | Type | Description
13133
13392
  **gitUserName**?⚠️ | <code>string</code> | The user name to use for the release git commit.<br/>__*Default*__: "github-actions"
13134
13393
  **githubRepo**?⚠️ | <code>string</code> | GitHub repository to push to.<br/>__*Default*__: derived from `moduleName`
13135
13394
  **githubTokenSecret**?⚠️ | <code>string</code> | The name of the secret that includes a personal GitHub access token used to push to the GitHub repository.<br/>__*Default*__: "GO_GITHUB_TOKEN"
13395
+ **prePublishSteps**?⚠️ | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13396
+ **publishTools**?⚠️ | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13136
13397
 
13137
13398
 
13138
13399
 
@@ -13153,6 +13414,8 @@ Name | Type | Description
13153
13414
  **mavenServerId**?⚠️ | <code>string</code> | Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).<br/>__*Default*__: "ossrh" (Maven Central) or "github" when using GitHub Packages
13154
13415
  **mavenStagingProfileId**?⚠️ | <code>string</code> | GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the "Releases" staging profile under "Staging Profiles" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521).<br/>__*Default*__: "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
13155
13416
  **mavenUsername**?⚠️ | <code>string</code> | GitHub secret name which contains the Username for maven repository.<br/>__*Default*__: "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
13417
+ **prePublishSteps**?⚠️ | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13418
+ **publishTools**?⚠️ | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13156
13419
 
13157
13420
 
13158
13421
 
@@ -13168,6 +13431,8 @@ Name | Type | Description
13168
13431
  **codeArtifactOptions**?⚠️ | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13169
13432
  **distTag**?⚠️ | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
13170
13433
  **npmTokenSecret**?⚠️ | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.<br/>__*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
13434
+ **prePublishSteps**?⚠️ | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13435
+ **publishTools**?⚠️ | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13171
13436
  **registry**?⚠️ | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
13172
13437
 
13173
13438
 
@@ -13182,6 +13447,8 @@ Name | Type | Description
13182
13447
  Name | Type | Description
13183
13448
  -----|------|-------------
13184
13449
  **nugetApiKeySecret**?⚠️ | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
13450
+ **prePublishSteps**?⚠️ | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13451
+ **publishTools**?⚠️ | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13185
13452
 
13186
13453
 
13187
13454
 
@@ -13194,6 +13461,8 @@ Name | Type | Description
13194
13461
 
13195
13462
  Name | Type | Description
13196
13463
  -----|------|-------------
13464
+ **prePublishSteps**?⚠️ | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13465
+ **publishTools**?⚠️ | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13197
13466
  **twinePasswordSecret**?⚠️ | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
13198
13467
  **twineRegistryUrl**?⚠️ | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
13199
13468
  **twineUsernameSecret**?⚠️ | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -13232,6 +13501,8 @@ Name | Type | Description
13232
13501
  **mavenServerId**?🔹 | <code>string</code> | Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).<br/>__*Default*__: "ossrh" (Maven Central) or "github" when using GitHub Packages
13233
13502
  **mavenStagingProfileId**?🔹 | <code>string</code> | GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the "Releases" staging profile under "Staging Profiles" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521).<br/>__*Default*__: "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
13234
13503
  **mavenUsername**?🔹 | <code>string</code> | GitHub secret name which contains the Username for maven repository.<br/>__*Default*__: "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
13504
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13505
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13235
13506
 
13236
13507
 
13237
13508
 
@@ -13247,6 +13518,8 @@ Name | Type | Description
13247
13518
  **codeArtifactOptions**?🔹 | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13248
13519
  **distTag**?⚠️ | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
13249
13520
  **npmTokenSecret**?🔹 | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.<br/>__*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
13521
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13522
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13250
13523
  **registry**?🔹 | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
13251
13524
 
13252
13525
 
@@ -13261,6 +13534,8 @@ Options for NuGet releases.
13261
13534
  Name | Type | Description
13262
13535
  -----|------|-------------
13263
13536
  **nugetApiKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
13537
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13538
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13264
13539
 
13265
13540
 
13266
13541
 
@@ -13276,6 +13551,7 @@ Name | Type | Description
13276
13551
  **artifactName**🔹 | <code>string</code> | The name of the artifact to download (e.g. `dist`).
13277
13552
  **buildJobId**🔹 | <code>string</code> | The job ID that produces the build artifacts.
13278
13553
  **condition**?🔹 | <code>string</code> | A GitHub workflow expression used as a condition for publishers.<br/>__*Default*__: no condition
13554
+ **dryRun**?🔹 | <code>boolean</code> | Do not actually publish, only print the commands that would be executed instead.<br/>__*Optional*__
13279
13555
  **failureIssue**?🔹 | <code>boolean</code> | Create an issue when a publish task fails.<br/>__*Default*__: false
13280
13556
  **failureIssueLabel**?🔹 | <code>string</code> | The label to apply to the issue marking failed publish tasks.<br/>__*Default*__: "failed-release"
13281
13557
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement for `jsii-release`.<br/>__*Default*__: "latest"
@@ -13293,6 +13569,8 @@ Options for PyPI release.
13293
13569
 
13294
13570
  Name | Type | Description
13295
13571
  -----|------|-------------
13572
+ **prePublishSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if neede.<br/>__*Optional*__
13573
+ **publishTools**?🔹 | <code>[github.workflows.Tools](#projen-github-workflows-tools)</code> | Additional tools to install in the publishing job.<br/>__*Default*__: no additional tools are installed
13296
13574
  **twinePasswordSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
13297
13575
  **twineRegistryUrl**?🔹 | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
13298
13576
  **twineUsernameSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -13308,17 +13586,18 @@ Options for `Release`.
13308
13586
 
13309
13587
  Name | Type | Description
13310
13588
  -----|------|-------------
13589
+ **artifactsDirectory**🔹 | <code>string</code> | A directory which will contain build artifacts.
13311
13590
  **branch**🔹 | <code>string</code> | The default branch name to release from.
13312
13591
  **task**🔹 | <code>[Task](#projen-task)</code> | The task to execute in order to create the release artifacts.
13313
13592
  **versionFile**🔹 | <code>string</code> | A name of a .json file to set the `version` field in after a bump.
13314
13593
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13315
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
13316
13594
  **githubRelease**?🔹 | <code>boolean</code> | Create a GitHub release for each release.<br/>__*Default*__: true
13317
13595
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
13318
13596
  **majorVersion**?🔹 | <code>number</code> | Major version to release from the default branch.<br/>__*Default*__: Major version is not enforced.
13319
13597
  **npmDistTag**?🔹 | <code>string</code> | The npmDistTag to use when publishing from the default branch.<br/>__*Default*__: "latest"
13320
13598
  **postBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute after build as part of the release workflow.<br/>__*Default*__: []
13321
13599
  **prerelease**?🔹 | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").<br/>__*Default*__: normal semantic versions
13600
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13322
13601
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13323
13602
  **releaseBranches**?🔹 | <code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code> | Defines additional release branches.<br/>__*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
13324
13603
  **releaseEveryCommit**?⚠️ | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`.<br/>__*Default*__: true
@@ -13345,12 +13624,12 @@ Project options for release.
13345
13624
  Name | Type | Description
13346
13625
  -----|------|-------------
13347
13626
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13348
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
13349
13627
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
13350
13628
  **majorVersion**?🔹 | <code>number</code> | Major version to release from the default branch.<br/>__*Default*__: Major version is not enforced.
13351
13629
  **npmDistTag**?🔹 | <code>string</code> | The npmDistTag to use when publishing from the default branch.<br/>__*Default*__: "latest"
13352
13630
  **postBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute after build as part of the release workflow.<br/>__*Default*__: []
13353
13631
  **prerelease**?🔹 | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").<br/>__*Default*__: normal semantic versions
13632
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13354
13633
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13355
13634
  **releaseBranches**?🔹 | <code>Map<string, [release.BranchOptions](#projen-release-branchoptions)></code> | Defines additional release branches.<br/>__*Default*__: no additional branches are used for release. you can use `addBranch()` to add additional branches.
13356
13635
  **releaseEveryCommit**?⚠️ | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`.<br/>__*Default*__: true
@@ -13407,7 +13686,7 @@ Name | Type | Description
13407
13686
  **name**⚠️ | <code>string</code> | This is the name of your project.
13408
13687
  **allowLibraryDependencies**?⚠️ | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13409
13688
  **antitamper**?⚠️ | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13410
- **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
13689
+ **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13411
13690
  **authorEmail**?⚠️ | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13412
13691
  **authorName**?⚠️ | <code>string</code> | Author's name.<br/>__*Optional*__
13413
13692
  **authorOrganization**?⚠️ | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -13469,7 +13748,7 @@ Name | Type | Description
13469
13748
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13470
13749
  **npmignoreEnabled**?⚠️ | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13471
13750
  **outdir**?⚠️ | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
13472
- **package**?⚠️ | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
13751
+ **package**?⚠️ | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
13473
13752
  **packageManager**?⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13474
13753
  **packageName**?⚠️ | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13475
13754
  **parent**?⚠️ | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13490,6 +13769,7 @@ Name | Type | Description
13490
13769
  **projenrcJsonOptions**?⚠️ | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13491
13770
  **projenrcTs**?⚠️ | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13492
13771
  **projenrcTsOptions**?⚠️ | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
13772
+ **publishDryRun**?⚠️ | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13493
13773
  **publishTasks**?⚠️ | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13494
13774
  **pullRequestTemplate**?⚠️ | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13495
13775
  **pullRequestTemplateContents**?⚠️ | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13542,7 +13822,7 @@ Name | Type | Description
13542
13822
  **name**🔹 | <code>string</code> | This is the name of your project.
13543
13823
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13544
13824
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13545
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
13825
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13546
13826
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13547
13827
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
13548
13828
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -13604,7 +13884,7 @@ Name | Type | Description
13604
13884
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13605
13885
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13606
13886
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
13607
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
13887
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
13608
13888
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13609
13889
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13610
13890
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13625,6 +13905,7 @@ Name | Type | Description
13625
13905
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13626
13906
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13627
13907
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
13908
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13628
13909
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13629
13910
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13630
13911
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13781,7 +14062,7 @@ Name | Type | Description
13781
14062
  **name**🔹 | <code>string</code> | This is the name of your project.
13782
14063
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13783
14064
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13784
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
14065
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13785
14066
  **assetsdir**?🔹 | <code>string</code> | Assets directory.<br/>__*Default*__: "public"
13786
14067
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13787
14068
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
@@ -13837,6 +14118,7 @@ Name | Type | Description
13837
14118
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13838
14119
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13839
14120
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
14121
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
13840
14122
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13841
14123
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13842
14124
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13855,6 +14137,7 @@ Name | Type | Description
13855
14137
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
13856
14138
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
13857
14139
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14140
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13858
14141
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13859
14142
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13860
14143
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13903,7 +14186,7 @@ Name | Type | Description
13903
14186
  **name**🔹 | <code>string</code> | This is the name of your project.
13904
14187
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13905
14188
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
13906
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
14189
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13907
14190
  **assetsdir**?🔹 | <code>string</code> | Assets directory.<br/>__*Default*__: "public"
13908
14191
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13909
14192
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
@@ -13966,7 +14249,7 @@ Name | Type | Description
13966
14249
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13967
14250
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13968
14251
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
13969
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
14252
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
13970
14253
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13971
14254
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13972
14255
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13987,6 +14270,7 @@ Name | Type | Description
13987
14270
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13988
14271
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13989
14272
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
14273
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13990
14274
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13991
14275
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13992
14276
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -14069,7 +14353,7 @@ Name | Type | Description
14069
14353
  **name**🔹 | <code>string</code> | This is the name of your project.
14070
14354
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
14071
14355
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
14072
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
14356
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
14073
14357
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
14074
14358
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
14075
14359
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -14124,6 +14408,7 @@ Name | Type | Description
14124
14408
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
14125
14409
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
14126
14410
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
14411
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
14127
14412
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
14128
14413
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
14129
14414
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -14142,6 +14427,7 @@ Name | Type | Description
14142
14427
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
14143
14428
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
14144
14429
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14430
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
14145
14431
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
14146
14432
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
14147
14433
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -14219,7 +14505,7 @@ Name | Type | Description
14219
14505
  **name**🔹 | <code>string</code> | This is the name of your project.
14220
14506
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
14221
14507
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
14222
- **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain artifacts to be published to npm.<br/>__*Default*__: "dist"
14508
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
14223
14509
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
14224
14510
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
14225
14511
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -14281,7 +14567,7 @@ Name | Type | Description
14281
14567
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
14282
14568
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
14283
14569
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
14284
- **package**?🔹 | <code>boolean</code> | Defines a `yarn package` command that will produce a tarball and place it under `dist/js`.<br/>__*Default*__: true
14570
+ **package**?🔹 | <code>boolean</code> | Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).<br/>__*Default*__: true
14285
14571
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
14286
14572
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
14287
14573
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -14302,6 +14588,7 @@ Name | Type | Description
14302
14588
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14303
14589
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
14304
14590
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
14591
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
14305
14592
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
14306
14593
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
14307
14594
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content