cdklabs-projen-project-types 0.1.4 → 0.1.6

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/API.md CHANGED
@@ -3,6 +3,162 @@
3
3
 
4
4
  ## Structs <a name="Structs" id="Structs"></a>
5
5
 
6
+ ### AutoMergeOptions <a name="AutoMergeOptions" id="cdklabs-projen-project-types.AutoMergeOptions"></a>
7
+
8
+ Options for 'AutoMerge'.
9
+
10
+ #### Initializer <a name="Initializer" id="cdklabs-projen-project-types.AutoMergeOptions.Initializer"></a>
11
+
12
+ ```typescript
13
+ import { AutoMergeOptions } from 'cdklabs-projen-project-types'
14
+
15
+ const autoMergeOptions: AutoMergeOptions = { ... }
16
+ ```
17
+
18
+ #### Properties <a name="Properties" id="Properties"></a>
19
+
20
+ | **Name** | **Type** | **Description** |
21
+ | --- | --- | --- |
22
+ | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions.property.allowedUsernames">allowedUsernames</a></code> | <code>string[]</code> | Only pull requests authored by these Github usernames will have auto-merge enabled. |
23
+ | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions.property.labels">labels</a></code> | <code>string[]</code> | Only pull requests with one of this labels will have auto-merge enabled. |
24
+ | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions.property.mergeMethod">mergeMethod</a></code> | <code><a href="#cdklabs-projen-project-types.MergeMethod">MergeMethod</a></code> | The method used to auto-merge the PR. |
25
+ | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions.property.runsOn">runsOn</a></code> | <code>string[]</code> | Github Runner selection labels. |
26
+ | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions.property.secret">secret</a></code> | <code>string</code> | A GitHub secret name which contains a GitHub Access Token with write permissions for the `pull_request` scope. |
27
+
28
+ ---
29
+
30
+ ##### `allowedUsernames`<sup>Optional</sup> <a name="allowedUsernames" id="cdklabs-projen-project-types.AutoMergeOptions.property.allowedUsernames"></a>
31
+
32
+ ```typescript
33
+ public readonly allowedUsernames: string[];
34
+ ```
35
+
36
+ - *Type:* string[]
37
+ - *Default:* pull requests from all users are eligible for auto-merge
38
+
39
+ Only pull requests authored by these Github usernames will have auto-merge enabled.
40
+
41
+ ---
42
+
43
+ ##### `labels`<sup>Optional</sup> <a name="labels" id="cdklabs-projen-project-types.AutoMergeOptions.property.labels"></a>
44
+
45
+ ```typescript
46
+ public readonly labels: string[];
47
+ ```
48
+
49
+ - *Type:* string[]
50
+ - *Default:* all pull requests are eligible for auto-merge
51
+
52
+ Only pull requests with one of this labels will have auto-merge enabled.
53
+
54
+ ---
55
+
56
+ ##### `mergeMethod`<sup>Optional</sup> <a name="mergeMethod" id="cdklabs-projen-project-types.AutoMergeOptions.property.mergeMethod"></a>
57
+
58
+ ```typescript
59
+ public readonly mergeMethod: MergeMethod;
60
+ ```
61
+
62
+ - *Type:* <a href="#cdklabs-projen-project-types.MergeMethod">MergeMethod</a>
63
+ - *Default:* MergeMethod.SQUASH
64
+
65
+ The method used to auto-merge the PR.
66
+
67
+ Any branch protection rules must allow this merge method.
68
+
69
+ ---
70
+
71
+ ##### `runsOn`<sup>Optional</sup> <a name="runsOn" id="cdklabs-projen-project-types.AutoMergeOptions.property.runsOn"></a>
72
+
73
+ ```typescript
74
+ public readonly runsOn: string[];
75
+ ```
76
+
77
+ - *Type:* string[]
78
+ - *Default:* ["ubuntu-latest"]
79
+
80
+ Github Runner selection labels.
81
+
82
+ ---
83
+
84
+ ##### `secret`<sup>Optional</sup> <a name="secret" id="cdklabs-projen-project-types.AutoMergeOptions.property.secret"></a>
85
+
86
+ ```typescript
87
+ public readonly secret: string;
88
+ ```
89
+
90
+ - *Type:* string
91
+ - *Default:* "GITHUB_TOKEN"
92
+
93
+ A GitHub secret name which contains a GitHub Access Token with write permissions for the `pull_request` scope.
94
+
95
+ This token is used to enable auto-merge on pull requests.
96
+
97
+ ---
98
+
99
+ ### CdkCommonOptions <a name="CdkCommonOptions" id="cdklabs-projen-project-types.CdkCommonOptions"></a>
100
+
101
+ #### Initializer <a name="Initializer" id="cdklabs-projen-project-types.CdkCommonOptions.Initializer"></a>
102
+
103
+ ```typescript
104
+ import { CdkCommonOptions } from 'cdklabs-projen-project-types'
105
+
106
+ const cdkCommonOptions: CdkCommonOptions = { ... }
107
+ ```
108
+
109
+ #### Properties <a name="Properties" id="Properties"></a>
110
+
111
+ | **Name** | **Type** | **Description** |
112
+ | --- | --- | --- |
113
+ | <code><a href="#cdklabs-projen-project-types.CdkCommonOptions.property.enablePRAutoMerge">enablePRAutoMerge</a></code> | <code>boolean</code> | Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
114
+ | <code><a href="#cdklabs-projen-project-types.CdkCommonOptions.property.ghAutoMergeOptions">ghAutoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
115
+ | <code><a href="#cdklabs-projen-project-types.CdkCommonOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this package is private. |
116
+
117
+ ---
118
+
119
+ ##### `enablePRAutoMerge`<sup>Optional</sup> <a name="enablePRAutoMerge" id="cdklabs-projen-project-types.CdkCommonOptions.property.enablePRAutoMerge"></a>
120
+
121
+ ```typescript
122
+ public readonly enablePRAutoMerge: boolean;
123
+ ```
124
+
125
+ - *Type:* boolean
126
+ - *Default:* true for private projects, false otherwise
127
+
128
+ Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
129
+
130
+ ---
131
+
132
+ ##### `ghAutoMergeOptions`<sup>Optional</sup> <a name="ghAutoMergeOptions" id="cdklabs-projen-project-types.CdkCommonOptions.property.ghAutoMergeOptions"></a>
133
+
134
+ ```typescript
135
+ public readonly ghAutoMergeOptions: AutoMergeOptions;
136
+ ```
137
+
138
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
139
+ - *Default:* default options
140
+
141
+ Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
142
+
143
+ ---
144
+
145
+ ##### `private`<sup>Optional</sup> <a name="private" id="cdklabs-projen-project-types.CdkCommonOptions.property.private"></a>
146
+
147
+ ```typescript
148
+ public readonly private: boolean;
149
+ ```
150
+
151
+ - *Type:* boolean
152
+ - *Default:* true
153
+
154
+ Whether or not this package is private.
155
+
156
+ Setting this variable
157
+ to true means that your project is created with sane defaults
158
+ for private repositories.
159
+
160
+ ---
161
+
6
162
  ### CdkConstructLibraryOptions <a name="CdkConstructLibraryOptions" id="cdklabs-projen-project-types.CdkConstructLibraryOptions"></a>
7
163
 
8
164
  #### Initializer <a name="Initializer" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.Initializer"></a>
@@ -178,6 +334,8 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
178
334
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.lambdaAutoDiscover">lambdaAutoDiscover</a></code> | <code>boolean</code> | Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. |
179
335
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.lambdaExtensionAutoDiscover">lambdaExtensionAutoDiscover</a></code> | <code>boolean</code> | Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
180
336
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.lambdaOptions">lambdaOptions</a></code> | <code>projen.awscdk.LambdaFunctionCommonOptions</code> | Common options for all AWS Lambda functions. |
337
+ | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.enablePRAutoMerge">enablePRAutoMerge</a></code> | <code>boolean</code> | Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
338
+ | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.ghAutoMergeOptions">ghAutoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
181
339
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this package is private. |
182
340
 
183
341
  ---
@@ -2471,6 +2629,32 @@ Common options for all AWS Lambda functions.
2471
2629
 
2472
2630
  ---
2473
2631
 
2632
+ ##### `enablePRAutoMerge`<sup>Optional</sup> <a name="enablePRAutoMerge" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.enablePRAutoMerge"></a>
2633
+
2634
+ ```typescript
2635
+ public readonly enablePRAutoMerge: boolean;
2636
+ ```
2637
+
2638
+ - *Type:* boolean
2639
+ - *Default:* true for private projects, false otherwise
2640
+
2641
+ Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
2642
+
2643
+ ---
2644
+
2645
+ ##### `ghAutoMergeOptions`<sup>Optional</sup> <a name="ghAutoMergeOptions" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.ghAutoMergeOptions"></a>
2646
+
2647
+ ```typescript
2648
+ public readonly ghAutoMergeOptions: AutoMergeOptions;
2649
+ ```
2650
+
2651
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
2652
+ - *Default:* default options
2653
+
2654
+ Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
2655
+
2656
+ ---
2657
+
2474
2658
  ##### `private`<sup>Optional</sup> <a name="private" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.private"></a>
2475
2659
 
2476
2660
  ```typescript
@@ -2663,6 +2847,8 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
2663
2847
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.lambdaAutoDiscover">lambdaAutoDiscover</a></code> | <code>boolean</code> | Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. |
2664
2848
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.lambdaExtensionAutoDiscover">lambdaExtensionAutoDiscover</a></code> | <code>boolean</code> | Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
2665
2849
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.lambdaOptions">lambdaOptions</a></code> | <code>projen.awscdk.LambdaFunctionCommonOptions</code> | Common options for all AWS Lambda functions. |
2850
+ | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.enablePRAutoMerge">enablePRAutoMerge</a></code> | <code>boolean</code> | Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
2851
+ | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.ghAutoMergeOptions">ghAutoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
2666
2852
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this package is private. |
2667
2853
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.cdklabsPublishingDefaults">cdklabsPublishingDefaults</a></code> | <code>boolean</code> | Set default publishing properties. |
2668
2854
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.jsiiTargetLanguages">jsiiTargetLanguages</a></code> | <code><a href="#cdklabs-projen-project-types.JsiiLanguage">JsiiLanguage</a>[]</code> | Specify specific languages to publish to. |
@@ -4958,6 +5144,32 @@ Common options for all AWS Lambda functions.
4958
5144
 
4959
5145
  ---
4960
5146
 
5147
+ ##### `enablePRAutoMerge`<sup>Optional</sup> <a name="enablePRAutoMerge" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.enablePRAutoMerge"></a>
5148
+
5149
+ ```typescript
5150
+ public readonly enablePRAutoMerge: boolean;
5151
+ ```
5152
+
5153
+ - *Type:* boolean
5154
+ - *Default:* true for private projects, false otherwise
5155
+
5156
+ Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
5157
+
5158
+ ---
5159
+
5160
+ ##### `ghAutoMergeOptions`<sup>Optional</sup> <a name="ghAutoMergeOptions" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.ghAutoMergeOptions"></a>
5161
+
5162
+ ```typescript
5163
+ public readonly ghAutoMergeOptions: AutoMergeOptions;
5164
+ ```
5165
+
5166
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
5167
+ - *Default:* default options
5168
+
5169
+ Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
5170
+
5171
+ ---
5172
+
4961
5173
  ##### `private`<sup>Optional</sup> <a name="private" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.private"></a>
4962
5174
 
4963
5175
  ```typescript
@@ -5160,7 +5372,9 @@ const cdklabsTypeScriptProjectOptions: CdklabsTypeScriptProjectOptions = { ... }
5160
5372
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
5161
5373
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
5162
5374
  | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
5163
- | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this module is private. |
5375
+ | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.enablePRAutoMerge">enablePRAutoMerge</a></code> | <code>boolean</code> | Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
5376
+ | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.ghAutoMergeOptions">ghAutoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
5377
+ | <code><a href="#cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this package is private. |
5164
5378
 
5165
5379
  ---
5166
5380
 
@@ -7041,6 +7255,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
7041
7255
 
7042
7256
  ---
7043
7257
 
7258
+ ##### `enablePRAutoMerge`<sup>Optional</sup> <a name="enablePRAutoMerge" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.enablePRAutoMerge"></a>
7259
+
7260
+ ```typescript
7261
+ public readonly enablePRAutoMerge: boolean;
7262
+ ```
7263
+
7264
+ - *Type:* boolean
7265
+ - *Default:* true for private projects, false otherwise
7266
+
7267
+ Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
7268
+
7269
+ ---
7270
+
7271
+ ##### `ghAutoMergeOptions`<sup>Optional</sup> <a name="ghAutoMergeOptions" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.ghAutoMergeOptions"></a>
7272
+
7273
+ ```typescript
7274
+ public readonly ghAutoMergeOptions: AutoMergeOptions;
7275
+ ```
7276
+
7277
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
7278
+ - *Default:* default options
7279
+
7280
+ Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
7281
+
7282
+ ---
7283
+
7044
7284
  ##### `private`<sup>Optional</sup> <a name="private" id="cdklabs-projen-project-types.CdklabsTypeScriptProjectOptions.property.private"></a>
7045
7285
 
7046
7286
  ```typescript
@@ -7050,7 +7290,7 @@ public readonly private: boolean;
7050
7290
  - *Type:* boolean
7051
7291
  - *Default:* true
7052
7292
 
7053
- Whether or not this module is private.
7293
+ Whether or not this package is private.
7054
7294
 
7055
7295
  Setting this variable
7056
7296
  to true means that your project is created with sane defaults
@@ -7204,7 +7444,9 @@ const cdkTypeScriptProjectOptions: CdkTypeScriptProjectOptions = { ... }
7204
7444
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
7205
7445
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
7206
7446
  | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
7207
- | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this module is private. |
7447
+ | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.enablePRAutoMerge">enablePRAutoMerge</a></code> | <code>boolean</code> | Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue. |
7448
+ | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.ghAutoMergeOptions">ghAutoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs). |
7449
+ | <code><a href="#cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.private">private</a></code> | <code>boolean</code> | Whether or not this package is private. |
7208
7450
 
7209
7451
  ---
7210
7452
 
@@ -9085,6 +9327,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
9085
9327
 
9086
9328
  ---
9087
9329
 
9330
+ ##### `enablePRAutoMerge`<sup>Optional</sup> <a name="enablePRAutoMerge" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.enablePRAutoMerge"></a>
9331
+
9332
+ ```typescript
9333
+ public readonly enablePRAutoMerge: boolean;
9334
+ ```
9335
+
9336
+ - *Type:* boolean
9337
+ - *Default:* true for private projects, false otherwise
9338
+
9339
+ Whether to enable the auto merge workflow for PRs This will enable the auto merge workflow as well as the merge queue.
9340
+
9341
+ ---
9342
+
9343
+ ##### `ghAutoMergeOptions`<sup>Optional</sup> <a name="ghAutoMergeOptions" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.ghAutoMergeOptions"></a>
9344
+
9345
+ ```typescript
9346
+ public readonly ghAutoMergeOptions: AutoMergeOptions;
9347
+ ```
9348
+
9349
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
9350
+ - *Default:* default options
9351
+
9352
+ Options for the GitHub auto merge workflow (the workflow that turns on auto merge on all PRs).
9353
+
9354
+ ---
9355
+
9088
9356
  ##### `private`<sup>Optional</sup> <a name="private" id="cdklabs-projen-project-types.CdkTypeScriptProjectOptions.property.private"></a>
9089
9357
 
9090
9358
  ```typescript
@@ -9094,7 +9362,7 @@ public readonly private: boolean;
9094
9362
  - *Type:* boolean
9095
9363
  - *Default:* true
9096
9364
 
9097
- Whether or not this module is private.
9365
+ Whether or not this package is private.
9098
9366
 
9099
9367
  Setting this variable
9100
9368
  to true means that your project is created with sane defaults
@@ -9102,8 +9370,156 @@ for private repositories.
9102
9370
 
9103
9371
  ---
9104
9372
 
9373
+ ### MergeQueueOptions <a name="MergeQueueOptions" id="cdklabs-projen-project-types.MergeQueueOptions"></a>
9374
+
9375
+ Options for 'MergeQueue'.
9376
+
9377
+ #### Initializer <a name="Initializer" id="cdklabs-projen-project-types.MergeQueueOptions.Initializer"></a>
9378
+
9379
+ ```typescript
9380
+ import { MergeQueueOptions } from 'cdklabs-projen-project-types'
9381
+
9382
+ const mergeQueueOptions: MergeQueueOptions = { ... }
9383
+ ```
9384
+
9385
+ #### Properties <a name="Properties" id="Properties"></a>
9386
+
9387
+ | **Name** | **Type** | **Description** |
9388
+ | --- | --- | --- |
9389
+ | <code><a href="#cdklabs-projen-project-types.MergeQueueOptions.property.autoMerge">autoMerge</a></code> | <code>boolean</code> | Should pull requests be merged automatically once they pass required checks. |
9390
+ | <code><a href="#cdklabs-projen-project-types.MergeQueueOptions.property.autoMergeOptions">autoMergeOptions</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | Configure auto merge pull requests. |
9391
+ | <code><a href="#cdklabs-projen-project-types.MergeQueueOptions.property.mergeBranch">mergeBranch</a></code> | <code>string</code> | The branch to merge to. |
9392
+
9393
+ ---
9394
+
9395
+ ##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="cdklabs-projen-project-types.MergeQueueOptions.property.autoMerge"></a>
9396
+
9397
+ ```typescript
9398
+ public readonly autoMerge: boolean;
9399
+ ```
9400
+
9401
+ - *Type:* boolean
9402
+ - *Default:* true
9403
+
9404
+ Should pull requests be merged automatically once they pass required checks.
9405
+
9406
+ ---
9407
+
9408
+ ##### `autoMergeOptions`<sup>Optional</sup> <a name="autoMergeOptions" id="cdklabs-projen-project-types.MergeQueueOptions.property.autoMergeOptions"></a>
9409
+
9410
+ ```typescript
9411
+ public readonly autoMergeOptions: AutoMergeOptions;
9412
+ ```
9413
+
9414
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
9415
+ - *Default:* see AutoMergeOptions
9416
+
9417
+ Configure auto merge pull requests.
9418
+
9419
+ ---
9420
+
9421
+ ##### `mergeBranch`<sup>Optional</sup> <a name="mergeBranch" id="cdklabs-projen-project-types.MergeQueueOptions.property.mergeBranch"></a>
9422
+
9423
+ ```typescript
9424
+ public readonly mergeBranch: string;
9425
+ ```
9426
+
9427
+ - *Type:* string
9428
+ - *Default:* main
9429
+
9430
+ The branch to merge to.
9431
+
9432
+ ---
9433
+
9105
9434
  ## Classes <a name="Classes" id="Classes"></a>
9106
9435
 
9436
+ ### AutoMerge <a name="AutoMerge" id="cdklabs-projen-project-types.AutoMerge"></a>
9437
+
9438
+ Merge pull requests using a merge queue.
9439
+
9440
+ #### Initializers <a name="Initializers" id="cdklabs-projen-project-types.AutoMerge.Initializer"></a>
9441
+
9442
+ ```typescript
9443
+ import { AutoMerge } from 'cdklabs-projen-project-types'
9444
+
9445
+ new AutoMerge(github: GitHub, options?: AutoMergeOptions)
9446
+ ```
9447
+
9448
+ | **Name** | **Type** | **Description** |
9449
+ | --- | --- | --- |
9450
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.Initializer.parameter.github">github</a></code> | <code>projen.github.GitHub</code> | *No description.* |
9451
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.Initializer.parameter.options">options</a></code> | <code><a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a></code> | *No description.* |
9452
+
9453
+ ---
9454
+
9455
+ ##### `github`<sup>Required</sup> <a name="github" id="cdklabs-projen-project-types.AutoMerge.Initializer.parameter.github"></a>
9456
+
9457
+ - *Type:* projen.github.GitHub
9458
+
9459
+ ---
9460
+
9461
+ ##### `options`<sup>Optional</sup> <a name="options" id="cdklabs-projen-project-types.AutoMerge.Initializer.parameter.options"></a>
9462
+
9463
+ - *Type:* <a href="#cdklabs-projen-project-types.AutoMergeOptions">AutoMergeOptions</a>
9464
+
9465
+ ---
9466
+
9467
+ #### Methods <a name="Methods" id="Methods"></a>
9468
+
9469
+ | **Name** | **Description** |
9470
+ | --- | --- |
9471
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
9472
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
9473
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
9474
+
9475
+ ---
9476
+
9477
+ ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.AutoMerge.postSynthesize"></a>
9478
+
9479
+ ```typescript
9480
+ public postSynthesize(): void
9481
+ ```
9482
+
9483
+ Called after synthesis.
9484
+
9485
+ Order is *not* guaranteed.
9486
+
9487
+ ##### `preSynthesize` <a name="preSynthesize" id="cdklabs-projen-project-types.AutoMerge.preSynthesize"></a>
9488
+
9489
+ ```typescript
9490
+ public preSynthesize(): void
9491
+ ```
9492
+
9493
+ Called before synthesis.
9494
+
9495
+ ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.AutoMerge.synthesize"></a>
9496
+
9497
+ ```typescript
9498
+ public synthesize(): void
9499
+ ```
9500
+
9501
+ Synthesizes files to the project output directory.
9502
+
9503
+
9504
+ #### Properties <a name="Properties" id="Properties"></a>
9505
+
9506
+ | **Name** | **Type** | **Description** |
9507
+ | --- | --- | --- |
9508
+ | <code><a href="#cdklabs-projen-project-types.AutoMerge.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
9509
+
9510
+ ---
9511
+
9512
+ ##### `project`<sup>Required</sup> <a name="project" id="cdklabs-projen-project-types.AutoMerge.property.project"></a>
9513
+
9514
+ ```typescript
9515
+ public readonly project: Project;
9516
+ ```
9517
+
9518
+ - *Type:* projen.Project
9519
+
9520
+ ---
9521
+
9522
+
9107
9523
  ### CdkConstructLibrary <a name="CdkConstructLibrary" id="cdklabs-projen-project-types.CdkConstructLibrary"></a>
9108
9524
 
9109
9525
  Create a Cdk Construct Library Project.
@@ -14706,6 +15122,93 @@ this task should synthesize the project files.
14706
15122
 
14707
15123
  ---
14708
15124
 
15125
+ ### MergeQueue <a name="MergeQueue" id="cdklabs-projen-project-types.MergeQueue"></a>
15126
+
15127
+ Merge pull requests using a merge queue.
15128
+
15129
+ #### Initializers <a name="Initializers" id="cdklabs-projen-project-types.MergeQueue.Initializer"></a>
15130
+
15131
+ ```typescript
15132
+ import { MergeQueue } from 'cdklabs-projen-project-types'
15133
+
15134
+ new MergeQueue(project: NodeProject, options?: MergeQueueOptions)
15135
+ ```
15136
+
15137
+ | **Name** | **Type** | **Description** |
15138
+ | --- | --- | --- |
15139
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.Initializer.parameter.project">project</a></code> | <code>projen.javascript.NodeProject</code> | *No description.* |
15140
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.Initializer.parameter.options">options</a></code> | <code><a href="#cdklabs-projen-project-types.MergeQueueOptions">MergeQueueOptions</a></code> | *No description.* |
15141
+
15142
+ ---
15143
+
15144
+ ##### `project`<sup>Required</sup> <a name="project" id="cdklabs-projen-project-types.MergeQueue.Initializer.parameter.project"></a>
15145
+
15146
+ - *Type:* projen.javascript.NodeProject
15147
+
15148
+ ---
15149
+
15150
+ ##### `options`<sup>Optional</sup> <a name="options" id="cdklabs-projen-project-types.MergeQueue.Initializer.parameter.options"></a>
15151
+
15152
+ - *Type:* <a href="#cdklabs-projen-project-types.MergeQueueOptions">MergeQueueOptions</a>
15153
+
15154
+ ---
15155
+
15156
+ #### Methods <a name="Methods" id="Methods"></a>
15157
+
15158
+ | **Name** | **Description** |
15159
+ | --- | --- |
15160
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
15161
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
15162
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
15163
+
15164
+ ---
15165
+
15166
+ ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.MergeQueue.postSynthesize"></a>
15167
+
15168
+ ```typescript
15169
+ public postSynthesize(): void
15170
+ ```
15171
+
15172
+ Called after synthesis.
15173
+
15174
+ Order is *not* guaranteed.
15175
+
15176
+ ##### `preSynthesize` <a name="preSynthesize" id="cdklabs-projen-project-types.MergeQueue.preSynthesize"></a>
15177
+
15178
+ ```typescript
15179
+ public preSynthesize(): void
15180
+ ```
15181
+
15182
+ Called before synthesis.
15183
+
15184
+ ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.MergeQueue.synthesize"></a>
15185
+
15186
+ ```typescript
15187
+ public synthesize(): void
15188
+ ```
15189
+
15190
+ Synthesizes files to the project output directory.
15191
+
15192
+
15193
+ #### Properties <a name="Properties" id="Properties"></a>
15194
+
15195
+ | **Name** | **Type** | **Description** |
15196
+ | --- | --- | --- |
15197
+ | <code><a href="#cdklabs-projen-project-types.MergeQueue.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
15198
+
15199
+ ---
15200
+
15201
+ ##### `project`<sup>Required</sup> <a name="project" id="cdklabs-projen-project-types.MergeQueue.property.project"></a>
15202
+
15203
+ ```typescript
15204
+ public readonly project: Project;
15205
+ ```
15206
+
15207
+ - *Type:* projen.Project
15208
+
15209
+ ---
15210
+
15211
+
14709
15212
 
14710
15213
  ## Enums <a name="Enums" id="Enums"></a>
14711
15214
 
@@ -14741,3 +15244,30 @@ this task should synthesize the project files.
14741
15244
 
14742
15245
  ---
14743
15246
 
15247
+
15248
+ ### MergeMethod <a name="MergeMethod" id="cdklabs-projen-project-types.MergeMethod"></a>
15249
+
15250
+ #### Members <a name="Members" id="Members"></a>
15251
+
15252
+ | **Name** | **Description** |
15253
+ | --- | --- |
15254
+ | <code><a href="#cdklabs-projen-project-types.MergeMethod.SQUASH">SQUASH</a></code> | *No description.* |
15255
+ | <code><a href="#cdklabs-projen-project-types.MergeMethod.MERGE">MERGE</a></code> | *No description.* |
15256
+ | <code><a href="#cdklabs-projen-project-types.MergeMethod.REBASE">REBASE</a></code> | *No description.* |
15257
+
15258
+ ---
15259
+
15260
+ ##### `SQUASH` <a name="SQUASH" id="cdklabs-projen-project-types.MergeMethod.SQUASH"></a>
15261
+
15262
+ ---
15263
+
15264
+
15265
+ ##### `MERGE` <a name="MERGE" id="cdklabs-projen-project-types.MergeMethod.MERGE"></a>
15266
+
15267
+ ---
15268
+
15269
+
15270
+ ##### `REBASE` <a name="REBASE" id="cdklabs-projen-project-types.MergeMethod.REBASE"></a>
15271
+
15272
+ ---
15273
+
@@ -0,0 +1,47 @@
1
+ import { github as gh, Component } from 'projen';
2
+ export declare enum MergeMethod {
3
+ SQUASH = "squash",
4
+ MERGE = "merge",
5
+ REBASE = "rebase"
6
+ }
7
+ /**
8
+ * Options for 'AutoMerge'
9
+ */
10
+ export interface AutoMergeOptions {
11
+ /**
12
+ * Only pull requests authored by these Github usernames will have auto-merge enabled.
13
+ * @default - pull requests from all users are eligible for auto-merge
14
+ */
15
+ readonly allowedUsernames?: string[];
16
+ /**
17
+ * Only pull requests with one of this labels will have auto-merge enabled.
18
+ * @default - all pull requests are eligible for auto-merge
19
+ */
20
+ readonly labels?: string[];
21
+ /**
22
+ * A GitHub secret name which contains a GitHub Access Token
23
+ * with write permissions for the `pull_request` scope.
24
+ *
25
+ * This token is used to enable auto-merge on pull requests.
26
+ *
27
+ * @default "GITHUB_TOKEN"
28
+ */
29
+ readonly secret?: string;
30
+ /**
31
+ * The method used to auto-merge the PR.
32
+ * Any branch protection rules must allow this merge method.
33
+ * @default MergeMethod.SQUASH
34
+ */
35
+ readonly mergeMethod?: MergeMethod;
36
+ /**
37
+ * Github Runner selection labels
38
+ * @default ["ubuntu-latest"]
39
+ */
40
+ readonly runsOn?: string[];
41
+ }
42
+ /**
43
+ * Merge pull requests using a merge queue
44
+ */
45
+ export declare class AutoMerge extends Component {
46
+ constructor(github: gh.GitHub, options?: AutoMergeOptions);
47
+ }