@hallcor/pulumi-projen-project-types 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -93,7 +93,7 @@
93
93
  },
94
94
  "name": "@hallcor/pulumi-projen-project-types",
95
95
  "readme": {
96
- "markdown": "# replace this"
96
+ "markdown": "# Pulumi Projen Project Types\n\nCollection of [Projen](https://github.com/projen/projen) project types for use\nwith [Pulumi](https://www.pulumi.com/)\n\n## Getting Started\n\n_projen_ doesn't need to be installed. You will be using\n[npx](https://docs.npmjs.com/cli/v7/commands/npx) to run _projen_ which takes\ncare of all required setup steps.\n\nTo create a new project, run the following command and follow the instructions:\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ npx projen new --from @hallcor/pulumi-projen-project-types PROJECT-TYPE\nšŸ¤– Synthesizing project...\n...\n```\n\nOnce your project is created, you can configure your project by editing\n`.projenrc.ts` or `.projenrc.py` and re-running `npx projen` to synthesize again.\n\n> The files generated by _projen_ are considered an \"implementation detail\" and\n> _projen_ protects them from being manually edited (most files are marked\n> read-only, and an \"anti tamper\" check is configured in the CI build workflow\n> to ensure that files are not updated during build).\n\n## Projen commands\n\nFor the TypeScript based projects the project commands can be viewed an run\nusing the package manager (e.g. `yarn build`, `yarn package`, etc). For\nnon-TypeScript based projects (i.e. Python) you can use projen to view and run\nproject commands.\n\nProjen is built around a standard build process for all projects. Each project\nwill have these standard [tasks](https://projen.io/docs/concepts/tasks).\n\n1. `default`: The \"default\" task that executes projen and synthesizes the project\n2. `pre-compile`: Task that runs prior to `compile`\n3. `compile`: Compiles the project (e.g. `tsc --build` for TypeScript projects)\n4. `post-compile`: Task that runs after `compile`\n5. `test`: Task that runs the project tests\n6. `package`: Task that runs steps to package the project for publishing\n\nThere is also a standard `build` task the chains the above 6 tasks in order.\n\nThere is a great [tasks guide] where you can find more information on adding new\ntasks, editing existing tasks, etc.\n\n**List available commands**\n\n```console\n$ npx projen --help\nprojen [command]\n\nCommands:\n projen new [PROJECT-TYPE-NAME] [OPTIONS] Creates a new projen project\n\n For a complete list of the available options for a specific project type, run:\n projen new [PROJECT-TYPE-NAME] --help\n projen build Full release build\n projen bump Bumps version based on latest git tag and generates a changelog entry\n projen clobber hard resets to HEAD of origin and cleans the local repo\n projen compile Only compile\n projen default Synthesize project files\n projen dist\n projen eject Remove projen from the project\n projen install Install and upgrade dependencies\n projen package Creates the distribution package\n projen post-compile Runs after successful compilation\n projen pre-compile Prepare the project for compilation\n projen publish:git Prepends the release changelog onto the project changelog, creates a release commit, and tags the release\n projen release Prepare a release from \"main\" branch\n projen test Run tests\n projen unbump Restores version to 0.0.0\n projen completion generate completion script\n\nOptions:\n --post Run post-synthesis steps such as installing dependencies. Use --no-post to skip [boolean] [default: true]\n -w, --watch Keep running and resynthesize when projenrc changes [boolean] [default: false]\n --debug Debug logs [boolean] [default: false]\n --rc path to .projenrc.js file [deprecated] [string] [default: \"/Users/chall/personal/pulumi-lambda-builders/.projenrc.js\"]\n --help Show help [boolean]\n --version Show version number\n\n```\n\n**Run a specific command**\n\n```console\n$ npx projen build\n```\n\n**Inspect a specific command**\n\n```console\n$ npx projen build -i\ndescription: Full release build\n- default\n description: Synthesize project files\n - exec: python .projenrc.py\n- pre-compile\n description: Prepare the project for compilation\n- compile\n description: Only compile\n- post-compile\n description: Runs after successful compilation\n- test\n description: Run tests\n - exec: npm ci\n - exec: pytest\n- package\n description: Creates the distribution package\n - dist\n - exec: mkdir -p dist\n - exec: cp version.json dist/\n - exec: git checkout version.json\n```\n\n## Project types\n\nCurrently supported project types\n\n- `PythonComponent`: Creates a Pulumi Python Component project\n- `TypeScriptComponent`: Creates a Pulumi TypeScript Component project\n\n### Pulumi Python Component\n\n```console\n$ mkdir my-python-component\n$ cd my-python-component\n$ npx projen new --from @hallcor/pulumi-projen-project-types python_component\n```\n\n\n#### Example\n\n```python\nfrom hallcor.pulumi_projen_project_types import PythonComponent\n\nproject = PythonComponent(\n author_email=\"43035978+corymhall@users.noreply.github.com\",\n author_name=\"corymhall\",\n module_name=\"pulumi_lambda_builders\",\n component_name=\"lambda-builders\",\n name=\"pulumi-lambda-builders\",\n version=\"0.1.0\",\n deps=[\n \"aws_lambda_builders\",\n ],\n dev_deps=[\n \"pyfakefs\",\n \"numpy\",\n \"hallcor.pulumi-projen-project-types\",\n ],\n)\n\nproject.synth()\n```\n\n#### Configuration Options\n\n- [componentName](https://github.com/corymhall/pulumi-projen-project-types/blob/main/API.md#componentnameoptional-)\nBy default the `name` of the of the Pulumi component will be taken from the\nproject `name`. This can be overridden by using the `componentName` property.\n\nFor a full list of input properties supported see the [Input Property Reference](https://github.com/corymhall/pulumi-projen-project-types/blob/main/API.md#typescriptprojectprops-)\n\n- [pulumi_python_options](https://github.com/corymhall/pulumi-projen-project-types/blob/main/API.md#pulumipythonoptionsoptional-)\nThis can be used to override some of the default Pulumi options. For example you\ncan specify a specific version of `pulumi` to use.\n\n```python\n\nproject = PythonComponent(\n ...,\n pulumi_python_options=PulumiPythonOptions(\n pulumi_version=\">=3.153 <4.0\" # this is the default value\n ),\n)\n```\n\nFor publishing related options see the [publishing section](#publishing)\n\n### Pulumi TypeScript Component\n\n```console\n$ mkdir my-python-component\n$ cd my-python-component\n$ npx projen new --from @hallcor/pulumi-projen-project-types type_script_component\n```\n\n#### Example\n\n- TODO\n\n#### Configuration Options\n\n- TODO\n\n## Publishing\n\nThe Pulumi Component project types also setup publishing workflows to publish\ngit tags and GitHub releases. By default these will\n\n> [!IMPORTANT]\n> The publishing workflows rely on [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version)\n> which means your commits must follow [Conventional Commits](https://conventionalcommits.org/)\n\n- Create an annotated tag on push to the `main` branch\n- Create a GitHub release for the tag when the tag is created\n\n### Release Trigger\n\nBy default the project will publish a new tag on every commit to the `main`\nbranch. This can be configured via the `releaseTrigger` option.\n\n- `scheduled`: Run the release workflow on a schedule\n- `manual`: Creates a publish task which can be run locally to publish a tag\n- `continuous`: Run the release workflow on every commit to the `main` branch\n\n**On a schedule**\n\n```ts\nnew TypeScriptComponent({\n ...,\n releaseTrigger: ReleaseTrigger.scheduled({ schedule: '0 0 * * 2' }), // run every tuesday\n});\n```\n\n**Manual**\n\n```ts\nnew TypeScriptComponent({\n ...,\n releaseTrigger: ReleaseTrigger.manual(),\n});\n```\n\n### GitHub Credentials\n\nFor the release workflow to create tags, specific credentials are needed.\nBy default it expects a GitHub secret variable named `PROJEN_GITHUB_TOKEN` with\n`read/write` access to `contents`. A separate token from the builtin `${{ secrets.GITHUB_TOKEN }}`\nis needed in order to trigger the downstream `release-github` workflow.\n\nThis can be customized using the `projenCredentials` option.\n\n**From a different secret**\n\n```ts\nnew TypeScriptComponent({\n ...,\n projenCredentials: GithubCredentials.fromPersonalAccessToken({ secret: 'MY_GITHUB_TOKEN' }),\n});\n```\n\n**From a GitHub app**\n```ts\nnew TypeScriptComponent({\n ...,\n projenCredentials: GithubCredentials.fromApp({\n privateKeySecret: 'MY_GITHUB_APP_PRIVATE_KEY',\n appIdSecret: 'MY_GITHUB_APP_ID',\n }),\n});\n```\n\n"
97
97
  },
98
98
  "repository": {
99
99
  "type": "git",
@@ -110,6 +110,74 @@
110
110
  }
111
111
  },
112
112
  "types": {
113
+ "@hallcor/pulumi-projen-project-types.CreateReleaseOptions": {
114
+ "assembly": "@hallcor/pulumi-projen-project-types",
115
+ "datatype": true,
116
+ "docs": {
117
+ "stability": "stable"
118
+ },
119
+ "fqn": "@hallcor/pulumi-projen-project-types.CreateReleaseOptions",
120
+ "kind": "interface",
121
+ "locationInModule": {
122
+ "filename": "src/release.ts",
123
+ "line": 11
124
+ },
125
+ "name": "CreateReleaseOptions",
126
+ "properties": [
127
+ {
128
+ "abstract": true,
129
+ "docs": {
130
+ "stability": "stable",
131
+ "summary": "The path to the changelog file to generate release notes from."
132
+ },
133
+ "immutable": true,
134
+ "locationInModule": {
135
+ "filename": "src/release.ts",
136
+ "line": 15
137
+ },
138
+ "name": "changelogPath",
139
+ "type": {
140
+ "primitive": "string"
141
+ }
142
+ },
143
+ {
144
+ "abstract": true,
145
+ "docs": {
146
+ "remarks": "This could be something like `${{ github.ref_name }}`\nor `$(cat dist/releasetag.txt)`",
147
+ "stability": "stable",
148
+ "summary": "The name of the release tag."
149
+ },
150
+ "immutable": true,
151
+ "locationInModule": {
152
+ "filename": "src/release.ts",
153
+ "line": 21
154
+ },
155
+ "name": "releaseTag",
156
+ "type": {
157
+ "primitive": "string"
158
+ }
159
+ },
160
+ {
161
+ "abstract": true,
162
+ "docs": {
163
+ "default": "false",
164
+ "stability": "stable",
165
+ "summary": "Whether to only run this step if the `release-exists` step returned true."
166
+ },
167
+ "immutable": true,
168
+ "locationInModule": {
169
+ "filename": "src/release.ts",
170
+ "line": 27
171
+ },
172
+ "name": "verifyReleaseExists",
173
+ "optional": true,
174
+ "type": {
175
+ "primitive": "boolean"
176
+ }
177
+ }
178
+ ],
179
+ "symbolId": "src/release:CreateReleaseOptions"
180
+ },
113
181
  "@hallcor/pulumi-projen-project-types.EslintOptions": {
114
182
  "assembly": "@hallcor/pulumi-projen-project-types",
115
183
  "datatype": true,
@@ -1341,14 +1409,14 @@
1341
1409
  {
1342
1410
  "abstract": true,
1343
1411
  "docs": {
1344
- "default": "the `moduleName`",
1412
+ "default": "the project `name`",
1345
1413
  "stability": "stable",
1346
1414
  "summary": "The name of the pulumi component."
1347
1415
  },
1348
1416
  "immutable": true,
1349
1417
  "locationInModule": {
1350
1418
  "filename": "src/PythonComponentOptions.ts",
1351
- "line": 366
1419
+ "line": 359
1352
1420
  },
1353
1421
  "name": "componentName",
1354
1422
  "optional": true,
@@ -1466,24 +1534,6 @@
1466
1534
  "fqn": "projen.github.GitHubOptions"
1467
1535
  }
1468
1536
  },
1469
- {
1470
- "abstract": true,
1471
- "docs": {
1472
- "default": "${{ secrets.GITHUB_TOKEN }}",
1473
- "stability": "stable",
1474
- "summary": "The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows."
1475
- },
1476
- "immutable": true,
1477
- "locationInModule": {
1478
- "filename": "src/PythonComponentOptions.ts",
1479
- "line": 353
1480
- },
1481
- "name": "githubReleaseToken",
1482
- "optional": true,
1483
- "type": {
1484
- "primitive": "string"
1485
- }
1486
- },
1487
1537
  {
1488
1538
  "abstract": true,
1489
1539
  "docs": {
@@ -1494,7 +1544,7 @@
1494
1544
  "immutable": true,
1495
1545
  "locationInModule": {
1496
1546
  "filename": "src/PythonComponentOptions.ts",
1497
- "line": 360
1547
+ "line": 353
1498
1548
  },
1499
1549
  "name": "gitIdentity",
1500
1550
  "optional": true,
@@ -1928,7 +1978,7 @@
1928
1978
  "immutable": true,
1929
1979
  "locationInModule": {
1930
1980
  "filename": "src/PythonComponentOptions.ts",
1931
- "line": 361
1981
+ "line": 354
1932
1982
  },
1933
1983
  "name": "pulumiPythonOptions",
1934
1984
  "optional": true,
@@ -2021,7 +2071,7 @@
2021
2071
  "immutable": true,
2022
2072
  "locationInModule": {
2023
2073
  "filename": "src/PythonComponentOptions.ts",
2024
- "line": 372
2074
+ "line": 365
2025
2075
  },
2026
2076
  "name": "releaseTrigger",
2027
2077
  "optional": true,
@@ -2196,7 +2246,7 @@
2196
2246
  },
2197
2247
  "locationInModule": {
2198
2248
  "filename": "src/release.ts",
2199
- "line": 10
2249
+ "line": 68
2200
2250
  },
2201
2251
  "parameters": [
2202
2252
  {
@@ -2210,14 +2260,62 @@
2210
2260
  "type": {
2211
2261
  "primitive": "string"
2212
2262
  }
2263
+ },
2264
+ {
2265
+ "name": "changelogPath",
2266
+ "type": {
2267
+ "primitive": "string"
2268
+ }
2213
2269
  }
2214
2270
  ]
2215
2271
  },
2216
2272
  "kind": "class",
2217
2273
  "locationInModule": {
2218
2274
  "filename": "src/release.ts",
2219
- "line": 9
2275
+ "line": 30
2220
2276
  },
2277
+ "methods": [
2278
+ {
2279
+ "docs": {
2280
+ "stability": "stable"
2281
+ },
2282
+ "locationInModule": {
2283
+ "filename": "src/release.ts",
2284
+ "line": 48
2285
+ },
2286
+ "name": "createRelease",
2287
+ "parameters": [
2288
+ {
2289
+ "name": "options",
2290
+ "type": {
2291
+ "fqn": "@hallcor/pulumi-projen-project-types.CreateReleaseOptions"
2292
+ }
2293
+ }
2294
+ ],
2295
+ "returns": {
2296
+ "type": {
2297
+ "fqn": "projen.github.workflows.JobStep"
2298
+ }
2299
+ },
2300
+ "static": true
2301
+ },
2302
+ {
2303
+ "docs": {
2304
+ "stability": "stable"
2305
+ },
2306
+ "locationInModule": {
2307
+ "filename": "src/release.ts",
2308
+ "line": 31
2309
+ },
2310
+ "name": "releaseExists",
2311
+ "returns": {
2312
+ "type": {
2313
+ "fqn": "projen.github.workflows.JobStep"
2314
+ }
2315
+ },
2316
+ "static": true
2317
+ }
2318
+ ],
2221
2319
  "name": "ReleaseWorkflow",
2222
2320
  "symbolId": "src/release:ReleaseWorkflow"
2223
2321
  },
@@ -2234,7 +2332,7 @@
2234
2332
  },
2235
2333
  "locationInModule": {
2236
2334
  "filename": "src/release.ts",
2237
- "line": 74
2335
+ "line": 108
2238
2336
  },
2239
2337
  "parameters": [
2240
2338
  {
@@ -2254,7 +2352,7 @@
2254
2352
  "kind": "class",
2255
2353
  "locationInModule": {
2256
2354
  "filename": "src/release.ts",
2257
- "line": 71
2355
+ "line": 105
2258
2356
  },
2259
2357
  "name": "TagRelease",
2260
2358
  "properties": [
@@ -2265,7 +2363,7 @@
2265
2363
  "immutable": true,
2266
2364
  "locationInModule": {
2267
2365
  "filename": "src/release.ts",
2268
- "line": 73
2366
+ "line": 107
2269
2367
  },
2270
2368
  "name": "publishTask",
2271
2369
  "type": {
@@ -2279,7 +2377,7 @@
2279
2377
  "immutable": true,
2280
2378
  "locationInModule": {
2281
2379
  "filename": "src/release.ts",
2282
- "line": 72
2380
+ "line": 106
2283
2381
  },
2284
2382
  "name": "trigger",
2285
2383
  "type": {
@@ -2408,24 +2506,6 @@
2408
2506
  "primitive": "boolean"
2409
2507
  }
2410
2508
  },
2411
- {
2412
- "abstract": true,
2413
- "docs": {
2414
- "default": "${{ secrets.GITHUB_TOKEN }}",
2415
- "stability": "stable",
2416
- "summary": "The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows."
2417
- },
2418
- "immutable": true,
2419
- "locationInModule": {
2420
- "filename": "src/TagReleaseOptions.ts",
2421
- "line": 251
2422
- },
2423
- "name": "githubReleaseToken",
2424
- "optional": true,
2425
- "type": {
2426
- "primitive": "string"
2427
- }
2428
- },
2429
2509
  {
2430
2510
  "abstract": true,
2431
2511
  "docs": {
@@ -2436,7 +2516,7 @@
2436
2516
  "immutable": true,
2437
2517
  "locationInModule": {
2438
2518
  "filename": "src/TagReleaseOptions.ts",
2439
- "line": 258
2519
+ "line": 251
2440
2520
  },
2441
2521
  "name": "gitIdentity",
2442
2522
  "optional": true,
@@ -3511,7 +3591,7 @@
3511
3591
  "immutable": true,
3512
3592
  "locationInModule": {
3513
3593
  "filename": "src/typescript-options/component-options.ts",
3514
- "line": 914
3594
+ "line": 907
3515
3595
  },
3516
3596
  "name": "componentName",
3517
3597
  "optional": true,
@@ -3884,24 +3964,6 @@
3884
3964
  "fqn": "projen.github.GitHubOptions"
3885
3965
  }
3886
3966
  },
3887
- {
3888
- "abstract": true,
3889
- "docs": {
3890
- "default": "${{ secrets.GITHUB_TOKEN }}",
3891
- "stability": "stable",
3892
- "summary": "The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows."
3893
- },
3894
- "immutable": true,
3895
- "locationInModule": {
3896
- "filename": "src/typescript-options/component-options.ts",
3897
- "line": 902
3898
- },
3899
- "name": "githubReleaseToken",
3900
- "optional": true,
3901
- "type": {
3902
- "primitive": "string"
3903
- }
3904
- },
3905
3967
  {
3906
3968
  "abstract": true,
3907
3969
  "docs": {
@@ -3912,7 +3974,7 @@
3912
3974
  "immutable": true,
3913
3975
  "locationInModule": {
3914
3976
  "filename": "src/typescript-options/component-options.ts",
3915
- "line": 909
3977
+ "line": 902
3916
3978
  },
3917
3979
  "name": "gitIdentity",
3918
3980
  "optional": true,
@@ -8081,6 +8143,6 @@
8081
8143
  "symbolId": "src/typescript-options/project-props:TypeScriptProjectProps"
8082
8144
  }
8083
8145
  },
8084
- "version": "0.0.21",
8085
- "fingerprint": "Fwu9cMkzRLBWqR8PEzxwL7dAuUqbg5QqAw9uNzF8rf0="
8146
+ "version": "0.0.23",
8147
+ "fingerprint": "1IMLoof/2jELbw9rbWF+YD0USyy81KrKJOF7mRfn8ws="
8086
8148
  }
package/API.md CHANGED
@@ -986,13 +986,14 @@ this task should synthesize the project files.
986
986
  ```typescript
987
987
  import { ReleaseWorkflow } from '@hallcor/pulumi-projen-project-types'
988
988
 
989
- new ReleaseWorkflow(scope: Construct, id: string)
989
+ new ReleaseWorkflow(scope: Construct, id: string, changelogPath: string)
990
990
  ```
991
991
 
992
992
  | **Name** | **Type** | **Description** |
993
993
  | --- | --- | --- |
994
994
  | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
995
995
  | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
996
+ | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.Initializer.parameter.changelogPath">changelogPath</a></code> | <code>string</code> | *No description.* |
996
997
 
997
998
  ---
998
999
 
@@ -1008,6 +1009,12 @@ new ReleaseWorkflow(scope: Construct, id: string)
1008
1009
 
1009
1010
  ---
1010
1011
 
1012
+ ##### `changelogPath`<sup>Required</sup> <a name="changelogPath" id="@hallcor/pulumi-projen-project-types.ReleaseWorkflow.Initializer.parameter.changelogPath"></a>
1013
+
1014
+ - *Type:* string
1015
+
1016
+ ---
1017
+
1011
1018
  #### Methods <a name="Methods" id="Methods"></a>
1012
1019
 
1013
1020
  | **Name** | **Description** |
@@ -1029,6 +1036,8 @@ Returns a string representation of this construct.
1029
1036
  | **Name** | **Description** |
1030
1037
  | --- | --- |
1031
1038
  | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1039
+ | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.createRelease">createRelease</a></code> | *No description.* |
1040
+ | <code><a href="#@hallcor/pulumi-projen-project-types.ReleaseWorkflow.releaseExists">releaseExists</a></code> | *No description.* |
1032
1041
 
1033
1042
  ---
1034
1043
 
@@ -1064,6 +1073,28 @@ Any object.
1064
1073
 
1065
1074
  ---
1066
1075
 
1076
+ ##### `createRelease` <a name="createRelease" id="@hallcor/pulumi-projen-project-types.ReleaseWorkflow.createRelease"></a>
1077
+
1078
+ ```typescript
1079
+ import { ReleaseWorkflow } from '@hallcor/pulumi-projen-project-types'
1080
+
1081
+ ReleaseWorkflow.createRelease(options: CreateReleaseOptions)
1082
+ ```
1083
+
1084
+ ###### `options`<sup>Required</sup> <a name="options" id="@hallcor/pulumi-projen-project-types.ReleaseWorkflow.createRelease.parameter.options"></a>
1085
+
1086
+ - *Type:* <a href="#@hallcor/pulumi-projen-project-types.CreateReleaseOptions">CreateReleaseOptions</a>
1087
+
1088
+ ---
1089
+
1090
+ ##### `releaseExists` <a name="releaseExists" id="@hallcor/pulumi-projen-project-types.ReleaseWorkflow.releaseExists"></a>
1091
+
1092
+ ```typescript
1093
+ import { ReleaseWorkflow } from '@hallcor/pulumi-projen-project-types'
1094
+
1095
+ ReleaseWorkflow.releaseExists()
1096
+ ```
1097
+
1067
1098
  #### Properties <a name="Properties" id="Properties"></a>
1068
1099
 
1069
1100
  | **Name** | **Type** | **Description** |
@@ -4401,6 +4432,66 @@ public readonly DEFAULT_TS_JEST_TRANFORM_PATTERN: string;
4401
4432
 
4402
4433
  ## Structs <a name="Structs" id="Structs"></a>
4403
4434
 
4435
+ ### CreateReleaseOptions <a name="CreateReleaseOptions" id="@hallcor/pulumi-projen-project-types.CreateReleaseOptions"></a>
4436
+
4437
+ #### Initializer <a name="Initializer" id="@hallcor/pulumi-projen-project-types.CreateReleaseOptions.Initializer"></a>
4438
+
4439
+ ```typescript
4440
+ import { CreateReleaseOptions } from '@hallcor/pulumi-projen-project-types'
4441
+
4442
+ const createReleaseOptions: CreateReleaseOptions = { ... }
4443
+ ```
4444
+
4445
+ #### Properties <a name="Properties" id="Properties"></a>
4446
+
4447
+ | **Name** | **Type** | **Description** |
4448
+ | --- | --- | --- |
4449
+ | <code><a href="#@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.changelogPath">changelogPath</a></code> | <code>string</code> | The path to the changelog file to generate release notes from. |
4450
+ | <code><a href="#@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.releaseTag">releaseTag</a></code> | <code>string</code> | The name of the release tag. |
4451
+ | <code><a href="#@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.verifyReleaseExists">verifyReleaseExists</a></code> | <code>boolean</code> | Whether to only run this step if the `release-exists` step returned true. |
4452
+
4453
+ ---
4454
+
4455
+ ##### `changelogPath`<sup>Required</sup> <a name="changelogPath" id="@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.changelogPath"></a>
4456
+
4457
+ ```typescript
4458
+ public readonly changelogPath: string;
4459
+ ```
4460
+
4461
+ - *Type:* string
4462
+
4463
+ The path to the changelog file to generate release notes from.
4464
+
4465
+ ---
4466
+
4467
+ ##### `releaseTag`<sup>Required</sup> <a name="releaseTag" id="@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.releaseTag"></a>
4468
+
4469
+ ```typescript
4470
+ public readonly releaseTag: string;
4471
+ ```
4472
+
4473
+ - *Type:* string
4474
+
4475
+ The name of the release tag.
4476
+
4477
+ This could be something like `${{ github.ref_name }}`
4478
+ or `$(cat dist/releasetag.txt)`
4479
+
4480
+ ---
4481
+
4482
+ ##### `verifyReleaseExists`<sup>Optional</sup> <a name="verifyReleaseExists" id="@hallcor/pulumi-projen-project-types.CreateReleaseOptions.property.verifyReleaseExists"></a>
4483
+
4484
+ ```typescript
4485
+ public readonly verifyReleaseExists: boolean;
4486
+ ```
4487
+
4488
+ - *Type:* boolean
4489
+ - *Default:* false
4490
+
4491
+ Whether to only run this step if the `release-exists` step returned true.
4492
+
4493
+ ---
4494
+
4404
4495
  ### EslintOptions <a name="EslintOptions" id="@hallcor/pulumi-projen-project-types.EslintOptions"></a>
4405
4496
 
4406
4497
  EslintOptions.
@@ -5169,7 +5260,6 @@ const pythonComponentOptions: PythonComponentOptions = { ... }
5169
5260
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
5170
5261
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | List of dev dependencies for this project. Dependencies use the format: `<module>@<semver>`. |
5171
5262
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
5172
- | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.githubReleaseToken">githubReleaseToken</a></code> | <code>string</code> | The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows. |
5173
5263
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.gitIdentity">gitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use when pushing the release commit and tag Note: if you use the default github-actions user then the Push/Tag will not trigger any other workflows. |
5174
5264
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.gitIgnoreOptions">gitIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .gitignore file. |
5175
5265
  | <code><a href="#@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.gitOptions">gitOptions</a></code> | <code>projen.GitOptions</code> | Configuration options for git. |
@@ -5368,7 +5458,7 @@ public readonly componentName: string;
5368
5458
  ```
5369
5459
 
5370
5460
  - *Type:* string
5371
- - *Default:* the `moduleName`
5461
+ - *Default:* the project `name`
5372
5462
 
5373
5463
  The name of the pulumi component.
5374
5464
 
@@ -5442,19 +5532,6 @@ Options for GitHub integration.
5442
5532
 
5443
5533
  ---
5444
5534
 
5445
- ##### `githubReleaseToken`<sup>Optional</sup> <a name="githubReleaseToken" id="@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.githubReleaseToken"></a>
5446
-
5447
- ```typescript
5448
- public readonly githubReleaseToken: string;
5449
- ```
5450
-
5451
- - *Type:* string
5452
- - *Default:* ${{ secrets.GITHUB_TOKEN }}
5453
-
5454
- The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows.
5455
-
5456
- ---
5457
-
5458
5535
  ##### `gitIdentity`<sup>Optional</sup> <a name="gitIdentity" id="@hallcor/pulumi-projen-project-types.PythonComponentOptions.property.gitIdentity"></a>
5459
5536
 
5460
5537
  ```typescript
@@ -5996,7 +6073,6 @@ const tagReleaseOptions: TagReleaseOptions = { ... }
5996
6073
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.versionFile">versionFile</a></code> | <code>string</code> | A name of a .json file to set the `version` field in after a bump. |
5997
6074
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.bumpPackage">bumpPackage</a></code> | <code>string</code> | The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string. |
5998
6075
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.githubRelease">githubRelease</a></code> | <code>boolean</code> | Create a GitHub release for each release. |
5999
- | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.githubReleaseToken">githubReleaseToken</a></code> | <code>string</code> | The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows. |
6000
6076
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.gitIdentity">gitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use when pushing the release commit and tag Note: if you use the default github-actions user then the Push/Tag will not trigger any other workflows. |
6001
6077
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.jsiiReleaseVersion">jsiiReleaseVersion</a></code> | <code>string</code> | Version requirement of `publib` which is used to publish modules to npm. |
6002
6078
  | <code><a href="#@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.majorVersion">majorVersion</a></code> | <code>number</code> | Major version to release from the default branch. |
@@ -6112,19 +6188,6 @@ Create a GitHub release for each release.
6112
6188
 
6113
6189
  ---
6114
6190
 
6115
- ##### `githubReleaseToken`<sup>Optional</sup> <a name="githubReleaseToken" id="@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.githubReleaseToken"></a>
6116
-
6117
- ```typescript
6118
- public readonly githubReleaseToken: string;
6119
- ```
6120
-
6121
- - *Type:* string
6122
- - *Default:* ${{ secrets.GITHUB_TOKEN }}
6123
-
6124
- The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows.
6125
-
6126
- ---
6127
-
6128
6191
  ##### `gitIdentity`<sup>Optional</sup> <a name="gitIdentity" id="@hallcor/pulumi-projen-project-types.TagReleaseOptions.property.gitIdentity"></a>
6129
6192
 
6130
6193
  ```typescript
@@ -6581,7 +6644,6 @@ const typeScriptComponentOptions: TypeScriptComponentOptions = { ... }
6581
6644
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.eslint">eslint</a></code> | <code>boolean</code> | Setup eslint. |
6582
6645
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.eslintOptions">eslintOptions</a></code> | <code><a href="#@hallcor/pulumi-projen-project-types.EslintOptions">EslintOptions</a></code> | Eslint options. |
6583
6646
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.githubOptions">githubOptions</a></code> | <code>projen.github.GitHubOptions</code> | Options for GitHub integration. |
6584
- | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.githubReleaseToken">githubReleaseToken</a></code> | <code>string</code> | The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows. |
6585
6647
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.gitIdentity">gitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use when pushing the release commit and tag Note: if you use the default github-actions user then the Push/Tag will not trigger any other workflows. |
6586
6648
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.gitignore">gitignore</a></code> | <code>string[]</code> | Additional entries to .gitignore. |
6587
6649
  | <code><a href="#@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.gitIgnoreOptions">gitIgnoreOptions</a></code> | <code>projen.IgnoreFileOptions</code> | Configuration options for .gitignore file. |
@@ -7338,19 +7400,6 @@ Options for GitHub integration.
7338
7400
 
7339
7401
  ---
7340
7402
 
7341
- ##### `githubReleaseToken`<sup>Optional</sup> <a name="githubReleaseToken" id="@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.githubReleaseToken"></a>
7342
-
7343
- ```typescript
7344
- public readonly githubReleaseToken: string;
7345
- ```
7346
-
7347
- - *Type:* string
7348
- - *Default:* ${{ secrets.GITHUB_TOKEN }}
7349
-
7350
- The GitHub Token to use when pushing the tag commit Note: if you use the default `${{ secrets.GITHUB_TOKEN }}` then the Push/Tag will not trigger any other workflows.
7351
-
7352
- ---
7353
-
7354
7403
  ##### `gitIdentity`<sup>Optional</sup> <a name="gitIdentity" id="@hallcor/pulumi-projen-project-types.TypeScriptComponentOptions.property.gitIdentity"></a>
7355
7404
 
7356
7405
  ```typescript