projen 0.45.1 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/.jsii +1241 -472
  2. package/API.md +347 -61
  3. package/README.md +1 -0
  4. package/docs/build.md +55 -0
  5. package/docs/deps.md +18 -0
  6. package/docs/mutable-builds.md +0 -27
  7. package/docs/publisher.md +35 -1
  8. package/lib/awscdk/auto-discover.js +1 -1
  9. package/lib/awscdk/awscdk-app-ts.js +1 -1
  10. package/lib/awscdk/awscdk-construct.js +2 -2
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +1 -1
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +5 -2
  15. package/lib/awscdk/java-app.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.d.ts +125 -0
  18. package/lib/build/build-workflow.js +217 -0
  19. package/lib/build/index.d.ts +1 -0
  20. package/lib/build/index.js +14 -0
  21. package/lib/cdk/construct-lib.js +1 -1
  22. package/lib/cdk/consts.d.ts +14 -0
  23. package/lib/cdk/consts.js +37 -0
  24. package/lib/cdk/jsii-docgen.js +1 -1
  25. package/lib/cdk/jsii-project.d.ts +13 -0
  26. package/lib/cdk/jsii-project.js +107 -44
  27. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  28. package/lib/cdk8s/cdk8s-construct.js +1 -1
  29. package/lib/cdktf/cdktf-construct.js +1 -1
  30. package/lib/component.js +1 -1
  31. package/lib/dependencies.js +4 -10
  32. package/lib/dev-env.js +1 -1
  33. package/lib/docker-compose.js +2 -2
  34. package/lib/file.js +1 -1
  35. package/lib/gitattributes.js +1 -1
  36. package/lib/github/auto-approve.js +1 -1
  37. package/lib/github/auto-merge.js +1 -1
  38. package/lib/github/constants.js +2 -1
  39. package/lib/github/dependabot.js +1 -1
  40. package/lib/github/github-project.js +1 -1
  41. package/lib/github/github.d.ts +6 -0
  42. package/lib/github/github.js +11 -2
  43. package/lib/github/mergify.js +1 -1
  44. package/lib/github/pr-template.js +1 -1
  45. package/lib/github/pull-request-lint.js +1 -1
  46. package/lib/github/stale.js +1 -1
  47. package/lib/github/task-workflow.d.ts +4 -0
  48. package/lib/github/task-workflow.js +6 -5
  49. package/lib/github/workflows-model.d.ts +62 -0
  50. package/lib/github/workflows-model.js +1 -1
  51. package/lib/github/workflows.d.ts +8 -0
  52. package/lib/github/workflows.js +39 -3
  53. package/lib/gitpod.js +1 -1
  54. package/lib/ignore-file.js +1 -1
  55. package/lib/index.d.ts +1 -0
  56. package/lib/index.js +2 -1
  57. package/lib/ini.js +1 -1
  58. package/lib/java/java-project.js +1 -1
  59. package/lib/java/junit.js +1 -1
  60. package/lib/java/maven-compile.js +1 -1
  61. package/lib/java/maven-packaging.js +1 -1
  62. package/lib/java/maven-sample.js +1 -1
  63. package/lib/java/pom.js +1 -1
  64. package/lib/java/projenrc.js +1 -1
  65. package/lib/javascript/bundler.js +1 -1
  66. package/lib/javascript/eslint.js +1 -1
  67. package/lib/javascript/jest.js +1 -1
  68. package/lib/javascript/node-package.js +1 -1
  69. package/lib/javascript/node-project.d.ts +38 -7
  70. package/lib/javascript/node-project.js +62 -129
  71. package/lib/javascript/npm-config.js +1 -1
  72. package/lib/javascript/projenrc.js +1 -1
  73. package/lib/javascript/typescript-config.js +1 -1
  74. package/lib/javascript/upgrade-dependencies.d.ts +15 -0
  75. package/lib/javascript/upgrade-dependencies.js +18 -6
  76. package/lib/json.js +1 -1
  77. package/lib/license.js +1 -1
  78. package/lib/logger.js +1 -1
  79. package/lib/makefile.js +1 -1
  80. package/lib/object-file.js +1 -1
  81. package/lib/project-build.js +1 -1
  82. package/lib/project.js +1 -1
  83. package/lib/projects.js +1 -1
  84. package/lib/projenrc-json.js +1 -1
  85. package/lib/python/pip.js +1 -1
  86. package/lib/python/poetry.js +2 -2
  87. package/lib/python/projenrc.js +1 -1
  88. package/lib/python/pytest.js +1 -1
  89. package/lib/python/python-project.js +1 -1
  90. package/lib/python/python-sample.js +1 -1
  91. package/lib/python/requirements-file.js +1 -1
  92. package/lib/python/setuppy.js +1 -1
  93. package/lib/python/setuptools.js +1 -1
  94. package/lib/python/venv.js +1 -1
  95. package/lib/readme.js +1 -1
  96. package/lib/release/publisher.d.ts +39 -7
  97. package/lib/release/publisher.js +51 -43
  98. package/lib/release/release-trigger.js +1 -1
  99. package/lib/release/release.d.ts +20 -8
  100. package/lib/release/release.js +3 -2
  101. package/lib/sample-file.js +2 -2
  102. package/lib/semver.js +1 -1
  103. package/lib/source-code.js +1 -1
  104. package/lib/task-runtime.js +1 -1
  105. package/lib/task.js +1 -1
  106. package/lib/tasks.js +1 -1
  107. package/lib/testing.js +1 -1
  108. package/lib/textfile.js +1 -1
  109. package/lib/toml.js +1 -1
  110. package/lib/typescript/projenrc.js +1 -1
  111. package/lib/typescript/typescript-typedoc.js +1 -1
  112. package/lib/typescript/typescript.d.ts +0 -7
  113. package/lib/typescript/typescript.js +23 -28
  114. package/lib/version.js +1 -1
  115. package/lib/vscode/devcontainer.js +1 -1
  116. package/lib/vscode/launch-config.js +1 -1
  117. package/lib/vscode/vscode.js +1 -1
  118. package/lib/web/next.js +3 -3
  119. package/lib/web/postcss.js +1 -1
  120. package/lib/web/react.js +6 -6
  121. package/lib/web/tailwind.js +1 -1
  122. package/lib/xmlfile.js +1 -1
  123. package/lib/yaml.js +1 -1
  124. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +1 -1
  125. package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +1 -1
  126. package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +7 -3
  127. package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +9 -9
  128. package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1 -1
  129. package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +1 -1
  130. package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +1 -1
  131. package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +2 -2
  132. package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +2 -2
  133. package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  134. package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +12 -10
  135. package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +17 -12
  136. package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +1 -1
  137. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +2 -2
  138. package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +5 -5
  139. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +62 -11
  140. package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +20 -3
  141. package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +3 -3
  142. package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +1 -1
  143. package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +1 -1
  144. package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +4 -5
  145. package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +11 -11
  146. package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +1 -1
  147. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +2 -2
  148. package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +9 -1
  149. package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +6 -4
  150. package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +1 -1
  151. package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +1 -1
  152. package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +121 -14
  153. package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +1 -1
  154. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +3 -65
  155. package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +2 -2
  156. package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +1 -1
  157. package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +1 -1
  158. package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +1 -1
  159. package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +1 -1
  160. package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +1 -1
  161. package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +58 -18
  162. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +3 -3
  163. package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +3 -3
  164. package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +1 -1
  165. package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +1 -1
  166. package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +4 -4
  167. package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +1 -1
  168. package/package.json +11 -7
  169. 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,7 @@ 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.
6329
6484
  **bundler**🔹 | <code>[javascript.Bundler](#projen-javascript-bundler)</code> | <span></span>
6330
6485
  **entrypoint**⚠️ | <code>string</code> | <span></span>
6331
6486
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
@@ -6334,14 +6489,15 @@ Name | Type | Description
6334
6489
  **packageManager**⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The package manager to use.
6335
6490
  **runScriptCommand**🔹 | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
6336
6491
  **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*__
6492
+ **buildWorkflow**?🔹 | <code>[build.BuildWorkflow](#projen-build-buildworkflow)</code> | The PR build GitHub workflow.<br/>__*Optional*__
6493
+ **buildWorkflowJobId**?🔹 | <code>string</code> | The job ID of the build workflow.<br/>__*Optional*__
6339
6494
  **jest**?🔹 | <code>[javascript.Jest](#projen-javascript-jest)</code> | The Jest configuration (if enabled).<br/>__*Optional*__
6340
6495
  **maxNodeVersion**?🔹 | <code>string</code> | Maximum node version required by this pacakge.<br/>__*Optional*__
6341
6496
  **minNodeVersion**?🔹 | <code>string</code> | Minimum node.js version required by this package.<br/>__*Optional*__
6342
6497
  **npmignore**?🔹 | <code>[IgnoreFile](#projen-ignorefile)</code> | The .npmignore file.<br/>__*Optional*__
6343
6498
  **publisher**?⚠️ | <code>[release.Publisher](#projen-release-publisher)</code> | Package publisher.<br/>__*Optional*__
6344
6499
  **release**?🔹 | <code>[release.Release](#projen-release-release)</code> | Release management.<br/>__*Optional*__
6500
+ **upgradeWorkflow**?🔹 | <code>[javascript.UpgradeDependencies](#projen-javascript-upgradedependencies)</code> | The upgrade workflow.<br/>__*Optional*__
6345
6501
 
6346
6502
  ### Methods
6347
6503
 
@@ -6727,10 +6883,33 @@ Name | Type | Description
6727
6883
  -----|------|-------------
6728
6884
  **ignoresProjen**🔹 | <code>boolean</code> | Whether or not projen is also upgraded in this workflow,.
6729
6885
  **workflows**🔹 | <code>Array<[github.GithubWorkflow](#projen-github-githubworkflow)></code> | The workflows that execute the upgrades.
6886
+ **containerOptions**?🔹 | <code>[github.workflows.ContainerOptions](#projen-github-workflows-containeroptions)</code> | Container definitions for the upgrade workflow.<br/>__*Optional*__
6730
6887
 
6731
6888
  ### Methods
6732
6889
 
6733
6890
 
6891
+ #### addPostBuildSteps(...steps)🔹 <a id="projen-javascript-upgradedependencies-addpostbuildsteps"></a>
6892
+
6893
+ Add steps to execute a successful build.
6894
+
6895
+ ```ts
6896
+ addPostBuildSteps(...steps: JobStep[]): void
6897
+ ```
6898
+
6899
+ * **steps** (<code>[github.workflows.JobStep](#projen-github-workflows-jobstep)</code>) worklfow steps.
6900
+ * **continueOnError** (<code>boolean</code>) Prevents a job from failing when a step fails. __*Optional*__
6901
+ * **env** (<code>Map<string, string></code>) Sets environment variables for steps to use in the runner environment. __*Optional*__
6902
+ * **id** (<code>string</code>) A unique identifier for the step. __*Optional*__
6903
+ * **if** (<code>string</code>) You can use the if conditional to prevent a job from running unless a condition is met. __*Optional*__
6904
+ * **name** (<code>string</code>) A name for your step to display on GitHub. __*Optional*__
6905
+ * **run** (<code>string</code>) Runs command-line programs using the operating system's shell. __*Optional*__
6906
+ * **timeoutMinutes** (<code>number</code>) The maximum number of minutes to run the step before killing the process. __*Optional*__
6907
+ * **uses** (<code>string</code>) Selects an action to run as part of a step in your job. __*Optional*__
6908
+ * **with** (<code>Map<string, any></code>) A map of the input parameters defined by the action. __*Optional*__
6909
+
6910
+
6911
+
6912
+
6734
6913
  #### preSynthesize()🔹 <a id="projen-javascript-upgradedependencies-presynthesize"></a>
6735
6914
 
6736
6915
  Called before synthesis.
@@ -7413,6 +7592,7 @@ new release.Publisher(project: Project, options: PublisherOptions)
7413
7592
  * **artifactName** (<code>string</code>) The name of the artifact to download (e.g. `dist`).
7414
7593
  * **buildJobId** (<code>string</code>) The job ID that produces the build artifacts.
7415
7594
  * **condition** (<code>string</code>) A GitHub workflow expression used as a condition for publishers. __*Default*__: no condition
7595
+ * **dryRun** (<code>boolean</code>) Do not actually publish, only print the commands that would be executed instead. __*Optional*__
7416
7596
  * **failureIssue** (<code>boolean</code>) Create an issue when a publish task fails. __*Default*__: false
7417
7597
  * **failureIssueLabel** (<code>string</code>) The label to apply to the issue marking failed publish tasks. __*Default*__: "failed-release"
7418
7598
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement for `jsii-release`. __*Default*__: "latest"
@@ -7464,6 +7644,8 @@ publishToGitHubReleases(options: GitHubReleasesPublishOptions): void
7464
7644
  ```
7465
7645
 
7466
7646
  * **options** (<code>[release.GitHubReleasesPublishOptions](#projen-release-githubreleasespublishoptions)</code>) Options.
7647
+ * **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*__
7648
+ * **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
7649
  * **changelogFile** (<code>string</code>) The location of an .md file (relative to `dist/`) that includes the changelog for the release.
7468
7650
  * **releaseTagFile** (<code>string</code>) The location of a text file (relative to `dist/`) that contains the release tag.
7469
7651
  * **versionFile** (<code>string</code>) The location of a text file (relative to `dist/`) that contains the version number.
@@ -7480,6 +7662,8 @@ publishToGo(options?: GoPublishOptions): void
7480
7662
  ```
7481
7663
 
7482
7664
  * **options** (<code>[release.GoPublishOptions](#projen-release-gopublishoptions)</code>) Options.
7665
+ * **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*__
7666
+ * **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
7667
  * **gitBranch** (<code>string</code>) Branch to push to. __*Default*__: "main"
7484
7668
  * **gitCommitMessage** (<code>string</code>) The commit message. __*Default*__: "chore(release): $VERSION"
7485
7669
  * **githubRepo** (<code>string</code>) GitHub repository to push to. __*Default*__: derived from `moduleName`
@@ -7499,6 +7683,8 @@ publishToMaven(options?: MavenPublishOptions): void
7499
7683
  ```
7500
7684
 
7501
7685
  * **options** (<code>[release.MavenPublishOptions](#projen-release-mavenpublishoptions)</code>) Options.
7686
+ * **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*__
7687
+ * **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
7688
  * **mavenEndpoint** (<code>string</code>) URL of Nexus repository. __*Default*__: "https://oss.sonatype.org"
7503
7689
  * **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
7690
  * **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 +7706,8 @@ publishToNpm(options?: NpmPublishOptions): void
7520
7706
  ```
7521
7707
 
7522
7708
  * **options** (<code>[release.NpmPublishOptions](#projen-release-npmpublishoptions)</code>) Options.
7709
+ * **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*__
7710
+ * **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
7711
  * **codeArtifactOptions** (<code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
7524
7712
  * **distTag** (<code>string</code>) Tags can be used to provide an alias instead of version numbers. __*Default*__: "latest"
7525
7713
  * **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 +7725,8 @@ publishToNuget(options?: NugetPublishOptions): void
7537
7725
  ```
7538
7726
 
7539
7727
  * **options** (<code>[release.NugetPublishOptions](#projen-release-nugetpublishoptions)</code>) Options.
7728
+ * **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*__
7729
+ * **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
7730
  * **nugetApiKeySecret** (<code>string</code>) GitHub secret which contains the API key for NuGet. __*Default*__: "NUGET_API_KEY"
7541
7731
 
7542
7732
 
@@ -7551,6 +7741,8 @@ publishToPyPi(options?: PyPiPublishOptions): void
7551
7741
  ```
7552
7742
 
7553
7743
  * **options** (<code>[release.PyPiPublishOptions](#projen-release-pypipublishoptions)</code>) Options.
7744
+ * **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*__
7745
+ * **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
7746
  * **twinePasswordSecret** (<code>string</code>) The GitHub secret which contains PyPI password. __*Default*__: "TWINE_PASSWORD"
7555
7747
  * **twineRegistryUrl** (<code>string</code>) The registry url to use when releasing packages. __*Default*__: twine default
7556
7748
  * **twineUsernameSecret** (<code>string</code>) The GitHub secret which contains PyPI user name. __*Default*__: "TWINE_USERNAME"
@@ -7582,12 +7774,12 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7582
7774
  * **project** (<code>[github.GitHubProject](#projen-github-githubproject)</code>) *No description*
7583
7775
  * **options** (<code>[release.ReleaseOptions](#projen-release-releaseoptions)</code>) *No description*
7584
7776
  * **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
7777
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
7587
7778
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
7588
7779
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
7589
7780
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
7590
7781
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
7782
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
7591
7783
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
7592
7784
  * **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
7785
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -7601,6 +7793,7 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7601
7793
  * **versionrcOptions** (<code>Map<string, any></code>) Custom configuration used when creating changelog with standard-version package. __*Default*__: standard configuration applicable for GitHub repositories
7602
7794
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
7603
7795
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
7796
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts.
7604
7797
  * **branch** (<code>string</code>) The default branch name to release from.
7605
7798
  * **task** (<code>[Task](#projen-task)</code>) The task to execute in order to create the release artifacts.
7606
7799
  * **versionFile** (<code>string</code>) A name of a .json file to set the `version` field in after a bump.
@@ -7613,6 +7806,7 @@ new release.Release(project: GitHubProject, options: ReleaseOptions)
7613
7806
 
7614
7807
  Name | Type | Description
7615
7808
  -----|------|-------------
7809
+ **artifactsDirectory**🔹 | <code>string</code> | Location of build artifacts.
7616
7810
  **branches**🔹 | <code>Array<string></code> | Retrieve all release branch names.
7617
7811
  **publisher**🔹 | <code>[release.Publisher](#projen-release-publisher)</code> | Package publisher.
7618
7812
 
@@ -7850,12 +8044,12 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7850
8044
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
7851
8045
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
7852
8046
  * **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
8047
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
7855
8048
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
7856
8049
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
7857
8050
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
7858
8051
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8052
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
7859
8053
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
7860
8054
  * **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
8055
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -7870,6 +8064,7 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7870
8064
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
7871
8065
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
7872
8066
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8067
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
7873
8068
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
7874
8069
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
7875
8070
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -7888,6 +8083,7 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7888
8083
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
7889
8084
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
7890
8085
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8086
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
7891
8087
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
7892
8088
  * **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
8089
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -7910,7 +8106,6 @@ new typescript.TypeScriptAppProject(options: TypeScriptProjectOptions)
7910
8106
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
7911
8107
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
7912
8108
  * **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
8109
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
7915
8110
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
7916
8111
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -7995,12 +8190,12 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
7995
8190
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
7996
8191
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
7997
8192
  * **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
8193
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8000
8194
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8001
8195
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8002
8196
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8003
8197
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8198
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8004
8199
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8005
8200
  * **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
8201
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8015,6 +8210,7 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8015
8210
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8016
8211
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8017
8212
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8213
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8018
8214
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8019
8215
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8020
8216
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8033,6 +8229,7 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8033
8229
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8034
8230
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8035
8231
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8232
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8036
8233
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8037
8234
  * **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
8235
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8055,7 +8252,6 @@ new typescript.TypeScriptLibraryProject(options: TypeScriptProjectOptions)
8055
8252
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8056
8253
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8057
8254
  * **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
8255
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8060
8256
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8061
8257
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8140,12 +8336,12 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8140
8336
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8141
8337
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8142
8338
  * **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
8339
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8145
8340
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8146
8341
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8147
8342
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8148
8343
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8344
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8149
8345
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8150
8346
  * **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
8347
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8160,6 +8356,7 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8160
8356
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8161
8357
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8162
8358
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8359
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8163
8360
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8164
8361
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8165
8362
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8178,6 +8375,7 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8178
8375
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8179
8376
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8180
8377
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8378
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8181
8379
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8182
8380
  * **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
8381
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8200,7 +8398,6 @@ new typescript.TypeScriptProject(options: TypeScriptProjectOptions)
8200
8398
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8201
8399
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8202
8400
  * **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
8401
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8205
8402
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8206
8403
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8530,12 +8727,12 @@ new web.NextJsProject(options: NextJsProjectOptions)
8530
8727
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8531
8728
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8532
8729
  * **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
8730
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8535
8731
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8536
8732
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8537
8733
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8538
8734
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8735
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8539
8736
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8540
8737
  * **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
8738
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8550,6 +8747,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8550
8747
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8551
8748
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8552
8749
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8750
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8553
8751
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8554
8752
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8555
8753
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8568,6 +8766,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8568
8766
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8569
8767
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8570
8768
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8769
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8571
8770
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8572
8771
  * **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
8772
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8672,12 +8871,12 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8672
8871
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8673
8872
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8674
8873
  * **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
8874
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8677
8875
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8678
8876
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8679
8877
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8680
8878
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
8879
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8681
8880
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8682
8881
  * **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
8882
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8692,6 +8891,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8692
8891
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8693
8892
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8694
8893
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
8894
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8695
8895
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8696
8896
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8697
8897
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8710,6 +8910,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8710
8910
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8711
8911
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8712
8912
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
8913
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8713
8914
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8714
8915
  * **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
8916
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -8732,7 +8933,6 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8732
8933
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
8733
8934
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
8734
8935
  * **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
8936
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
8737
8937
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
8738
8938
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -8887,12 +9087,12 @@ new web.ReactProject(options: ReactProjectOptions)
8887
9087
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
8888
9088
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
8889
9089
  * **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
9090
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
8892
9091
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
8893
9092
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
8894
9093
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
8895
9094
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
9095
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
8896
9096
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
8897
9097
  * **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
9098
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -8907,6 +9107,7 @@ new web.ReactProject(options: ReactProjectOptions)
8907
9107
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
8908
9108
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
8909
9109
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
9110
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
8910
9111
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8911
9112
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8912
9113
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -8925,6 +9126,7 @@ new web.ReactProject(options: ReactProjectOptions)
8925
9126
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
8926
9127
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
8927
9128
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
9129
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
8928
9130
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
8929
9131
  * **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
9132
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -9070,12 +9272,12 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9070
9272
  * **scripts** (<code>Map<string, string></code>) npm scripts to include. __*Default*__: {}
9071
9273
  * **stability** (<code>string</code>) Package's Stability. __*Optional*__
9072
9274
  * **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
9275
  * **jsiiReleaseVersion** (<code>string</code>) Version requirement of `jsii-release` which is used to publish modules to npm. __*Default*__: "latest"
9075
9276
  * **majorVersion** (<code>number</code>) Major version to release from the default branch. __*Default*__: Major version is not enforced.
9076
9277
  * **npmDistTag** (<code>string</code>) The npmDistTag to use when publishing from the default branch. __*Default*__: "latest"
9077
9278
  * **postBuildSteps** (<code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code>) Steps to execute after build as part of the release workflow. __*Default*__: []
9078
9279
  * **prerelease** (<code>string</code>) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). __*Default*__: normal semantic versions
9280
+ * **publishDryRun** (<code>boolean</code>) Instead of actually publishing to package managers, just print the publishing command. __*Default*__: false
9079
9281
  * **publishTasks** (<code>boolean</code>) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false
9080
9282
  * **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
9283
  * **releaseEveryCommit** (<code>boolean</code>) Automatically release new versions every commit to one of branches in `releaseBranches`. __*Default*__: true
@@ -9090,6 +9292,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9090
9292
  * **workflowContainerImage** (<code>string</code>) Container image to use for GitHub workflows. __*Default*__: default image
9091
9293
  * **workflowRunsOn** (<code>Array<string></code>) Github Runner selection labels. __*Default*__: ["ubuntu-latest"]
9092
9294
  * **defaultReleaseBranch** (<code>string</code>) The name of the main release branch.
9295
+ * **artifactsDirectory** (<code>string</code>) A directory which will contain build artifacts. __*Default*__: "dist"
9093
9296
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
9094
9297
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
9095
9298
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
@@ -9108,6 +9311,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9108
9311
  * **mutableBuild** (<code>boolean</code>) Automatically update files modified during builds to pull-request branches. __*Default*__: true
9109
9312
  * **npmignore** (<code>Array<string></code>) Additional entries to .npmignore. __*Optional*__
9110
9313
  * **npmignoreEnabled** (<code>boolean</code>) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. __*Default*__: true
9314
+ * **package** (<code>boolean</code>) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). __*Default*__: true
9111
9315
  * **projenDevDependency** (<code>boolean</code>) Indicates of "projen" should be installed as a devDependency. __*Default*__: true
9112
9316
  * **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
9317
  * **projenrcJsOptions** (<code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code>) Options for .projenrc.js. __*Default*__: default options
@@ -9130,7 +9334,6 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
9130
9334
  * **eslint** (<code>boolean</code>) Setup eslint. __*Default*__: true
9131
9335
  * **eslintOptions** (<code>[javascript.EslintOptions](#projen-javascript-eslintoptions)</code>) Eslint options. __*Default*__: opinionated default options
9132
9336
  * **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
9337
  * **projenrcTs** (<code>boolean</code>) Use TypeScript for your projenrc file (`.projenrc.ts`). __*Default*__: false
9135
9338
  * **projenrcTsOptions** (<code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code>) Options for .projenrc.ts. __*Optional*__
9136
9339
  * **sampleCode** (<code>boolean</code>) Generate one-time sample in `src/` and `test/` if there are no files there. __*Default*__: true
@@ -10115,7 +10318,7 @@ Name | Type | Description
10115
10318
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
10116
10319
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10117
10320
  **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"
10321
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10119
10322
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10120
10323
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10121
10324
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10191,7 +10394,7 @@ Name | Type | Description
10191
10394
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10192
10395
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10193
10396
  **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
10397
+ **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
10398
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10196
10399
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10197
10400
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10212,6 +10415,7 @@ Name | Type | Description
10212
10415
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10213
10416
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10214
10417
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10418
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10215
10419
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10216
10420
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10217
10421
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10373,7 +10577,7 @@ Name | Type | Description
10373
10577
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10374
10578
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
10375
10579
  **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"
10580
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10377
10581
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10378
10582
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10379
10583
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10448,7 +10652,7 @@ Name | Type | Description
10448
10652
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10449
10653
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10450
10654
  **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
10655
+ **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
10656
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10453
10657
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10454
10658
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10469,6 +10673,7 @@ Name | Type | Description
10469
10673
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10470
10674
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10471
10675
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10676
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10472
10677
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10473
10678
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
10474
10679
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -10567,7 +10772,7 @@ Name | Type | Description
10567
10772
  **repositoryUrl**⚠️ | <code>string</code> | Git repository URL.
10568
10773
  **allowLibraryDependencies**?⚠️ | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10569
10774
  **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"
10775
+ **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10571
10776
  **authorEmail**?⚠️ | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10572
10777
  **authorName**?⚠️ | <code>string</code> | Author's name.<br/>__*Optional*__
10573
10778
  **authorOrganization**?⚠️ | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10643,7 +10848,7 @@ Name | Type | Description
10643
10848
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10644
10849
  **npmignoreEnabled**?⚠️ | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10645
10850
  **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
10851
+ **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
10852
  **packageManager**?⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10648
10853
  **packageName**?⚠️ | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10649
10854
  **parent**?⚠️ | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10664,6 +10869,7 @@ Name | Type | Description
10664
10869
  **projenrcJsonOptions**?⚠️ | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10665
10870
  **projenrcTs**?⚠️ | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10666
10871
  **projenrcTsOptions**?⚠️ | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
10872
+ **publishDryRun**?⚠️ | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10667
10873
  **publishTasks**?⚠️ | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10668
10874
  **publishToGo**?⚠️ | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10669
10875
  **publishToMaven**?⚠️ | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10773,6 +10979,27 @@ Name | Type | Description
10773
10979
 
10774
10980
 
10775
10981
 
10982
+ ## struct BuildWorkflowOptions 🔹 <a id="projen-build-buildworkflowoptions"></a>
10983
+
10984
+
10985
+
10986
+
10987
+
10988
+
10989
+ Name | Type | Description
10990
+ -----|------|-------------
10991
+ **artifactsDirectory**🔹 | <code>string</code> | A name of a directory that includes build artifacts.
10992
+ **buildTask**🔹 | <code>[Task](#projen-task)</code> | The task to execute in order to build the project.
10993
+ **antitamper**?🔹 | <code>boolean</code> | Enable anti-tamper check.<br/>__*Default*__: true
10994
+ **containerImage**?🔹 | <code>string</code> | The container image to use for builds.<br/>__*Default*__: the default workflow container
10995
+ **env**?🔹 | <code>Map<string, string></code> | Build environment variables.<br/>__*Default*__: {}
10996
+ **gitIdentity**?🔹 | <code>[github.GitIdentity](#projen-github-gitidentity)</code> | Git identity to use for the workflow.<br/>__*Default*__: default identity
10997
+ **mutableBuild**?🔹 | <code>boolean</code> | Automatically update files modified during builds to pull-request branches.<br/>__*Default*__: true
10998
+ **postBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute after build.<br/>__*Default*__: []
10999
+ **preBuildSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | Steps to execute before the build.<br/>__*Default*__: []
11000
+
11001
+
11002
+
10776
11003
  ## struct Catalog 🔹 <a id="projen-cdk-catalog"></a>
10777
11004
 
10778
11005
 
@@ -10803,7 +11030,7 @@ Name | Type | Description
10803
11030
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
10804
11031
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
10805
11032
  **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"
11033
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
10807
11034
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
10808
11035
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
10809
11036
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -10870,7 +11097,7 @@ Name | Type | Description
10870
11097
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
10871
11098
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
10872
11099
  **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
11100
+ **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
11101
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
10875
11102
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
10876
11103
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -10891,6 +11118,7 @@ Name | Type | Description
10891
11118
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10892
11119
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
10893
11120
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11121
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
10894
11122
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
10895
11123
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
10896
11124
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -10948,6 +11176,8 @@ Name | Type | Description
10948
11176
  **dotNetNamespace**🔹 | <code>string</code> | <span></span>
10949
11177
  **packageId**🔹 | <code>string</code> | <span></span>
10950
11178
  **nugetApiKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
11179
+ **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*__
11180
+ **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
11181
 
10952
11182
 
10953
11183
 
@@ -10967,6 +11197,8 @@ Name | Type | Description
10967
11197
  **gitUserName**?⚠️ | <code>string</code> | The user name to use for the release git commit.<br/>__*Default*__: "github-actions"
10968
11198
  **githubRepo**?⚠️ | <code>string</code> | GitHub repository to push to.<br/>__*Default*__: derived from `moduleName`
10969
11199
  **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"
11200
+ **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*__
11201
+ **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
11202
 
10971
11203
 
10972
11204
 
@@ -10990,6 +11222,8 @@ Name | Type | Description
10990
11222
  **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
11223
  **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
11224
  **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
11225
+ **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*__
11226
+ **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
11227
 
10994
11228
 
10995
11229
 
@@ -11009,7 +11243,7 @@ Name | Type | Description
11009
11243
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11010
11244
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11011
11245
  **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"
11246
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11013
11247
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11014
11248
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11015
11249
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11075,7 +11309,7 @@ Name | Type | Description
11075
11309
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11076
11310
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11077
11311
  **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
11312
+ **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
11313
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11080
11314
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11081
11315
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11096,6 +11330,7 @@ Name | Type | Description
11096
11330
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11097
11331
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11098
11332
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11333
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11099
11334
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11100
11335
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11101
11336
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -11152,6 +11387,8 @@ Name | Type | Description
11152
11387
  -----|------|-------------
11153
11388
  **distName**🔹 | <code>string</code> | <span></span>
11154
11389
  **module**🔹 | <code>string</code> | <span></span>
11390
+ **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*__
11391
+ **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
11392
  **twinePasswordSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
11156
11393
  **twineRegistryUrl**?🔹 | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
11157
11394
  **twineUsernameSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -11173,7 +11410,7 @@ Name | Type | Description
11173
11410
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11174
11411
  **antitamper**?🔹 | <code>boolean</code> | Checks that after build there are no modified files on git.<br/>__*Default*__: true
11175
11412
  **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"
11413
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11177
11414
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11178
11415
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11179
11416
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11241,7 +11478,7 @@ Name | Type | Description
11241
11478
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11242
11479
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11243
11480
  **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
11481
+ **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
11482
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11246
11483
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11247
11484
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11262,6 +11499,7 @@ Name | Type | Description
11262
11499
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11263
11500
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11264
11501
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11502
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11265
11503
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11266
11504
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
11267
11505
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -11318,7 +11556,7 @@ Name | Type | Description
11318
11556
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11319
11557
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11320
11558
  **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"
11559
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11322
11560
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11323
11561
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11324
11562
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11389,7 +11627,7 @@ Name | Type | Description
11389
11627
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11390
11628
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11391
11629
  **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
11630
+ **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
11631
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11394
11632
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11395
11633
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11410,6 +11648,7 @@ Name | Type | Description
11410
11648
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11411
11649
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11412
11650
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11651
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11413
11652
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11414
11653
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11415
11654
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -11472,7 +11711,7 @@ Name | Type | Description
11472
11711
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
11473
11712
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
11474
11713
  **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"
11714
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
11476
11715
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
11477
11716
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
11478
11717
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -11539,7 +11778,7 @@ Name | Type | Description
11539
11778
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
11540
11779
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
11541
11780
  **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
11781
+ **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
11782
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
11544
11783
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
11545
11784
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -11560,6 +11799,7 @@ Name | Type | Description
11560
11799
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11561
11800
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
11562
11801
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
11802
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
11563
11803
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
11564
11804
  **publishToGo**?🔹 | <code>[cdk.JsiiGoTarget](#projen-cdk-jsiigotarget)</code> | Publish Go bindings to a git repository.<br/>__*Default*__: no publishing
11565
11805
  **publishToMaven**?🔹 | <code>[cdk.JsiiJavaTarget](#projen-cdk-jsiijavatarget)</code> | Publish to maven.<br/>__*Default*__: no publishing
@@ -12453,7 +12693,7 @@ Name | Type | Description
12453
12693
  **name**🔹 | <code>string</code> | This is the name of your project.
12454
12694
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
12455
12695
  **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"
12696
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
12457
12697
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
12458
12698
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
12459
12699
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -12508,6 +12748,7 @@ Name | Type | Description
12508
12748
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
12509
12749
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
12510
12750
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
12751
+ **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
12752
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
12512
12753
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
12513
12754
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -12526,6 +12767,7 @@ Name | Type | Description
12526
12767
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
12527
12768
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12528
12769
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12770
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
12529
12771
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
12530
12772
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
12531
12773
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13085,6 +13327,20 @@ Name | Type | Description
13085
13327
 
13086
13328
 
13087
13329
 
13330
+ ## struct CommonPublishOptions 🔹 <a id="projen-release-commonpublishoptions"></a>
13331
+
13332
+
13333
+ Common publishing options.
13334
+
13335
+
13336
+
13337
+ Name | Type | Description
13338
+ -----|------|-------------
13339
+ **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*__
13340
+ **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
13341
+
13342
+
13343
+
13088
13344
  ## struct GitHubReleasesPublishOptions 🔹 <a id="projen-release-githubreleasespublishoptions"></a>
13089
13345
 
13090
13346
 
@@ -13097,6 +13353,8 @@ Name | Type | Description
13097
13353
  **changelogFile**🔹 | <code>string</code> | The location of an .md file (relative to `dist/`) that includes the changelog for the release.
13098
13354
  **releaseTagFile**🔹 | <code>string</code> | The location of a text file (relative to `dist/`) that contains the release tag.
13099
13355
  **versionFile**🔹 | <code>string</code> | The location of a text file (relative to `dist/`) that contains the version number.
13356
+ **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*__
13357
+ **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
13358
 
13101
13359
 
13102
13360
 
@@ -13133,6 +13391,8 @@ Name | Type | Description
13133
13391
  **gitUserName**?⚠️ | <code>string</code> | The user name to use for the release git commit.<br/>__*Default*__: "github-actions"
13134
13392
  **githubRepo**?⚠️ | <code>string</code> | GitHub repository to push to.<br/>__*Default*__: derived from `moduleName`
13135
13393
  **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"
13394
+ **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*__
13395
+ **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
13396
 
13137
13397
 
13138
13398
 
@@ -13153,6 +13413,8 @@ Name | Type | Description
13153
13413
  **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
13414
  **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
13415
  **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
13416
+ **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*__
13417
+ **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
13418
 
13157
13419
 
13158
13420
 
@@ -13168,6 +13430,8 @@ Name | Type | Description
13168
13430
  **codeArtifactOptions**?⚠️ | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13169
13431
  **distTag**?⚠️ | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
13170
13432
  **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`.
13433
+ **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*__
13434
+ **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
13435
  **registry**?⚠️ | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
13172
13436
 
13173
13437
 
@@ -13182,6 +13446,8 @@ Name | Type | Description
13182
13446
  Name | Type | Description
13183
13447
  -----|------|-------------
13184
13448
  **nugetApiKeySecret**?⚠️ | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
13449
+ **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*__
13450
+ **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
13451
 
13186
13452
 
13187
13453
 
@@ -13194,6 +13460,8 @@ Name | Type | Description
13194
13460
 
13195
13461
  Name | Type | Description
13196
13462
  -----|------|-------------
13463
+ **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*__
13464
+ **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
13465
  **twinePasswordSecret**?⚠️ | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
13198
13466
  **twineRegistryUrl**?⚠️ | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
13199
13467
  **twineUsernameSecret**?⚠️ | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -13232,6 +13500,8 @@ Name | Type | Description
13232
13500
  **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
13501
  **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
13502
  **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
13503
+ **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*__
13504
+ **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
13505
 
13236
13506
 
13237
13507
 
@@ -13247,6 +13517,8 @@ Name | Type | Description
13247
13517
  **codeArtifactOptions**?🔹 | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13248
13518
  **distTag**?⚠️ | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
13249
13519
  **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`.
13520
+ **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*__
13521
+ **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
13522
  **registry**?🔹 | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
13251
13523
 
13252
13524
 
@@ -13261,6 +13533,8 @@ Options for NuGet releases.
13261
13533
  Name | Type | Description
13262
13534
  -----|------|-------------
13263
13535
  **nugetApiKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the API key for NuGet.<br/>__*Default*__: "NUGET_API_KEY"
13536
+ **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*__
13537
+ **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
13538
 
13265
13539
 
13266
13540
 
@@ -13276,6 +13550,7 @@ Name | Type | Description
13276
13550
  **artifactName**🔹 | <code>string</code> | The name of the artifact to download (e.g. `dist`).
13277
13551
  **buildJobId**🔹 | <code>string</code> | The job ID that produces the build artifacts.
13278
13552
  **condition**?🔹 | <code>string</code> | A GitHub workflow expression used as a condition for publishers.<br/>__*Default*__: no condition
13553
+ **dryRun**?🔹 | <code>boolean</code> | Do not actually publish, only print the commands that would be executed instead.<br/>__*Optional*__
13279
13554
  **failureIssue**?🔹 | <code>boolean</code> | Create an issue when a publish task fails.<br/>__*Default*__: false
13280
13555
  **failureIssueLabel**?🔹 | <code>string</code> | The label to apply to the issue marking failed publish tasks.<br/>__*Default*__: "failed-release"
13281
13556
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement for `jsii-release`.<br/>__*Default*__: "latest"
@@ -13293,6 +13568,8 @@ Options for PyPI release.
13293
13568
 
13294
13569
  Name | Type | Description
13295
13570
  -----|------|-------------
13571
+ **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*__
13572
+ **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
13573
  **twinePasswordSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI password.<br/>__*Default*__: "TWINE_PASSWORD"
13297
13574
  **twineRegistryUrl**?🔹 | <code>string</code> | The registry url to use when releasing packages.<br/>__*Default*__: twine default
13298
13575
  **twineUsernameSecret**?🔹 | <code>string</code> | The GitHub secret which contains PyPI user name.<br/>__*Default*__: "TWINE_USERNAME"
@@ -13308,17 +13585,18 @@ Options for `Release`.
13308
13585
 
13309
13586
  Name | Type | Description
13310
13587
  -----|------|-------------
13588
+ **artifactsDirectory**🔹 | <code>string</code> | A directory which will contain build artifacts.
13311
13589
  **branch**🔹 | <code>string</code> | The default branch name to release from.
13312
13590
  **task**🔹 | <code>[Task](#projen-task)</code> | The task to execute in order to create the release artifacts.
13313
13591
  **versionFile**🔹 | <code>string</code> | A name of a .json file to set the `version` field in after a bump.
13314
13592
  **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
13593
  **githubRelease**?🔹 | <code>boolean</code> | Create a GitHub release for each release.<br/>__*Default*__: true
13317
13594
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
13318
13595
  **majorVersion**?🔹 | <code>number</code> | Major version to release from the default branch.<br/>__*Default*__: Major version is not enforced.
13319
13596
  **npmDistTag**?🔹 | <code>string</code> | The npmDistTag to use when publishing from the default branch.<br/>__*Default*__: "latest"
13320
13597
  **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
13598
  **prerelease**?🔹 | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").<br/>__*Default*__: normal semantic versions
13599
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13322
13600
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13323
13601
  **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
13602
  **releaseEveryCommit**?⚠️ | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`.<br/>__*Default*__: true
@@ -13345,12 +13623,12 @@ Project options for release.
13345
13623
  Name | Type | Description
13346
13624
  -----|------|-------------
13347
13625
  **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
13626
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
13350
13627
  **majorVersion**?🔹 | <code>number</code> | Major version to release from the default branch.<br/>__*Default*__: Major version is not enforced.
13351
13628
  **npmDistTag**?🔹 | <code>string</code> | The npmDistTag to use when publishing from the default branch.<br/>__*Default*__: "latest"
13352
13629
  **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
13630
  **prerelease**?🔹 | <code>string</code> | Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").<br/>__*Default*__: normal semantic versions
13631
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13354
13632
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13355
13633
  **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
13634
  **releaseEveryCommit**?⚠️ | <code>boolean</code> | Automatically release new versions every commit to one of branches in `releaseBranches`.<br/>__*Default*__: true
@@ -13407,7 +13685,7 @@ Name | Type | Description
13407
13685
  **name**⚠️ | <code>string</code> | This is the name of your project.
13408
13686
  **allowLibraryDependencies**?⚠️ | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13409
13687
  **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"
13688
+ **artifactsDirectory**?⚠️ | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13411
13689
  **authorEmail**?⚠️ | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13412
13690
  **authorName**?⚠️ | <code>string</code> | Author's name.<br/>__*Optional*__
13413
13691
  **authorOrganization**?⚠️ | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -13469,7 +13747,7 @@ Name | Type | Description
13469
13747
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13470
13748
  **npmignoreEnabled**?⚠️ | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13471
13749
  **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
13750
+ **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
13751
  **packageManager**?⚠️ | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13474
13752
  **packageName**?⚠️ | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13475
13753
  **parent**?⚠️ | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13490,6 +13768,7 @@ Name | Type | Description
13490
13768
  **projenrcJsonOptions**?⚠️ | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13491
13769
  **projenrcTs**?⚠️ | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13492
13770
  **projenrcTsOptions**?⚠️ | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
13771
+ **publishDryRun**?⚠️ | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13493
13772
  **publishTasks**?⚠️ | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13494
13773
  **pullRequestTemplate**?⚠️ | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13495
13774
  **pullRequestTemplateContents**?⚠️ | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13542,7 +13821,7 @@ Name | Type | Description
13542
13821
  **name**🔹 | <code>string</code> | This is the name of your project.
13543
13822
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13544
13823
  **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"
13824
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13546
13825
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13547
13826
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
13548
13827
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -13604,7 +13883,7 @@ Name | Type | Description
13604
13883
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13605
13884
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13606
13885
  **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
13886
+ **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
13887
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13609
13888
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13610
13889
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13625,6 +13904,7 @@ Name | Type | Description
13625
13904
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13626
13905
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13627
13906
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
13907
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13628
13908
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13629
13909
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13630
13910
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13781,7 +14061,7 @@ Name | Type | Description
13781
14061
  **name**🔹 | <code>string</code> | This is the name of your project.
13782
14062
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13783
14063
  **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"
14064
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13785
14065
  **assetsdir**?🔹 | <code>string</code> | Assets directory.<br/>__*Default*__: "public"
13786
14066
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13787
14067
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
@@ -13837,6 +14117,7 @@ Name | Type | Description
13837
14117
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13838
14118
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13839
14119
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
14120
+ **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
14121
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13841
14122
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13842
14123
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13855,6 +14136,7 @@ Name | Type | Description
13855
14136
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
13856
14137
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
13857
14138
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14139
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13858
14140
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13859
14141
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13860
14142
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -13903,7 +14185,7 @@ Name | Type | Description
13903
14185
  **name**🔹 | <code>string</code> | This is the name of your project.
13904
14186
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
13905
14187
  **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"
14188
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
13907
14189
  **assetsdir**?🔹 | <code>string</code> | Assets directory.<br/>__*Default*__: "public"
13908
14190
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
13909
14191
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
@@ -13966,7 +14248,7 @@ Name | Type | Description
13966
14248
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
13967
14249
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
13968
14250
  **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
14251
+ **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
14252
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
13971
14253
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
13972
14254
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -13987,6 +14269,7 @@ Name | Type | Description
13987
14269
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
13988
14270
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
13989
14271
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
14272
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
13990
14273
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
13991
14274
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
13992
14275
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -14069,7 +14352,7 @@ Name | Type | Description
14069
14352
  **name**🔹 | <code>string</code> | This is the name of your project.
14070
14353
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
14071
14354
  **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"
14355
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
14073
14356
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
14074
14357
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
14075
14358
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -14124,6 +14407,7 @@ Name | Type | Description
14124
14407
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
14125
14408
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
14126
14409
  **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
14410
+ **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
14411
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
14128
14412
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
14129
14413
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -14142,6 +14426,7 @@ Name | Type | Description
14142
14426
  **projenrcJsOptions**?🔹 | <code>[javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)</code> | Options for .projenrc.js.<br/>__*Default*__: default options
14143
14427
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
14144
14428
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14429
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
14145
14430
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
14146
14431
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
14147
14432
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content
@@ -14219,7 +14504,7 @@ Name | Type | Description
14219
14504
  **name**🔹 | <code>string</code> | This is the name of your project.
14220
14505
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
14221
14506
  **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"
14507
+ **artifactsDirectory**?🔹 | <code>string</code> | A directory which will contain build artifacts.<br/>__*Default*__: "dist"
14223
14508
  **authorEmail**?🔹 | <code>string</code> | Author's e-mail.<br/>__*Optional*__
14224
14509
  **authorName**?🔹 | <code>string</code> | Author's name.<br/>__*Optional*__
14225
14510
  **authorOrganization**?🔹 | <code>boolean</code> | Author's Organization.<br/>__*Optional*__
@@ -14281,7 +14566,7 @@ Name | Type | Description
14281
14566
  **npmignore**?⚠️ | <code>Array<string></code> | Additional entries to .npmignore.<br/>__*Optional*__
14282
14567
  **npmignoreEnabled**?🔹 | <code>boolean</code> | Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.<br/>__*Default*__: true
14283
14568
  **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
14569
+ **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
14570
  **packageManager**?🔹 | <code>[javascript.NodePackageManager](#projen-javascript-nodepackagemanager)</code> | The Node Package Manager used to execute scripts.<br/>__*Default*__: NodePackageManager.YARN
14286
14571
  **packageName**?🔹 | <code>string</code> | The "name" in package.json.<br/>__*Default*__: defaults to project name
14287
14572
  **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
@@ -14302,6 +14587,7 @@ Name | Type | Description
14302
14587
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
14303
14588
  **projenrcTs**?🔹 | <code>boolean</code> | Use TypeScript for your projenrc file (`.projenrc.ts`).<br/>__*Default*__: false
14304
14589
  **projenrcTsOptions**?🔹 | <code>[typescript.ProjenrcOptions](#projen-typescript-projenrcoptions)</code> | Options for .projenrc.ts.<br/>__*Optional*__
14590
+ **publishDryRun**?🔹 | <code>boolean</code> | Instead of actually publishing to package managers, just print the publishing command.<br/>__*Default*__: false
14305
14591
  **publishTasks**?🔹 | <code>boolean</code> | Define publishing tasks that can be executed manually as well as workflows.<br/>__*Default*__: false
14306
14592
  **pullRequestTemplate**?🔹 | <code>boolean</code> | Include a GitHub pull request template.<br/>__*Default*__: true
14307
14593
  **pullRequestTemplateContents**?🔹 | <code>Array<string></code> | The contents of the pull request template.<br/>__*Default*__: default content