@cdk8s/projen-common 0.0.278 → 0.0.280
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 +100 -18
- package/API.md +84 -0
- package/lib/components/backport/backport.d.ts +27 -0
- package/lib/components/backport/backport.js +100 -0
- package/lib/components/backport/backport.ts +131 -0
- package/lib/components/triage/triage.js +5 -3
- package/lib/components/triage/triage.ts +4 -2
- package/lib/projects/jsii.js +6 -2
- package/lib/projects/node.d.ts +12 -0
- package/lib/projects/node.js +6 -2
- package/lib/projects/typescript.d.ts +12 -0
- package/lib/projects/typescript.js +6 -2
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
},
|
|
100
100
|
"locationInModule": {
|
|
101
101
|
"filename": "src/projects/jsii.ts",
|
|
102
|
-
"line":
|
|
102
|
+
"line": 62
|
|
103
103
|
},
|
|
104
104
|
"parameters": [
|
|
105
105
|
{
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"kind": "class",
|
|
114
114
|
"locationInModule": {
|
|
115
115
|
"filename": "src/projects/jsii.ts",
|
|
116
|
-
"line":
|
|
116
|
+
"line": 60
|
|
117
117
|
},
|
|
118
118
|
"name": "Cdk8sTeamJsiiProject",
|
|
119
119
|
"symbolId": "src/projects/jsii:Cdk8sTeamJsiiProject"
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"kind": "interface",
|
|
134
134
|
"locationInModule": {
|
|
135
135
|
"filename": "src/projects/jsii.ts",
|
|
136
|
-
"line":
|
|
136
|
+
"line": 18
|
|
137
137
|
},
|
|
138
138
|
"name": "Cdk8sTeamJsiiProjectOptions",
|
|
139
139
|
"properties": [
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"immutable": true,
|
|
148
148
|
"locationInModule": {
|
|
149
149
|
"filename": "src/projects/jsii.ts",
|
|
150
|
-
"line":
|
|
150
|
+
"line": 25
|
|
151
151
|
},
|
|
152
152
|
"name": "golang",
|
|
153
153
|
"optional": true,
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"immutable": true,
|
|
166
166
|
"locationInModule": {
|
|
167
167
|
"filename": "src/projects/jsii.ts",
|
|
168
|
-
"line":
|
|
168
|
+
"line": 32
|
|
169
169
|
},
|
|
170
170
|
"name": "golangBranch",
|
|
171
171
|
"optional": true,
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"immutable": true,
|
|
184
184
|
"locationInModule": {
|
|
185
185
|
"filename": "src/projects/jsii.ts",
|
|
186
|
-
"line":
|
|
186
|
+
"line": 46
|
|
187
187
|
},
|
|
188
188
|
"name": "maven",
|
|
189
189
|
"optional": true,
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
"immutable": true,
|
|
202
202
|
"locationInModule": {
|
|
203
203
|
"filename": "src/projects/jsii.ts",
|
|
204
|
-
"line":
|
|
204
|
+
"line": 53
|
|
205
205
|
},
|
|
206
206
|
"name": "nuget",
|
|
207
207
|
"optional": true,
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
"immutable": true,
|
|
220
220
|
"locationInModule": {
|
|
221
221
|
"filename": "src/projects/jsii.ts",
|
|
222
|
-
"line":
|
|
222
|
+
"line": 39
|
|
223
223
|
},
|
|
224
224
|
"name": "pypi",
|
|
225
225
|
"optional": true,
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
},
|
|
247
247
|
"locationInModule": {
|
|
248
248
|
"filename": "src/projects/node.ts",
|
|
249
|
-
"line":
|
|
249
|
+
"line": 113
|
|
250
250
|
},
|
|
251
251
|
"parameters": [
|
|
252
252
|
{
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
"kind": "class",
|
|
261
261
|
"locationInModule": {
|
|
262
262
|
"filename": "src/projects/node.ts",
|
|
263
|
-
"line":
|
|
263
|
+
"line": 111
|
|
264
264
|
},
|
|
265
265
|
"name": "Cdk8sTeamNodeProject",
|
|
266
266
|
"symbolId": "src/projects/node:Cdk8sTeamNodeProject"
|
|
@@ -279,10 +279,51 @@
|
|
|
279
279
|
"kind": "interface",
|
|
280
280
|
"locationInModule": {
|
|
281
281
|
"filename": "src/projects/node.ts",
|
|
282
|
-
"line":
|
|
282
|
+
"line": 82
|
|
283
283
|
},
|
|
284
284
|
"name": "Cdk8sTeamNodeProjectOptions",
|
|
285
285
|
"properties": [
|
|
286
|
+
{
|
|
287
|
+
"abstract": true,
|
|
288
|
+
"docs": {
|
|
289
|
+
"default": "false",
|
|
290
|
+
"stability": "stable",
|
|
291
|
+
"summary": "Configure a backport workflow."
|
|
292
|
+
},
|
|
293
|
+
"immutable": true,
|
|
294
|
+
"locationInModule": {
|
|
295
|
+
"filename": "src/projects/node.ts",
|
|
296
|
+
"line": 97
|
|
297
|
+
},
|
|
298
|
+
"name": "backport",
|
|
299
|
+
"optional": true,
|
|
300
|
+
"type": {
|
|
301
|
+
"primitive": "boolean"
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"abstract": true,
|
|
306
|
+
"docs": {
|
|
307
|
+
"default": "- Will be derived from PR labels.",
|
|
308
|
+
"stability": "stable",
|
|
309
|
+
"summary": "Branches to backport to."
|
|
310
|
+
},
|
|
311
|
+
"immutable": true,
|
|
312
|
+
"locationInModule": {
|
|
313
|
+
"filename": "src/projects/node.ts",
|
|
314
|
+
"line": 104
|
|
315
|
+
},
|
|
316
|
+
"name": "backportBranches",
|
|
317
|
+
"optional": true,
|
|
318
|
+
"type": {
|
|
319
|
+
"collection": {
|
|
320
|
+
"elementtype": {
|
|
321
|
+
"primitive": "string"
|
|
322
|
+
},
|
|
323
|
+
"kind": "array"
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
},
|
|
286
327
|
{
|
|
287
328
|
"abstract": true,
|
|
288
329
|
"docs": {
|
|
@@ -293,7 +334,7 @@
|
|
|
293
334
|
"immutable": true,
|
|
294
335
|
"locationInModule": {
|
|
295
336
|
"filename": "src/projects/node.ts",
|
|
296
|
-
"line":
|
|
337
|
+
"line": 90
|
|
297
338
|
},
|
|
298
339
|
"name": "repoName",
|
|
299
340
|
"optional": true,
|
|
@@ -320,7 +361,7 @@
|
|
|
320
361
|
},
|
|
321
362
|
"locationInModule": {
|
|
322
363
|
"filename": "src/projects/typescript.ts",
|
|
323
|
-
"line":
|
|
364
|
+
"line": 39
|
|
324
365
|
},
|
|
325
366
|
"parameters": [
|
|
326
367
|
{
|
|
@@ -334,7 +375,7 @@
|
|
|
334
375
|
"kind": "class",
|
|
335
376
|
"locationInModule": {
|
|
336
377
|
"filename": "src/projects/typescript.ts",
|
|
337
|
-
"line":
|
|
378
|
+
"line": 37
|
|
338
379
|
},
|
|
339
380
|
"name": "Cdk8sTeamTypeScriptProject",
|
|
340
381
|
"symbolId": "src/projects/typescript:Cdk8sTeamTypeScriptProject"
|
|
@@ -353,10 +394,51 @@
|
|
|
353
394
|
"kind": "interface",
|
|
354
395
|
"locationInModule": {
|
|
355
396
|
"filename": "src/projects/typescript.ts",
|
|
356
|
-
"line":
|
|
397
|
+
"line": 8
|
|
357
398
|
},
|
|
358
399
|
"name": "Cdk8sTeamTypeScriptProjectOptions",
|
|
359
400
|
"properties": [
|
|
401
|
+
{
|
|
402
|
+
"abstract": true,
|
|
403
|
+
"docs": {
|
|
404
|
+
"default": "false",
|
|
405
|
+
"stability": "stable",
|
|
406
|
+
"summary": "Configure a backport workflow."
|
|
407
|
+
},
|
|
408
|
+
"immutable": true,
|
|
409
|
+
"locationInModule": {
|
|
410
|
+
"filename": "src/projects/typescript.ts",
|
|
411
|
+
"line": 23
|
|
412
|
+
},
|
|
413
|
+
"name": "backport",
|
|
414
|
+
"optional": true,
|
|
415
|
+
"type": {
|
|
416
|
+
"primitive": "boolean"
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"abstract": true,
|
|
421
|
+
"docs": {
|
|
422
|
+
"default": "- Will be derived from PR labels.",
|
|
423
|
+
"stability": "stable",
|
|
424
|
+
"summary": "Branches to backport to."
|
|
425
|
+
},
|
|
426
|
+
"immutable": true,
|
|
427
|
+
"locationInModule": {
|
|
428
|
+
"filename": "src/projects/typescript.ts",
|
|
429
|
+
"line": 30
|
|
430
|
+
},
|
|
431
|
+
"name": "backportBranches",
|
|
432
|
+
"optional": true,
|
|
433
|
+
"type": {
|
|
434
|
+
"collection": {
|
|
435
|
+
"elementtype": {
|
|
436
|
+
"primitive": "string"
|
|
437
|
+
},
|
|
438
|
+
"kind": "array"
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
},
|
|
360
442
|
{
|
|
361
443
|
"abstract": true,
|
|
362
444
|
"docs": {
|
|
@@ -367,7 +449,7 @@
|
|
|
367
449
|
"immutable": true,
|
|
368
450
|
"locationInModule": {
|
|
369
451
|
"filename": "src/projects/typescript.ts",
|
|
370
|
-
"line":
|
|
452
|
+
"line": 16
|
|
371
453
|
},
|
|
372
454
|
"name": "repoName",
|
|
373
455
|
"optional": true,
|
|
@@ -379,6 +461,6 @@
|
|
|
379
461
|
"symbolId": "src/projects/typescript:Cdk8sTeamTypeScriptProjectOptions"
|
|
380
462
|
}
|
|
381
463
|
},
|
|
382
|
-
"version": "0.0.
|
|
383
|
-
"fingerprint": "
|
|
464
|
+
"version": "0.0.280",
|
|
465
|
+
"fingerprint": "dKzJoY3OrYt8YswNOFdSTBleoTLNH3NKIjv1dYlfOBQ="
|
|
384
466
|
}
|
package/API.md
CHANGED
|
@@ -159,6 +159,8 @@ const cdk8sTeamJsiiProjectOptions: Cdk8sTeamJsiiProjectOptions = { ... }
|
|
|
159
159
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
|
|
160
160
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
|
|
161
161
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
|
|
162
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.backport">backport</a></code> | <code>boolean</code> | Configure a backport workflow. |
|
|
163
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.backportBranches">backportBranches</a></code> | <code>string[]</code> | Branches to backport to. |
|
|
162
164
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.repoName">repoName</a></code> | <code>string</code> | The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
|
|
163
165
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.golang">golang</a></code> | <code>boolean</code> | Publish Golang bindings to GitHub. |
|
|
164
166
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.golangBranch">golangBranch</a></code> | <code>string</code> | Name of the branch in the golang repository to publish to. |
|
|
@@ -2070,6 +2072,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
|
|
|
2070
2072
|
|
|
2071
2073
|
---
|
|
2072
2074
|
|
|
2075
|
+
##### `backport`<sup>Optional</sup> <a name="backport" id="@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.backport"></a>
|
|
2076
|
+
|
|
2077
|
+
```typescript
|
|
2078
|
+
public readonly backport: boolean;
|
|
2079
|
+
```
|
|
2080
|
+
|
|
2081
|
+
- *Type:* boolean
|
|
2082
|
+
- *Default:* false
|
|
2083
|
+
|
|
2084
|
+
Configure a backport workflow.
|
|
2085
|
+
|
|
2086
|
+
---
|
|
2087
|
+
|
|
2088
|
+
##### `backportBranches`<sup>Optional</sup> <a name="backportBranches" id="@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.backportBranches"></a>
|
|
2089
|
+
|
|
2090
|
+
```typescript
|
|
2091
|
+
public readonly backportBranches: string[];
|
|
2092
|
+
```
|
|
2093
|
+
|
|
2094
|
+
- *Type:* string[]
|
|
2095
|
+
- *Default:* Will be derived from PR labels.
|
|
2096
|
+
|
|
2097
|
+
Branches to backport to.
|
|
2098
|
+
|
|
2099
|
+
---
|
|
2100
|
+
|
|
2073
2101
|
##### `repoName`<sup>Optional</sup> <a name="repoName" id="@cdk8s/projen-common.Cdk8sTeamJsiiProjectOptions.property.repoName"></a>
|
|
2074
2102
|
|
|
2075
2103
|
```typescript
|
|
@@ -2282,6 +2310,8 @@ const cdk8sTeamNodeProjectOptions: Cdk8sTeamNodeProjectOptions = { ... }
|
|
|
2282
2310
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.workflowBootstrapSteps">workflowBootstrapSteps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Workflow steps to use in order to bootstrap this repo. |
|
|
2283
2311
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.workflowGitIdentity">workflowGitIdentity</a></code> | <code>projen.github.GitIdentity</code> | The git identity to use in workflows. |
|
|
2284
2312
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.workflowNodeVersion">workflowNodeVersion</a></code> | <code>string</code> | The node version to use in GitHub workflows. |
|
|
2313
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.backport">backport</a></code> | <code>boolean</code> | Configure a backport workflow. |
|
|
2314
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.backportBranches">backportBranches</a></code> | <code>string[]</code> | Branches to backport to. |
|
|
2285
2315
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.repoName">repoName</a></code> | <code>string</code> | The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
|
|
2286
2316
|
|
|
2287
2317
|
---
|
|
@@ -3973,6 +4003,32 @@ The node version to use in GitHub workflows.
|
|
|
3973
4003
|
|
|
3974
4004
|
---
|
|
3975
4005
|
|
|
4006
|
+
##### `backport`<sup>Optional</sup> <a name="backport" id="@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.backport"></a>
|
|
4007
|
+
|
|
4008
|
+
```typescript
|
|
4009
|
+
public readonly backport: boolean;
|
|
4010
|
+
```
|
|
4011
|
+
|
|
4012
|
+
- *Type:* boolean
|
|
4013
|
+
- *Default:* false
|
|
4014
|
+
|
|
4015
|
+
Configure a backport workflow.
|
|
4016
|
+
|
|
4017
|
+
---
|
|
4018
|
+
|
|
4019
|
+
##### `backportBranches`<sup>Optional</sup> <a name="backportBranches" id="@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.backportBranches"></a>
|
|
4020
|
+
|
|
4021
|
+
```typescript
|
|
4022
|
+
public readonly backportBranches: string[];
|
|
4023
|
+
```
|
|
4024
|
+
|
|
4025
|
+
- *Type:* string[]
|
|
4026
|
+
- *Default:* Will be derived from PR labels.
|
|
4027
|
+
|
|
4028
|
+
Branches to backport to.
|
|
4029
|
+
|
|
4030
|
+
---
|
|
4031
|
+
|
|
3976
4032
|
##### `repoName`<sup>Optional</sup> <a name="repoName" id="@cdk8s/projen-common.Cdk8sTeamNodeProjectOptions.property.repoName"></a>
|
|
3977
4033
|
|
|
3978
4034
|
```typescript
|
|
@@ -4136,6 +4192,8 @@ const cdk8sTeamTypeScriptProjectOptions: Cdk8sTeamTypeScriptProjectOptions = { .
|
|
|
4136
4192
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.tsconfigDev">tsconfigDev</a></code> | <code>projen.javascript.TypescriptConfigOptions</code> | Custom tsconfig options for the development tsconfig.json file (used for testing). |
|
|
4137
4193
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.tsconfigDevFile">tsconfigDevFile</a></code> | <code>string</code> | The name of the development tsconfig.json file. |
|
|
4138
4194
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.typescriptVersion">typescriptVersion</a></code> | <code>string</code> | TypeScript version to use. |
|
|
4195
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.backport">backport</a></code> | <code>boolean</code> | Configure a backport workflow. |
|
|
4196
|
+
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.backportBranches">backportBranches</a></code> | <code>string[]</code> | Branches to backport to. |
|
|
4139
4197
|
| <code><a href="#@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.repoName">repoName</a></code> | <code>string</code> | The name of the repository inside the cdk8s-team org where the code of the project is locate in. |
|
|
4140
4198
|
|
|
4141
4199
|
---
|
|
@@ -6042,6 +6100,32 @@ same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
|
|
|
6042
6100
|
|
|
6043
6101
|
---
|
|
6044
6102
|
|
|
6103
|
+
##### `backport`<sup>Optional</sup> <a name="backport" id="@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.backport"></a>
|
|
6104
|
+
|
|
6105
|
+
```typescript
|
|
6106
|
+
public readonly backport: boolean;
|
|
6107
|
+
```
|
|
6108
|
+
|
|
6109
|
+
- *Type:* boolean
|
|
6110
|
+
- *Default:* false
|
|
6111
|
+
|
|
6112
|
+
Configure a backport workflow.
|
|
6113
|
+
|
|
6114
|
+
---
|
|
6115
|
+
|
|
6116
|
+
##### `backportBranches`<sup>Optional</sup> <a name="backportBranches" id="@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.backportBranches"></a>
|
|
6117
|
+
|
|
6118
|
+
```typescript
|
|
6119
|
+
public readonly backportBranches: string[];
|
|
6120
|
+
```
|
|
6121
|
+
|
|
6122
|
+
- *Type:* string[]
|
|
6123
|
+
- *Default:* Will be derived from PR labels.
|
|
6124
|
+
|
|
6125
|
+
Branches to backport to.
|
|
6126
|
+
|
|
6127
|
+
---
|
|
6128
|
+
|
|
6045
6129
|
##### `repoName`<sup>Optional</sup> <a name="repoName" id="@cdk8s/projen-common.Cdk8sTeamTypeScriptProjectOptions.property.repoName"></a>
|
|
6046
6130
|
|
|
6047
6131
|
```typescript
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component } from 'projen';
|
|
2
|
+
import { NodeProject } from 'projen/lib/javascript';
|
|
3
|
+
/**
|
|
4
|
+
* Options for `Backport`.
|
|
5
|
+
*/
|
|
6
|
+
export interface BackportOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The repository name.
|
|
9
|
+
*/
|
|
10
|
+
readonly repoName: string;
|
|
11
|
+
/**
|
|
12
|
+
* List of specific branches to backport to.
|
|
13
|
+
*
|
|
14
|
+
* @default - No specific branches. Will be determined by PR labels.
|
|
15
|
+
*/
|
|
16
|
+
readonly branches?: string[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Add a Backport workflow to our repos.
|
|
20
|
+
*/
|
|
21
|
+
export declare class Backport extends Component {
|
|
22
|
+
private readonly repoName;
|
|
23
|
+
private readonly config;
|
|
24
|
+
constructor(project: NodeProject, options: BackportOptions);
|
|
25
|
+
private createTask;
|
|
26
|
+
private createWorkflow;
|
|
27
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Backport = void 0;
|
|
4
|
+
const projen_1 = require("projen");
|
|
5
|
+
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
6
|
+
/**
|
|
7
|
+
* Add a Backport workflow to our repos.
|
|
8
|
+
*/
|
|
9
|
+
class Backport extends projen_1.Component {
|
|
10
|
+
constructor(project, options) {
|
|
11
|
+
super(project);
|
|
12
|
+
this.repoName = options.repoName;
|
|
13
|
+
this.config = new projen_1.JsonFile(project, '.backportrc.json', {
|
|
14
|
+
// see https://github.com/sqren/backport/blob/main/docs/config-file-options.md
|
|
15
|
+
obj: {
|
|
16
|
+
repoOwner: 'cdk8s-team',
|
|
17
|
+
repoName: this.repoName,
|
|
18
|
+
signoff: true,
|
|
19
|
+
branchLabelMapping: {
|
|
20
|
+
'^backport-to-(.+)$': '$1',
|
|
21
|
+
},
|
|
22
|
+
prTitle: '{commitMessages}',
|
|
23
|
+
fork: false,
|
|
24
|
+
publishStatusCommentOnFailure: true,
|
|
25
|
+
publishStatusCommentOnSuccess: true,
|
|
26
|
+
publishStatusCommentOnAbort: true,
|
|
27
|
+
targetPRLabels: [project.autoApprove.label],
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
// pinning because of https://github.com/sqren/backport/issues/451
|
|
31
|
+
// optional because it requires node 16 which is only available in the
|
|
32
|
+
// backport workflow environment.
|
|
33
|
+
project.addFields({ optionalDependencies: { backport: '8.5.0' } });
|
|
34
|
+
// backport task to branches based on pr labels (i.e not branch specific)
|
|
35
|
+
const backportTask = this.createTask(project);
|
|
36
|
+
// backport tasks to explicit branches based on input
|
|
37
|
+
for (const branch of options.branches ?? []) {
|
|
38
|
+
this.createTask(project, branch);
|
|
39
|
+
}
|
|
40
|
+
this.createWorkflow(project, backportTask);
|
|
41
|
+
}
|
|
42
|
+
createTask(project, branch) {
|
|
43
|
+
const name = branch ? `backport:${branch}` : 'backport';
|
|
44
|
+
const task = project.addTask(name, { requiredEnv: ['BACKPORT_PR_NUMBER', 'GITHUB_TOKEN'] });
|
|
45
|
+
const commands = [
|
|
46
|
+
'BACKPORT_HOME=$(mktemp -d)',
|
|
47
|
+
'mkdir -p ${BACKPORT_HOME}',
|
|
48
|
+
`cp ${this.config.path} \${BACKPORT_HOME}`,
|
|
49
|
+
'cd ${BACKPORT_HOME}',
|
|
50
|
+
];
|
|
51
|
+
const backport = ['backport', '--dir', `\${BACKPORT_HOME}/${this.repoName}`, '--accesstoken', '${GITHUB_TOKEN}', '--pr', '${BACKPORT_PR_NUMBER}'];
|
|
52
|
+
if (branch) {
|
|
53
|
+
backport.push(...['--branch', branch]);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
backport.push('--non-interactive');
|
|
57
|
+
}
|
|
58
|
+
commands.push(backport.join(' '));
|
|
59
|
+
task.exec(commands.join(' && '));
|
|
60
|
+
return task;
|
|
61
|
+
}
|
|
62
|
+
createWorkflow(project, task) {
|
|
63
|
+
const backportWorkflow = project.github.addWorkflow('backport');
|
|
64
|
+
backportWorkflow.on({ pullRequestTarget: { types: ['closed'] } });
|
|
65
|
+
backportWorkflow.addJob('backport', {
|
|
66
|
+
runsOn: ['ubuntu-latest'],
|
|
67
|
+
permissions: {
|
|
68
|
+
contents: workflows_model_1.JobPermission.WRITE,
|
|
69
|
+
},
|
|
70
|
+
steps: [
|
|
71
|
+
// needed in order to run the projen task as well
|
|
72
|
+
// as use the backport configuration in the repo.
|
|
73
|
+
{
|
|
74
|
+
name: 'checkout',
|
|
75
|
+
uses: 'actions/checkout@v3',
|
|
76
|
+
with: {
|
|
77
|
+
// required because we need the full history
|
|
78
|
+
// for proper backports.
|
|
79
|
+
'fetch-depth': 0,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Set Git Identity',
|
|
84
|
+
run: 'git config --global user.name "github-actions" && git config --global user.email "github-actions@github.com"',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'backport',
|
|
88
|
+
if: 'github.event.pull_request.merged == true',
|
|
89
|
+
run: `npx projen ${task.name}`,
|
|
90
|
+
env: {
|
|
91
|
+
GITHUB_TOKEN: '${{ secrets.PROJEN_GITHUB_TOKEN }}',
|
|
92
|
+
BACKPORT_PR_NUMBER: '${{ github.event.pull_request.number }}',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.Backport = Backport;
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYWNrcG9ydC9iYWNrcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUQ7QUFDbkQsdUVBQWtFO0FBcUJsRTs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLGtCQUFTO0lBS3JDLFlBQVksT0FBb0IsRUFBRSxPQUF3QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFFakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlCQUFRLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFO1lBQ3RELDhFQUE4RTtZQUM5RSxHQUFHLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2Isa0JBQWtCLEVBQUU7b0JBQ2xCLG9CQUFvQixFQUFFLElBQUk7aUJBQzNCO2dCQUNELE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLElBQUksRUFBRSxLQUFLO2dCQUNYLDZCQUE2QixFQUFFLElBQUk7Z0JBQ25DLDZCQUE2QixFQUFFLElBQUk7Z0JBQ25DLDJCQUEyQixFQUFFLElBQUk7Z0JBQ2pDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFZLENBQUMsS0FBSyxDQUFDO2FBQzdDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsa0VBQWtFO1FBQ2xFLHNFQUFzRTtRQUN0RSxpQ0FBaUM7UUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRSx5RUFBeUU7UUFDekUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QyxxREFBcUQ7UUFDckQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTdDLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBb0IsRUFBRSxNQUFlO1FBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sUUFBUSxHQUFHO1lBQ2YsNEJBQTRCO1lBQzVCLDJCQUEyQjtZQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxvQkFBb0I7WUFDMUMscUJBQXFCO1NBQ3RCLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDbEosSUFBSSxNQUFNLEVBQUU7WUFDVixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW9CLEVBQUUsSUFBVTtRQUVyRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNsQyxNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDekIsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSwrQkFBYSxDQUFDLEtBQUs7YUFDOUI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsaURBQWlEO2dCQUNqRCxpREFBaUQ7Z0JBQ2pEO29CQUNFLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUscUJBQXFCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osNENBQTRDO3dCQUM1Qyx3QkFBd0I7d0JBQ3hCLGFBQWEsRUFBRSxDQUFDO3FCQUNqQjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixHQUFHLEVBQUUsOEdBQThHO2lCQUNwSDtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsVUFBVTtvQkFDaEIsRUFBRSxFQUFFLDBDQUEwQztvQkFDOUMsR0FBRyxFQUFFLGNBQWMsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDOUIsR0FBRyxFQUFFO3dCQUNILFlBQVksRUFBRSxvQ0FBb0M7d0JBQ2xELGtCQUFrQixFQUFFLHlDQUF5QztxQkFDOUQ7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUVMLENBQUM7Q0FFRjtBQXpHRCw0QkF5R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEpzb25GaWxlLCBUYXNrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBCYWNrcG9ydGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3BvcnRPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3BlY2lmaWMgYnJhbmNoZXMgdG8gYmFja3BvcnQgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc3BlY2lmaWMgYnJhbmNoZXMuIFdpbGwgYmUgZGV0ZXJtaW5lZCBieSBQUiBsYWJlbHMuXG4gICAqL1xuICByZWFkb25seSBicmFuY2hlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFkZCBhIEJhY2twb3J0IHdvcmtmbG93IHRvIG91ciByZXBvcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhY2twb3J0IGV4dGVuZHMgQ29tcG9uZW50IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9OYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBKc29uRmlsZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogQmFja3BvcnRPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLnJlcG9OYW1lID0gb3B0aW9ucy5yZXBvTmFtZTtcblxuICAgIHRoaXMuY29uZmlnID0gbmV3IEpzb25GaWxlKHByb2plY3QsICcuYmFja3BvcnRyYy5qc29uJywge1xuICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zcXJlbi9iYWNrcG9ydC9ibG9iL21haW4vZG9jcy9jb25maWctZmlsZS1vcHRpb25zLm1kXG4gICAgICBvYmo6IHtcbiAgICAgICAgcmVwb093bmVyOiAnY2RrOHMtdGVhbScsXG4gICAgICAgIHJlcG9OYW1lOiB0aGlzLnJlcG9OYW1lLFxuICAgICAgICBzaWdub2ZmOiB0cnVlLFxuICAgICAgICBicmFuY2hMYWJlbE1hcHBpbmc6IHtcbiAgICAgICAgICAnXmJhY2twb3J0LXRvLSguKykkJzogJyQxJyxcbiAgICAgICAgfSxcbiAgICAgICAgcHJUaXRsZTogJ3tjb21taXRNZXNzYWdlc30nLFxuICAgICAgICBmb3JrOiBmYWxzZSxcbiAgICAgICAgcHVibGlzaFN0YXR1c0NvbW1lbnRPbkZhaWx1cmU6IHRydWUsXG4gICAgICAgIHB1Ymxpc2hTdGF0dXNDb21tZW50T25TdWNjZXNzOiB0cnVlLFxuICAgICAgICBwdWJsaXNoU3RhdHVzQ29tbWVudE9uQWJvcnQ6IHRydWUsXG4gICAgICAgIHRhcmdldFBSTGFiZWxzOiBbcHJvamVjdC5hdXRvQXBwcm92ZSEubGFiZWxdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIHBpbm5pbmcgYmVjYXVzZSBvZiBodHRwczovL2dpdGh1Yi5jb20vc3FyZW4vYmFja3BvcnQvaXNzdWVzLzQ1MVxuICAgIC8vIG9wdGlvbmFsIGJlY2F1c2UgaXQgcmVxdWlyZXMgbm9kZSAxNiB3aGljaCBpcyBvbmx5IGF2YWlsYWJsZSBpbiB0aGVcbiAgICAvLyBiYWNrcG9ydCB3b3JrZmxvdyBlbnZpcm9ubWVudC5cbiAgICBwcm9qZWN0LmFkZEZpZWxkcyh7IG9wdGlvbmFsRGVwZW5kZW5jaWVzOiB7IGJhY2twb3J0OiAnOC41LjAnIH0gfSk7XG5cbiAgICAvLyBiYWNrcG9ydCB0YXNrIHRvIGJyYW5jaGVzIGJhc2VkIG9uIHByIGxhYmVscyAoaS5lIG5vdCBicmFuY2ggc3BlY2lmaWMpXG4gICAgY29uc3QgYmFja3BvcnRUYXNrID0gdGhpcy5jcmVhdGVUYXNrKHByb2plY3QpO1xuXG4gICAgLy8gYmFja3BvcnQgdGFza3MgdG8gZXhwbGljaXQgYnJhbmNoZXMgYmFzZWQgb24gaW5wdXRcbiAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBvcHRpb25zLmJyYW5jaGVzID8/IFtdKSB7XG4gICAgICB0aGlzLmNyZWF0ZVRhc2socHJvamVjdCwgYnJhbmNoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZVdvcmtmbG93KHByb2plY3QsIGJhY2twb3J0VGFzayk7XG5cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGFzayhwcm9qZWN0OiBOb2RlUHJvamVjdCwgYnJhbmNoPzogc3RyaW5nKTogVGFzayB7XG4gICAgY29uc3QgbmFtZSA9IGJyYW5jaCA/IGBiYWNrcG9ydDoke2JyYW5jaH1gIDogJ2JhY2twb3J0JztcbiAgICBjb25zdCB0YXNrID0gcHJvamVjdC5hZGRUYXNrKG5hbWUsIHsgcmVxdWlyZWRFbnY6IFsnQkFDS1BPUlRfUFJfTlVNQkVSJywgJ0dJVEhVQl9UT0tFTiddIH0pO1xuICAgIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgICAgJ0JBQ0tQT1JUX0hPTUU9JChta3RlbXAgLWQpJyxcbiAgICAgICdta2RpciAtcCAke0JBQ0tQT1JUX0hPTUV9JyxcbiAgICAgIGBjcCAke3RoaXMuY29uZmlnLnBhdGh9IFxcJHtCQUNLUE9SVF9IT01FfWAsXG4gICAgICAnY2QgJHtCQUNLUE9SVF9IT01FfScsXG4gICAgXTtcbiAgICBjb25zdCBiYWNrcG9ydCA9IFsnYmFja3BvcnQnLCAnLS1kaXInLCBgXFwke0JBQ0tQT1JUX0hPTUV9LyR7dGhpcy5yZXBvTmFtZX1gLCAnLS1hY2Nlc3N0b2tlbicsICcke0dJVEhVQl9UT0tFTn0nLCAnLS1wcicsICcke0JBQ0tQT1JUX1BSX05VTUJFUn0nXTtcbiAgICBpZiAoYnJhbmNoKSB7XG4gICAgICBiYWNrcG9ydC5wdXNoKC4uLlsnLS1icmFuY2gnLCBicmFuY2hdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja3BvcnQucHVzaCgnLS1ub24taW50ZXJhY3RpdmUnKTtcbiAgICB9XG5cbiAgICBjb21tYW5kcy5wdXNoKGJhY2twb3J0LmpvaW4oJyAnKSk7XG4gICAgdGFzay5leGVjKGNvbW1hbmRzLmpvaW4oJyAmJiAnKSk7XG4gICAgcmV0dXJuIHRhc2s7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdvcmtmbG93KHByb2plY3Q6IE5vZGVQcm9qZWN0LCB0YXNrOiBUYXNrKSB7XG5cbiAgICBjb25zdCBiYWNrcG9ydFdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KCdiYWNrcG9ydCcpO1xuICAgIGJhY2twb3J0V29ya2Zsb3cub24oeyBwdWxsUmVxdWVzdFRhcmdldDogeyB0eXBlczogWydjbG9zZWQnXSB9IH0pO1xuICAgIGJhY2twb3J0V29ya2Zsb3cuYWRkSm9iKCdiYWNrcG9ydCcsIHtcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICAvLyBuZWVkZWQgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gdGFzayBhcyB3ZWxsXG4gICAgICAgIC8vIGFzIHVzZSB0aGUgYmFja3BvcnQgY29uZmlndXJhdGlvbiBpbiB0aGUgcmVwby5cbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjMnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIC8vIHJlcXVpcmVkIGJlY2F1c2Ugd2UgbmVlZCB0aGUgZnVsbCBoaXN0b3J5XG4gICAgICAgICAgICAvLyBmb3IgcHJvcGVyIGJhY2twb3J0cy5cbiAgICAgICAgICAgICdmZXRjaC1kZXB0aCc6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTZXQgR2l0IElkZW50aXR5JyxcbiAgICAgICAgICBydW46ICdnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcImdpdGh1Yi1hY3Rpb25zXCIgJiYgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiZ2l0aHViLWFjdGlvbnNAZ2l0aHViLmNvbVwiJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdiYWNrcG9ydCcsXG4gICAgICAgICAgaWY6ICdnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0Lm1lcmdlZCA9PSB0cnVlJyxcbiAgICAgICAgICBydW46IGBucHggcHJvamVuICR7dGFzay5uYW1lfWAsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5QUk9KRU5fR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgICAgIEJBQ0tQT1JUX1BSX05VTUJFUjogJyR7eyBnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0Lm51bWJlciB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgfVxuXG59Il19
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Component, JsonFile, Task } from 'projen';
|
|
2
|
+
import { JobPermission } from 'projen/lib/github/workflows-model';
|
|
3
|
+
import { NodeProject } from 'projen/lib/javascript';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Options for `Backport`.
|
|
7
|
+
*/
|
|
8
|
+
export interface BackportOptions {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The repository name.
|
|
12
|
+
*/
|
|
13
|
+
readonly repoName: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* List of specific branches to backport to.
|
|
17
|
+
*
|
|
18
|
+
* @default - No specific branches. Will be determined by PR labels.
|
|
19
|
+
*/
|
|
20
|
+
readonly branches?: string[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Add a Backport workflow to our repos.
|
|
25
|
+
*/
|
|
26
|
+
export class Backport extends Component {
|
|
27
|
+
|
|
28
|
+
private readonly repoName: string;
|
|
29
|
+
private readonly config: JsonFile;
|
|
30
|
+
|
|
31
|
+
constructor(project: NodeProject, options: BackportOptions) {
|
|
32
|
+
super(project);
|
|
33
|
+
|
|
34
|
+
this.repoName = options.repoName;
|
|
35
|
+
|
|
36
|
+
this.config = new JsonFile(project, '.backportrc.json', {
|
|
37
|
+
// see https://github.com/sqren/backport/blob/main/docs/config-file-options.md
|
|
38
|
+
obj: {
|
|
39
|
+
repoOwner: 'cdk8s-team',
|
|
40
|
+
repoName: this.repoName,
|
|
41
|
+
signoff: true,
|
|
42
|
+
branchLabelMapping: {
|
|
43
|
+
'^backport-to-(.+)$': '$1',
|
|
44
|
+
},
|
|
45
|
+
prTitle: '{commitMessages}',
|
|
46
|
+
fork: false,
|
|
47
|
+
publishStatusCommentOnFailure: true,
|
|
48
|
+
publishStatusCommentOnSuccess: true,
|
|
49
|
+
publishStatusCommentOnAbort: true,
|
|
50
|
+
targetPRLabels: [project.autoApprove!.label],
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// pinning because of https://github.com/sqren/backport/issues/451
|
|
55
|
+
// optional because it requires node 16 which is only available in the
|
|
56
|
+
// backport workflow environment.
|
|
57
|
+
project.addFields({ optionalDependencies: { backport: '8.5.0' } });
|
|
58
|
+
|
|
59
|
+
// backport task to branches based on pr labels (i.e not branch specific)
|
|
60
|
+
const backportTask = this.createTask(project);
|
|
61
|
+
|
|
62
|
+
// backport tasks to explicit branches based on input
|
|
63
|
+
for (const branch of options.branches ?? []) {
|
|
64
|
+
this.createTask(project, branch);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
this.createWorkflow(project, backportTask);
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
private createTask(project: NodeProject, branch?: string): Task {
|
|
72
|
+
const name = branch ? `backport:${branch}` : 'backport';
|
|
73
|
+
const task = project.addTask(name, { requiredEnv: ['BACKPORT_PR_NUMBER', 'GITHUB_TOKEN'] });
|
|
74
|
+
const commands = [
|
|
75
|
+
'BACKPORT_HOME=$(mktemp -d)',
|
|
76
|
+
'mkdir -p ${BACKPORT_HOME}',
|
|
77
|
+
`cp ${this.config.path} \${BACKPORT_HOME}`,
|
|
78
|
+
'cd ${BACKPORT_HOME}',
|
|
79
|
+
];
|
|
80
|
+
const backport = ['backport', '--dir', `\${BACKPORT_HOME}/${this.repoName}`, '--accesstoken', '${GITHUB_TOKEN}', '--pr', '${BACKPORT_PR_NUMBER}'];
|
|
81
|
+
if (branch) {
|
|
82
|
+
backport.push(...['--branch', branch]);
|
|
83
|
+
} else {
|
|
84
|
+
backport.push('--non-interactive');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
commands.push(backport.join(' '));
|
|
88
|
+
task.exec(commands.join(' && '));
|
|
89
|
+
return task;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
private createWorkflow(project: NodeProject, task: Task) {
|
|
93
|
+
|
|
94
|
+
const backportWorkflow = project.github!.addWorkflow('backport');
|
|
95
|
+
backportWorkflow.on({ pullRequestTarget: { types: ['closed'] } });
|
|
96
|
+
backportWorkflow.addJob('backport', {
|
|
97
|
+
runsOn: ['ubuntu-latest'],
|
|
98
|
+
permissions: {
|
|
99
|
+
contents: JobPermission.WRITE,
|
|
100
|
+
},
|
|
101
|
+
steps: [
|
|
102
|
+
// needed in order to run the projen task as well
|
|
103
|
+
// as use the backport configuration in the repo.
|
|
104
|
+
{
|
|
105
|
+
name: 'checkout',
|
|
106
|
+
uses: 'actions/checkout@v3',
|
|
107
|
+
with: {
|
|
108
|
+
// required because we need the full history
|
|
109
|
+
// for proper backports.
|
|
110
|
+
'fetch-depth': 0,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: 'Set Git Identity',
|
|
115
|
+
run: 'git config --global user.name "github-actions" && git config --global user.email "github-actions@github.com"',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'backport',
|
|
119
|
+
if: 'github.event.pull_request.merged == true',
|
|
120
|
+
run: `npx projen ${task.name}`,
|
|
121
|
+
env: {
|
|
122
|
+
GITHUB_TOKEN: '${{ secrets.PROJEN_GITHUB_TOKEN }}',
|
|
123
|
+
BACKPORT_PR_NUMBER: '${{ github.event.pull_request.number }}',
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
}
|
|
@@ -19,9 +19,12 @@ class Triage extends projen_1.Component {
|
|
|
19
19
|
issues: {
|
|
20
20
|
types: ['opened'],
|
|
21
21
|
},
|
|
22
|
+
pullRequest: {
|
|
23
|
+
types: ['opened'],
|
|
24
|
+
},
|
|
22
25
|
});
|
|
23
26
|
workflow.addJob('assign-to-project', {
|
|
24
|
-
permissions: { issues: workflows_model_1.JobPermission.WRITE },
|
|
27
|
+
permissions: { issues: workflows_model_1.JobPermission.WRITE, pullRequests: workflows_model_1.JobPermission.WRITE },
|
|
25
28
|
// dont run this action in forks as it contains a hard link to our project board.
|
|
26
29
|
// see https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution#example-only-run-job-for-specific-repository
|
|
27
30
|
if: `github.repository == cdk8s-team/${options.repoName}`,
|
|
@@ -31,11 +34,10 @@ class Triage extends projen_1.Component {
|
|
|
31
34
|
with: {
|
|
32
35
|
'project-url': projectUrl,
|
|
33
36
|
'github-token': '${{ secrets.PROJEN_GITHUB_TOKEN }}',
|
|
34
|
-
'labeled': 'needs-triage',
|
|
35
37
|
},
|
|
36
38
|
}],
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
exports.Triage = Triage;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJpYWdlL3RyaWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsdUVBQWtFO0FBZWxFOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU8sU0FBUSxrQkFBUztJQUVuQyxZQUFZLE9BQW9CLEVBQUUsT0FBc0I7UUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsa0RBQWtEO1FBQ2xELDBDQUEwQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxnREFBZ0QsQ0FBQztRQUVwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNsQjtZQUNELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ25DLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSwrQkFBYSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDL0UsaUZBQWlGO1lBQ2pGLDJJQUEySTtZQUMzSSxFQUFFLEVBQUUsbUNBQW1DLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDekQsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3pCLEtBQUssRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSwrQkFBK0I7b0JBQ3JDLElBQUksRUFBRTt3QkFDSixhQUFhLEVBQUUsVUFBVTt3QkFDekIsY0FBYyxFQUFFLG9DQUFvQztxQkFDckQ7aUJBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztJQUVMLENBQUM7Q0FDRjtBQWxDRCx3QkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFRyaWFnZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpYWdlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSByZXBvTmFtZTogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQWRkIGEgVHJpYWdlIHdvcmtmbG93IHRvIG91ciByZXBvcy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrZXRwbGFjZS9hY3Rpb25zL2FkZC10by1naXRodWItcHJvamVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyaWFnZSBleHRlbmRzIENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IFRyaWFnZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8vIGhtbSwgd2UgbmVlZCB0byByZW1lbWJlciB0byB1cGRhdGUgdGhpcyBpbiAyMDI0XG4gICAgLy8gb3IgZmlndXJlIG91dCBob3cgdG8gbWFrZSB0aGlzIGR5bmFtaWMuXG4gICAgY29uc3QgcHJvamVjdFVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vb3Jncy9jZGs4cy10ZWFtL3Byb2plY3RzLzEyJztcblxuICAgIGNvbnN0IHdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KCd0cmlhZ2UnKTtcbiAgICB3b3JrZmxvdy5vbih7XG4gICAgICBpc3N1ZXM6IHtcbiAgICAgICAgdHlwZXM6IFsnb3BlbmVkJ10sXG4gICAgICB9LFxuICAgICAgcHVsbFJlcXVlc3Q6IHtcbiAgICAgICAgdHlwZXM6IFsnb3BlbmVkJ10sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHdvcmtmbG93LmFkZEpvYignYXNzaWduLXRvLXByb2plY3QnLCB7XG4gICAgICBwZXJtaXNzaW9uczogeyBpc3N1ZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsIHB1bGxSZXF1ZXN0czogSm9iUGVybWlzc2lvbi5XUklURSB9LFxuICAgICAgLy8gZG9udCBydW4gdGhpcyBhY3Rpb24gaW4gZm9ya3MgYXMgaXQgY29udGFpbnMgYSBoYXJkIGxpbmsgdG8gb3VyIHByb2plY3QgYm9hcmQuXG4gICAgICAvLyBzZWUgaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYWN0aW9ucy91c2luZy1qb2JzL3VzaW5nLWNvbmRpdGlvbnMtdG8tY29udHJvbC1qb2ItZXhlY3V0aW9uI2V4YW1wbGUtb25seS1ydW4tam9iLWZvci1zcGVjaWZpYy1yZXBvc2l0b3J5XG4gICAgICBpZjogYGdpdGh1Yi5yZXBvc2l0b3J5ID09IGNkazhzLXRlYW0vJHtvcHRpb25zLnJlcG9OYW1lfWAsXG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL2FkZC10by1wcm9qZWN0QHYwLjQuMCcsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAncHJvamVjdC11cmwnOiBwcm9qZWN0VXJsLFxuICAgICAgICAgICdnaXRodWItdG9rZW4nOiAnJHt7IHNlY3JldHMuUFJPSkVOX0dJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICB9KTtcblxuICB9XG59Il19
|
|
@@ -33,9 +33,12 @@ export class Triage extends Component {
|
|
|
33
33
|
issues: {
|
|
34
34
|
types: ['opened'],
|
|
35
35
|
},
|
|
36
|
+
pullRequest: {
|
|
37
|
+
types: ['opened'],
|
|
38
|
+
},
|
|
36
39
|
});
|
|
37
40
|
workflow.addJob('assign-to-project', {
|
|
38
|
-
permissions: { issues: JobPermission.WRITE },
|
|
41
|
+
permissions: { issues: JobPermission.WRITE, pullRequests: JobPermission.WRITE },
|
|
39
42
|
// dont run this action in forks as it contains a hard link to our project board.
|
|
40
43
|
// see https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution#example-only-run-job-for-specific-repository
|
|
41
44
|
if: `github.repository == cdk8s-team/${options.repoName}`,
|
|
@@ -45,7 +48,6 @@ export class Triage extends Component {
|
|
|
45
48
|
with: {
|
|
46
49
|
'project-url': projectUrl,
|
|
47
50
|
'github-token': '${{ secrets.PROJEN_GITHUB_TOKEN }}',
|
|
48
|
-
'labeled': 'needs-triage',
|
|
49
51
|
},
|
|
50
52
|
}],
|
|
51
53
|
});
|
package/lib/projects/jsii.js
CHANGED
|
@@ -6,6 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
const maker = require("codemaker");
|
|
7
7
|
const projen_1 = require("projen");
|
|
8
8
|
const node = require("./node");
|
|
9
|
+
const backport_1 = require("../components/backport/backport");
|
|
9
10
|
const code = new maker.CodeMaker();
|
|
10
11
|
/**
|
|
11
12
|
* @pjid cdk8s-team-jsii-project
|
|
@@ -35,11 +36,14 @@ class Cdk8sTeamJsiiProject extends projen_1.cdk.JsiiProject {
|
|
|
35
36
|
...options,
|
|
36
37
|
});
|
|
37
38
|
node.addComponents(this, repoName);
|
|
39
|
+
if (options.backport ?? false) {
|
|
40
|
+
new backport_1.Backport(this, { branches: options.backportBranches, repoName });
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
exports.Cdk8sTeamJsiiProject = Cdk8sTeamJsiiProject;
|
|
41
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
42
|
-
Cdk8sTeamJsiiProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamJsiiProject", version: "0.0.
|
|
46
|
+
Cdk8sTeamJsiiProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamJsiiProject", version: "0.0.280" };
|
|
43
47
|
function pythonTarget(name) {
|
|
44
48
|
const repoName = node.buildRepositoryName(name);
|
|
45
49
|
return {
|
|
@@ -73,4 +77,4 @@ function golangTarget(repoName, branch) {
|
|
|
73
77
|
moduleName: `github.com/cdk8s-team/${repoName}-go`,
|
|
74
78
|
};
|
|
75
79
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9qc2lpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLG1DQUE2QjtBQUM3QiwrQkFBK0I7QUFFL0IsOERBQTJEO0FBRTNELE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBa0RuQzs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFFdkQsWUFBWSxPQUFvQztRQUU5QyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7UUFDcEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7UUFFcEMsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLHNCQUFzQixDQUFDLFVBQVc7WUFDMUMsYUFBYSxFQUFFLHNCQUFz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SixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbWFrZXIgZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IGNkayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgKiBhcyBub2RlIGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICcuL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQmFja3BvcnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2JhY2twb3J0L2JhY2twb3J0JztcblxuY29uc3QgY29kZSA9IG5ldyBtYWtlci5Db2RlTWFrZXIoKTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQ2RrOHNUZWFtSnNpaVByb2plY3RgLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIGV4dGVuZHMgYENkazhzVGVhbVR5cGVTY3JpcHRQcm9qZWN0T3B0aW9uc2AgYW5kIG5vdCBgY2RrLkpzaWlQcm9qZWN0T3B0aW9uc2BcbiAqIGJlY2F1c2UgYGNkay5Kc2lpUHJvamVjdE9wdGlvbnNgIGhhcyByZXF1aXJlZCBwcm9wZXJ0aWVzIChuYW1lbHkgJ2F1dGhvcicgYW5kICdhdXRob3JBZGRyZXNzJylcbiAqIHRoYXQgd2Ugd2FudCB0byBoYXJkY29kZSBhbmQgZGlzYWxsb3cgY3VzdG9taXphdGlvbiBvZi4gVGhpcyBtZWFucyB0aGF0IGFueSBqc2lpIHNwZWNpZmljIGZlYXR1cmVcbiAqIGNhbm5vdCBiZSBjdXN0b21pemVkIG9uIHRoZSBwcm9qZWN0IGxldmVsLiBUaGlzIGlzIG9rIGJlY2F1c2Ugd2UgZG9uJ3QgZXhwZWN0IG11Y2ggZGV2aWF0aW9uXG4gKiB3aXRoIHRob3NlIGZlYXR1cmVzIGJldHdlZW4gcHJvamVjdHMuIElmIHRoaXMgdHVybnMgb3V0IHRvIG5vdCBiZSB0aGUgY2FzZSwgd2Ugd2lsbCBjaGFuZ2UgYXBwcm9wcmlhdGVseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGs4c1RlYW1Kc2lpUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyB0cy5DZGs4c1RlYW1UeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIEdvbGFuZyBiaW5kaW5ncyB0byBHaXRIdWIuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGdvbGFuZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJyYW5jaCBpbiB0aGUgZ29sYW5nIHJlcG9zaXRvcnkgdG8gcHVibGlzaCB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBnb2xhbmdCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggUHl0aG9uIGJpbmRpbmdzIHRvIFB5UEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB5cGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIEphdmEgYmluZGluZ3MgdG8gTWF2ZW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG1hdmVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHVibGlzaCBEb3RuZXQgYmluZGluZ3MgdG8gTnVnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG51Z2V0PzogYm9vbGVhbjtcblxufVxuXG4vKipcbiAqIEBwamlkIGNkazhzLXRlYW0tanNpaS1wcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDZGs4c1RlYW1Kc2lpUHJvamVjdCBleHRlbmRzIGNkay5Kc2lpUHJvamVjdCB7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrOHNUZWFtSnNpaVByb2plY3RPcHRpb25zKSB7XG5cbiAgICBub2RlLnZhbGlkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICBub2RlLnZhbGlkYXRlUHJvamVjdE5hbWUob3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaXhlZFR5cGVTY3JpcHRPcHRpb25zID0gbm9kZS5idWlsZE5vZGVQcm9qZWN0Rml4ZWRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlZmF1bHRUeXBlU2NyaXB0T3B0aW9ucyA9IG5vZGUuYnVpbGROb2RlUHJvamVjdERlZmF1bHRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlcG9OYW1lID0gb3B0aW9ucy5yZXBvTmFtZSA/PyBub2RlLmJ1aWxkUmVwb3NpdG9yeU5hbWUob3B0aW9ucy5uYW1lKTtcblxuICAgIGNvbnN0IGdvbGFuZ0JyYW5jaCA9IG9wdGlvbnMuZ29sYW5nQnJhbmNoID8/ICdtYWluJztcbiAgICBjb25zdCBnb2xhbmcgPSBvcHRpb25zLmdvbGFuZyA/PyB0cnVlO1xuICAgIGNvbnN0IHB5cGkgPSBvcHRpb25zLnB5cGkgPz8gdHJ1ZTtcbiAgICBjb25zdCBtYXZlbiA9IG9wdGlvbnMubWF2ZW4gPz8gdHJ1ZTtcbiAgICBjb25zdCBudWdldCA9IG9wdGlvbnMubnVnZXQgPz8gdHJ1ZTtcblxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhvcjogZml4ZWRUeXBlU2NyaXB0T3B0aW9ucy5hdXRob3JOYW1lISxcbiAgICAgIHJlcG9zaXRvcnlVcmw6IGZpeGVkVHlwZVNjcmlwdE9wdGlvbnMucmVwb3NpdG9yeSEsXG4gICAgICBhdXRob3JBZGRyZXNzOiAnaHR0cHM6Ly9hd3MuYW1hem9uLmNvbScsXG4gICAgICBwdWJsaXNoVG9QeXBpOiBweXBpID8gcHl0aG9uVGFyZ2V0KG9wdGlvbnMubmFtZSkgOiB1bmRlZmluZWQsXG4gICAgICBwdWJsaXNoVG9NYXZlbjogbWF2ZW4gPyBqYXZhVGFyZ2V0KG9wdGlvbnMubmFtZSkgOiB1bmRlZmluZWQsXG4gICAgICBwdWJsaXNoVG9OdWdldDogbnVnZXQgPyBkb3RuZXRUYXJnZXQob3B0aW9ucy5uYW1lKSA6IHVuZGVmaW5lZCxcbiAgICAgIHB1Ymxpc2hUb0dvOiBnb2xhbmcgPyBnb2xhbmdUYXJnZXQocmVwb05hbWUsIGdvbGFuZ0JyYW5jaCkgOiB1bmRlZmluZWQsXG4gICAgICAuLi5maXhlZFR5cGVTY3JpcHRPcHRpb25zLFxuICAgICAgLi4uZGVmYXVsdFR5cGVTY3JpcHRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIG5vZGUuYWRkQ29tcG9uZW50cyh0aGlzLCByZXBvTmFtZSk7XG5cbiAgICBpZiAob3B0aW9ucy5iYWNrcG9ydCA/PyBmYWxzZSkge1xuICAgICAgbmV3IEJhY2twb3J0KHRoaXMsIHsgYnJhbmNoZXM6IG9wdGlvbnMuYmFja3BvcnRCcmFuY2hlcywgcmVwb05hbWUgfSk7XG4gICAgfVxuXG4gIH1cblxufVxuXG5mdW5jdGlvbiBweXRob25UYXJnZXQobmFtZTogc3RyaW5nKTogY2RrLkpzaWlQeXRob25UYXJnZXQge1xuICBjb25zdCByZXBvTmFtZSA9IG5vZGUuYnVpbGRSZXBvc2l0b3J5TmFtZShuYW1lKTtcbiAgcmV0dXJuIHtcbiAgICBkaXN0TmFtZTogcmVwb05hbWUsXG4gICAgbW9kdWxlOiByZXBvTmFtZS5yZXBsYWNlKC8tL2csICdfJyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGphdmFUYXJnZXQobmFtZTogc3RyaW5nKTogY2RrLkpzaWlKYXZhVGFyZ2V0IHtcbiAgY29uc3QgcmVwb05hbWUgPSBub2RlLmJ1aWxkUmVwb3NpdG9yeU5hbWUobmFtZSk7XG4gIGNvbnN0IHBrZyA9IHJlcG9OYW1lLnN1YnN0cmluZyhub2RlLk5BTUVfUFJFRklYLmxlbmd0aCkucmVwbGFjZSgvLS9nLCAnJyk7XG4gIHJldHVybiB7XG4gICAgbWF2ZW5BcnRpZmFjdElkOiByZXBvTmFtZSxcbiAgICBtYXZlbkdyb3VwSWQ6ICdvcmcuY2RrOHMnLFxuICAgIGphdmFQYWNrYWdlOiBgb3JnLmNkazhzJHtwa2cgPyBgLiR7cGtnfWAgOiAnJ31gLFxuICB9O1xufVxuXG5mdW5jdGlvbiBkb3RuZXRUYXJnZXQobmFtZTogc3RyaW5nKSA6IGNkay5Kc2lpRG90TmV0VGFyZ2V0IHtcbiAgY29uc3QgcmVwb05hbWUgPSBub2RlLmJ1aWxkUmVwb3NpdG9yeU5hbWUobmFtZSk7XG4gIGNvbnN0IGFydGlmYWN0ID0gcmVwb05hbWUuc3Vic3RyaW5nKG5vZGUuTkFNRV9QUkVGSVgubGVuZ3RoKTtcbiAgY29uc3QgcGtnID0gY29kZS50b1Bhc2NhbENhc2UoYXJ0aWZhY3QpLnJlcGxhY2UoLy0vZywgJycpO1xuICByZXR1cm4ge1xuICAgIGRvdE5ldE5hbWVzcGFjZTogYE9yZy5DZGs4cyR7cGtnID8gYC4ke3BrZ31gIDogJyd9YCxcbiAgICBwYWNrYWdlSWQ6IGBPcmcuQ2RrOHMke3BrZyA/IGAuJHtwa2d9YCA6ICcnfWAsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdvbGFuZ1RhcmdldChyZXBvTmFtZTogc3RyaW5nLCBicmFuY2g6IHN0cmluZyk6IGNkay5Kc2lpR29UYXJnZXQge1xuICByZXR1cm4ge1xuICAgIGdpdFVzZXJOYW1lOiAnY2RrOHMtYXV0b21hdGlvbicsXG4gICAgZ2l0VXNlckVtYWlsOiAnY2RrOHMtdGVhbUBhbWF6b24uY29tJyxcbiAgICBnaXRCcmFuY2g6IGJyYW5jaCxcbiAgICBtb2R1bGVOYW1lOiBgZ2l0aHViLmNvbS9jZGs4cy10ZWFtLyR7cmVwb05hbWV9LWdvYCxcbiAgfTtcbn1cbiJdfQ==
|
package/lib/projects/node.d.ts
CHANGED
|
@@ -37,6 +37,18 @@ export interface Cdk8sTeamNodeProjectOptions extends javascript.NodeProjectOptio
|
|
|
37
37
|
* @default - the package name.
|
|
38
38
|
*/
|
|
39
39
|
readonly repoName?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Configure a backport workflow.
|
|
42
|
+
*
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
readonly backport?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Branches to backport to.
|
|
48
|
+
*
|
|
49
|
+
* @default - Will be derived from PR labels.
|
|
50
|
+
*/
|
|
51
|
+
readonly backportBranches?: string[];
|
|
40
52
|
}
|
|
41
53
|
/**
|
|
42
54
|
* @pjid cdk8s-team-node-project
|
package/lib/projects/node.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.addComponents = exports.validateProjectName = exports.validateOptions = exports.Cdk8sTeamNodeProject = exports.buildRepositoryName = exports.buildNodeProjectDefaultOptions = exports.buildNodeProjectFixedOptions = exports.defaultOptionsKeys = exports.fixedOptionsKeys = exports.SCOPE = exports.NAME_PREFIX = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const projen_1 = require("projen");
|
|
7
|
+
const backport_1 = require("../components/backport/backport");
|
|
7
8
|
const code_of_conduct_1 = require("../components/code-of-conduct/code-of-conduct");
|
|
8
9
|
const devco_1 = require("../components/dco/devco");
|
|
9
10
|
const git_hooks_1 = require("../components/git-hooks/git-hooks");
|
|
@@ -85,11 +86,14 @@ class Cdk8sTeamNodeProject extends projen_1.javascript.NodeProject {
|
|
|
85
86
|
});
|
|
86
87
|
const repoName = options.repoName ?? buildRepositoryName(options.name);
|
|
87
88
|
addComponents(this, repoName);
|
|
89
|
+
if (options.backport ?? false) {
|
|
90
|
+
new backport_1.Backport(this, { branches: options.backportBranches, repoName });
|
|
91
|
+
}
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
exports.Cdk8sTeamNodeProject = Cdk8sTeamNodeProject;
|
|
91
95
|
_a = JSII_RTTI_SYMBOL_1;
|
|
92
|
-
Cdk8sTeamNodeProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamNodeProject", version: "0.0.
|
|
96
|
+
Cdk8sTeamNodeProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamNodeProject", version: "0.0.280" };
|
|
93
97
|
/**
|
|
94
98
|
* Validate that the options map does not contain any invalid option.
|
|
95
99
|
* This would usually be implemented at compile time using Omit/Pick but jsii
|
|
@@ -143,4 +147,4 @@ function addComponents(project, repoName) {
|
|
|
143
147
|
new triage_1.Triage(project, { repoName });
|
|
144
148
|
}
|
|
145
149
|
exports.addComponents = addComponents;
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW9DO0FBRXBDLG1GQUFnRjtBQUNoRixtREFBOEM7QUFDOUMsaUVBQTZEO0FBQzdELG1GQUErRTtBQUMvRSw4REFBNkQ7QUFDN0Qsd0RBQXFEO0FBRXhDLFFBQUEsV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUN2QixRQUFBLEtBQUssR0FBRyxTQUFTLENBQUM7QUFFL0I7OztHQUdHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixZQUFZO0lBQ1osYUFBYTtJQUNiLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIscUJBQXFCO0lBRXJCLDRDQUE0QztJQUM1QywwQkFBMEI7SUFDMUIsaUJBQWlCO0NBQ1QsQ0FBQztBQUdYOzs7R0FHRztBQUNVLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsY0FBYztJQUNkLFNBQVM7SUFDVCxnQkFBZ0I7Q0FDUixDQUFDO0FBR1g7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxPQUFvQztJQUcvRSxPQUFPO1FBQ0wsVUFBVSxFQUFFLHFCQUFxQjtRQUNqQyxVQUFVLEVBQUUsaUNBQWlDLE9BQU8sQ0FBQyxRQUFRLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO1FBQ3hHLGtCQUFrQixFQUFFO1lBQ2xCLGdCQUFnQixFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDdEMsTUFBTSxFQUFFLGNBQWM7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTztLQUNqQyxDQUFDO0FBQ0osQ0FBQztBQWJELG9FQWFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw4QkFBOEIsQ0FBQyxPQUFvQztJQUVqRixPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELFlBQVksRUFBRSxPQUFPLENBQUMsT0FBTztRQUM3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RUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBRXBDLENBQUM7QUFURCxzQ0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGphdmFzY3JpcHQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuaW1wb3J0IHsgQ29kZU9mQ29uZHVjdE1EIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb2RlLW9mLWNvbmR1Y3QvY29kZS1vZi1jb25kdWN0JztcbmltcG9ydCB7IERDTyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGNvL2RldmNvJztcbmltcG9ydCB7IEdpdEhvb2tzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9naXQtaG9va3MvZ2l0LWhvb2tzJztcbmltcG9ydCB7IElzc3VlVGVtcGxhdGVzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pc3N1ZS10ZW1wbGF0ZXMvaXNzdWUtdGVtcGxhdGVzJztcbmltcG9ydCB7IFNlY3VyaXR5TUQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NlY3VyaXR5L3NlY3VyaXR5JztcbmltcG9ydCB7IFRyaWFnZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvdHJpYWdlL3RyaWFnZSc7XG5cbmV4cG9ydCBjb25zdCBOQU1FX1BSRUZJWCA9ICdjZGs4cy0nO1xuZXhwb3J0IGNvbnN0IFNDT1BFID0gJ0BjZGs4cy8nO1xuXG4vKipcbiAqIFN1YnNldCBvZiBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGZpeGVkIGZvciBhbGwgY2RrOHMtdGVhbSBub2RlIHByb2plY3RzLlxuICogVGhlc2Ugd2lsbCBub3QgYmUgYXZhaWxhYmxlIGZvciBjdXN0b21pemF0aW9uIGJ5IGluZGl2aWR1YWwgcHJvamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBmaXhlZE9wdGlvbnNLZXlzID0gW1xuICAnYXV0aG9yTmFtZScsXG4gICdhdXRob3JFbWFpbCcsXG4gICdyZXBvc2l0b3J5JyxcbiAgJ2F1dG9BcHByb3ZlT3B0aW9ucycsXG4gICdhdXRvQXBwcm92ZVVwZ3JhZGVzJyxcblxuICAvLyB0aGlzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgJ3JlbGVhc2UnLlxuICAvLyBsZXRzIGRpc2FsbG93IHVzaW5nIGl0LlxuICAncmVsZWFzZVdvcmtmbG93Jyxcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBmaXhlZE9wdGlvbnNLZXlzVHlwZSA9IHR5cGVvZiBmaXhlZE9wdGlvbnNLZXlzW251bWJlcl07XG5cbi8qKlxuICogU3Vic2V0IG9mIG9wdGlvbnMgdGhhdCBoYXZlIGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgY2RrOHMtdGVhbSBub2RlIHByb2plY3RzLlxuICogVGhlc2Ugd2lsbCBiZSBhdmFpbGFibGUgZm9yIGN1c3RvbWl6YXRpb24gYnkgaW5kaXZpZHVhbCBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zS2V5cyA9IFtcbiAgJ3JlbGVhc2VUb05wbScsXG4gICdyZWxlYXNlJyxcbiAgJ21pbk5vZGVWZXJzaW9uJyxcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBkZWZhdWx0T3B0aW9uc0tleXNUeXBlID0gdHlwZW9mIGRlZmF1bHRPcHRpb25zS2V5c1tudW1iZXJdO1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgZml4ZWQgdHlwZXNjcmlwdCBwcm9qZWN0IG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE5vZGVQcm9qZWN0Rml4ZWRPcHRpb25zKG9wdGlvbnM6IENkazhzVGVhbU5vZGVQcm9qZWN0T3B0aW9ucyk6XG5QaWNrPGphdmFzY3JpcHQuTm9kZVByb2plY3RPcHRpb25zLCBmaXhlZE9wdGlvbnNLZXlzVHlwZT4ge1xuXG4gIHJldHVybiB7XG4gICAgYXV0aG9yTmFtZTogJ0FtYXpvbiBXZWIgU2VydmljZXMnLFxuICAgIHJlcG9zaXRvcnk6IGBodHRwczovL2dpdGh1Yi5jb20vY2RrOHMtdGVhbS8ke29wdGlvbnMucmVwb05hbWUgPz8gYnVpbGRSZXBvc2l0b3J5TmFtZShvcHRpb25zLm5hbWUpfS5naXRgLFxuICAgIGF1dG9BcHByb3ZlT3B0aW9uczoge1xuICAgICAgYWxsb3dlZFVzZXJuYW1lczogWydjZGs4cy1hdXRvbWF0aW9uJ10sXG4gICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgIH0sXG4gICAgYXV0b0FwcHJvdmVVcGdyYWRlczogdHJ1ZSxcbiAgICByZWxlYXNlV29ya2Zsb3c6IG9wdGlvbnMucmVsZWFzZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgdGhlIGRlZmF1bHQgdHlwZXNjcmlwdCBwcm9qZWN0IG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE5vZGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMob3B0aW9uczogQ2RrOHNUZWFtTm9kZVByb2plY3RPcHRpb25zKTpcblBpY2s8amF2YXNjcmlwdC5Ob2RlUHJvamVjdE9wdGlvbnMsIGRlZmF1bHRPcHRpb25zS2V5c1R5cGU+IHtcbiAgcmV0dXJuIHtcbiAgICAvLyBpZiByZWxlYXNlIGlzIGVuYWJsZWQsIGRlZmF1bHQgdG8gcmVsZWFzaW5nIHRvIG5wbSBhcyB3ZWxsXG4gICAgcmVsZWFzZVRvTnBtOiBvcHRpb25zLnJlbGVhc2UsXG4gICAgbWluTm9kZVZlcnNpb246ICcxNC4xNy4wJyxcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgdGhlIHJlcG9zaXRvcnkgbmFtZSBiYXNlZCBvbiB0aGUgcHJvamVjdCBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZXBvc2l0b3J5TmFtZShwcm9qZWN0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBwcm9qZWN0TmFtZS5zdGFydHNXaXRoKFNDT1BFKSA/IHByb2plY3ROYW1lLnJlcGxhY2UoU0NPUEUsIE5BTUVfUFJFRklYKSA6IHByb2plY3ROYW1lO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBDZGs4c1RlYW1Ob2RlUHJvamVjdGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNUZWFtTm9kZVByb2plY3RPcHRpb25zIGV4dGVuZHMgamF2YXNjcmlwdC5Ob2RlUHJvamVjdE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSBpbnNpZGUgdGhlIGNkazhzLXRlYW1cbiAgICogb3JnIHdoZXJlIHRoZSBjb2RlIG9mIHRoZSBwcm9qZWN0IGlzIGxvY2F0ZSBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcGFja2FnZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBAcGppZCBjZGs4cy10ZWFtLW5vZGUtcHJvamVjdFxuICovXG5leHBvcnQgY2xhc3MgQ2RrOHNUZWFtTm9kZVByb2plY3QgZXh0ZW5kcyBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0IHtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGs4c1RlYW1Ob2RlUHJvamVjdE9wdGlvbnMpIHtcblxuICAgIHZhbGlkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICB2YWxpZGF0ZVByb2plY3ROYW1lKG9wdGlvbnMpO1xuXG4gICAgY29uc3QgZml4ZWRPcHRpb25zID0gYnVpbGROb2RlUHJvamVjdEZpeGVkT3B0aW9ucyhvcHRpb25zKTtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IGJ1aWxkTm9kZVByb2plY3REZWZhdWx0T3B0aW9ucyhvcHRpb25zKTtcblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLmZpeGVkT3B0aW9ucyxcbiAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcG9OYW1lID0gb3B0aW9ucy5yZXBvTmFtZSA/PyBidWlsZFJlcG9zaXRvcnlOYW1lKG9wdGlvbnMubmFtZSk7XG5cbiAgICBhZGRDb21wb25lbnRzKHRoaXMsIHJlcG9OYW1lKTtcblxuICB9XG5cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSBvcHRpb25zIG1hcCBkb2VzIG5vdCBjb250YWluIGFueSBpbnZhbGlkIG9wdGlvbi5cbiAqIFRoaXMgd291bGQgdXN1YWxseSBiZSBpbXBsZW1lbnRlZCBhdCBjb21waWxlIHRpbWUgdXNpbmcgT21pdC9QaWNrIGJ1dCBqc2lpXG4gKiBkb2Vzbid0IGFsbG93IHRoaXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGZpeGVkT3B0aW9uc0tleXMpIHtcbiAgICBpZiAoa2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3B0aW9uOiAke2tleX1gKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSBuYW1lIG9mIGEgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUHJvamVjdE5hbWUob3B0aW9uczogQ2RrOHNUZWFtTm9kZVByb2plY3RPcHRpb25zKSB7XG5cbiAgLy8gc25vd2ZsYWtlIGZvciBtb25vcmVwb3NcbiAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ3Jvb3QnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gc25vd2ZsYWtlIGZvciBjZGs4cy1jb3JlXG4gIGlmIChvcHRpb25zLm5hbWUgPT09ICdjZGs4cycpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBvdGhlcndpc2Ugd2Ugd2FudCBpdCB0byBlaXRoZXIgc3RhcnQgd2l0aCB0aGUgJ0BjZGs4cycgc2NvcGUgb2YgJ2NkazhzLScgcHJlZml4LlxuICBjb25zdCBuYW1lID0gb3B0aW9ucy5uYW1lO1xuICBjb25zdCBzY29wZWQgPSBuYW1lLnN0YXJ0c1dpdGgoJ0AnKTtcblxuICBpZiAoc2NvcGVkKSB7XG4gICAgaWYgKCFuYW1lLnN0YXJ0c1dpdGgoU0NPUEUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElsbGVnYWwgcHJvamVjdCBzY29wZTogJHtuYW1lfS4gU2NvcGUgbXVzdCBiZSAnQGNkazhzLydgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFuYW1lLnN0YXJ0c1dpdGgoTkFNRV9QUkVGSVgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElsbGVnYWwgcHJvamVjdCBuYW1lOiAke25hbWV9LiBOYW1lIG11c3Qgc3RhcnQgd2l0aCAnY2RrOHMtJ2ApO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogQWRkIGNvbW1vbiBjb21wb25lbnRzIHRvIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQ29tcG9uZW50cyhwcm9qZWN0OiBOb2RlUHJvamVjdCwgcmVwb05hbWU6IHN0cmluZykge1xuXG4gIG5ldyBDb2RlT2ZDb25kdWN0TUQocHJvamVjdCk7XG4gIG5ldyBEQ08ocHJvamVjdCk7XG4gIG5ldyBHaXRIb29rcyhwcm9qZWN0KTtcbiAgbmV3IElzc3VlVGVtcGxhdGVzKHByb2plY3QsIHsgcmVwb05hbWUgfSk7XG4gIG5ldyBTZWN1cml0eU1EKHByb2plY3QpO1xuICBuZXcgVHJpYWdlKHByb2plY3QsIHsgcmVwb05hbWUgfSk7XG5cbn1cblxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW9DO0FBRXBDLDhEQUEyRDtBQUMzRCxtRkFBZ0Y7QUFDaEYsbURBQThDO0FBQzlDLGlFQUE2RDtBQUM3RCxtRkFBK0U7QUFDL0UsOERBQTZEO0FBQzdELHdEQUFxRDtBQUV4QyxRQUFBLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDdkIsUUFBQSxLQUFLLEdBQUcsU0FBUyxDQUFDO0FBRS9COzs7R0FHRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsWUFBWTtJQUNaLGFBQWE7SUFDYixZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUVyQiw0Q0FBNEM7SUFDNUMsMEJBQTBCO0lBQzFCLGlCQUFpQjtDQUNULENBQUM7QUFHWDs7O0dBR0c7QUFDVSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLGNBQWM7SUFDZCxTQUFTO0lBQ1QsZ0JBQWdCO0NBQ1IsQ0FBQztBQUdYOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsT0FBb0M7SUFHL0UsT0FBTztRQUNMLFVBQVUsRUFBRSxxQkFBcUI7UUFDakMsVUFBVSxFQUFFLGlDQUFpQyxPQUFPLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTTtRQUN4RyxrQkFBa0IsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ3RDLE1BQU0sRUFBRSxjQUFjO1NBQ3ZCO1FBQ0QsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixlQUFlLEVBQUUsT0FBTyxDQUFDLE9BQU87S0FDakMsQ0FBQztBQUNKLENBQUM7QUFiRCxvRUFhQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsOEJBQThCLENBQUMsT0FBb0M7SUFFakYsT0FBTztRQUNMLDZEQUE2RDtRQUM3RCxZQUFZLEVBQUUsT0FBTyxD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QVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixJQUFJLGdDQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxQyxJQUFJLHFCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsSUFBSSxlQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUVwQyxDQUFDO0FBVEQsc0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqYXZhc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IEJhY2twb3J0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9iYWNrcG9ydC9iYWNrcG9ydCc7XG5pbXBvcnQgeyBDb2RlT2ZDb25kdWN0TUQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvZGUtb2YtY29uZHVjdC9jb2RlLW9mLWNvbmR1Y3QnO1xuaW1wb3J0IHsgRENPIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kY28vZGV2Y28nO1xuaW1wb3J0IHsgR2l0SG9va3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2dpdC1ob29rcy9naXQtaG9va3MnO1xuaW1wb3J0IHsgSXNzdWVUZW1wbGF0ZXMgfSBmcm9tICcuLi9jb21wb25lbnRzL2lzc3VlLXRlbXBsYXRlcy9pc3N1ZS10ZW1wbGF0ZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHlNRCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc2VjdXJpdHkvc2VjdXJpdHknO1xuaW1wb3J0IHsgVHJpYWdlIH0gZnJvbSAnLi4vY29tcG9uZW50cy90cmlhZ2UvdHJpYWdlJztcblxuZXhwb3J0IGNvbnN0IE5BTUVfUFJFRklYID0gJ2NkazhzLSc7XG5leHBvcnQgY29uc3QgU0NPUEUgPSAnQGNkazhzLyc7XG5cbi8qKlxuICogU3Vic2V0IG9mIG9wdGlvbnMgdGhhdCBzaG91bGQgYmUgZml4ZWQgZm9yIGFsbCBjZGs4cy10ZWFtIG5vZGUgcHJvamVjdHMuXG4gKiBUaGVzZSB3aWxsIG5vdCBiZSBhdmFpbGFibGUgZm9yIGN1c3RvbWl6YXRpb24gYnkgaW5kaXZpZHVhbCBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZpeGVkT3B0aW9uc0tleXMgPSBbXG4gICdhdXRob3JOYW1lJyxcbiAgJ2F1dGhvckVtYWlsJyxcbiAgJ3JlcG9zaXRvcnknLFxuICAnYXV0b0FwcHJvdmVPcHRpb25zJyxcbiAgJ2F1dG9BcHByb3ZlVXBncmFkZXMnLFxuXG4gIC8vIHRoaXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiAncmVsZWFzZScuXG4gIC8vIGxldHMgZGlzYWxsb3cgdXNpbmcgaXQuXG4gICdyZWxlYXNlV29ya2Zsb3cnLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIGZpeGVkT3B0aW9uc0tleXNUeXBlID0gdHlwZW9mIGZpeGVkT3B0aW9uc0tleXNbbnVtYmVyXTtcblxuLyoqXG4gKiBTdWJzZXQgb2Ygb3B0aW9ucyB0aGF0IGhhdmUgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBjZGs4cy10ZWFtIG5vZGUgcHJvamVjdHMuXG4gKiBUaGVzZSB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgY3VzdG9taXphdGlvbiBieSBpbmRpdmlkdWFsIHByb2plY3RzLlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdE9wdGlvbnNLZXlzID0gW1xuICAncmVsZWFzZVRvTnBtJyxcbiAgJ3JlbGVhc2UnLFxuICAnbWluTm9kZVZlcnNpb24nLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIGRlZmF1bHRPcHRpb25zS2V5c1R5cGUgPSB0eXBlb2YgZGVmYXVsdE9wdGlvbnNLZXlzW251bWJlcl07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBmaXhlZCB0eXBlc2NyaXB0IHByb2plY3Qgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTm9kZVByb2plY3RGaXhlZE9wdGlvbnMob3B0aW9uczogQ2RrOHNUZWFtTm9kZVByb2plY3RPcHRpb25zKTpcblBpY2s8amF2YXNjcmlwdC5Ob2RlUHJvamVjdE9wdGlvbnMsIGZpeGVkT3B0aW9uc0tleXNUeXBlPiB7XG5cbiAgcmV0dXJuIHtcbiAgICBhdXRob3JOYW1lOiAnQW1hem9uIFdlYiBTZXJ2aWNlcycsXG4gICAgcmVwb3NpdG9yeTogYGh0dHBzOi8vZ2l0aHViLmNvbS9jZGs4cy10ZWFtLyR7b3B0aW9ucy5yZXBvTmFtZSA/PyBidWlsZFJlcG9zaXRvcnlOYW1lKG9wdGlvbnMubmFtZSl9LmdpdGAsXG4gICAgYXV0b0FwcHJvdmVPcHRpb25zOiB7XG4gICAgICBhbGxvd2VkVXNlcm5hbWVzOiBbJ2NkazhzLWF1dG9tYXRpb24nXSxcbiAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgfSxcbiAgICBhdXRvQXBwcm92ZVVwZ3JhZGVzOiB0cnVlLFxuICAgIHJlbGVhc2VXb3JrZmxvdzogb3B0aW9ucy5yZWxlYXNlLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZSB0aGUgZGVmYXVsdCB0eXBlc2NyaXB0IHByb2plY3Qgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTm9kZVByb2plY3REZWZhdWx0T3B0aW9ucyhvcHRpb25zOiBDZGs4c1RlYW1Ob2RlUHJvamVjdE9wdGlvbnMpOlxuUGljazxqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0T3B0aW9ucywgZGVmYXVsdE9wdGlvbnNLZXlzVHlwZT4ge1xuICByZXR1cm4ge1xuICAgIC8vIGlmIHJlbGVhc2UgaXMgZW5hYmxlZCwgZGVmYXVsdCB0byByZWxlYXNpbmcgdG8gbnBtIGFzIHdlbGxcbiAgICByZWxlYXNlVG9OcG06IG9wdGlvbnMucmVsZWFzZSxcbiAgICBtaW5Ob2RlVmVyc2lvbjogJzE0LjE3LjAnLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZSB0aGUgcmVwb3NpdG9yeSBuYW1lIGJhc2VkIG9uIHRoZSBwcm9qZWN0IG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJlcG9zaXRvcnlOYW1lKHByb2plY3ROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHByb2plY3ROYW1lLnN0YXJ0c1dpdGgoU0NPUEUpID8gcHJvamVjdE5hbWUucmVwbGFjZShTQ09QRSwgTkFNRV9QUkVGSVgpIDogcHJvamVjdE5hbWU7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENkazhzVGVhbU5vZGVQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGs4c1RlYW1Ob2RlUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0T3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5IGluc2lkZSB0aGUgY2RrOHMtdGVhbVxuICAgKiBvcmcgd2hlcmUgdGhlIGNvZGUgb2YgdGhlIHByb2plY3QgaXMgbG9jYXRlIGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBwYWNrYWdlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSByZXBvTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmlndXJlIGEgYmFja3BvcnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBiYWNrcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEJyYW5jaGVzIHRvIGJhY2twb3J0IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFdpbGwgYmUgZGVyaXZlZCBmcm9tIFBSIGxhYmVscy5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2twb3J0QnJhbmNoZXM/OiBzdHJpbmdbXTtcblxufVxuXG4vKipcbiAqIEBwamlkIGNkazhzLXRlYW0tbm9kZS1wcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDZGs4c1RlYW1Ob2RlUHJvamVjdCBleHRlbmRzIGphdmFzY3JpcHQuTm9kZVByb2plY3Qge1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENkazhzVGVhbU5vZGVQcm9qZWN0T3B0aW9ucykge1xuXG4gICAgdmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIHZhbGlkYXRlUHJvamVjdE5hbWUob3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaXhlZE9wdGlvbnMgPSBidWlsZE5vZGVQcm9qZWN0Rml4ZWRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gYnVpbGROb2RlUHJvamVjdERlZmF1bHRPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4uZml4ZWRPcHRpb25zLFxuICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVwb05hbWUgPSBvcHRpb25zLnJlcG9OYW1lID8/IGJ1aWxkUmVwb3NpdG9yeU5hbWUob3B0aW9ucy5uYW1lKTtcblxuICAgIGFkZENvbXBvbmVudHModGhpcywgcmVwb05hbWUpO1xuXG4gICAgaWYgKG9wdGlvbnMuYmFja3BvcnQgPz8gZmFsc2UpIHtcbiAgICAgIG5ldyBCYWNrcG9ydCh0aGlzLCB7IGJyYW5jaGVzOiBvcHRpb25zLmJhY2twb3J0QnJhbmNoZXMsIHJlcG9OYW1lIH0pO1xuICAgIH1cblxuICB9XG5cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSBvcHRpb25zIG1hcCBkb2VzIG5vdCBjb250YWluIGFueSBpbnZhbGlkIG9wdGlvbi5cbiAqIFRoaXMgd291bGQgdXN1YWxseSBiZSBpbXBsZW1lbnRlZCBhdCBjb21waWxlIHRpbWUgdXNpbmcgT21pdC9QaWNrIGJ1dCBqc2lpXG4gKiBkb2Vzbid0IGFsbG93IHRoaXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU9wdGlvbnMob3B0aW9uczogYW55KSB7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGZpeGVkT3B0aW9uc0tleXMpIHtcbiAgICBpZiAoa2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3B0aW9uOiAke2tleX1gKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSBuYW1lIG9mIGEgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUHJvamVjdE5hbWUob3B0aW9uczogQ2RrOHNUZWFtTm9kZVByb2plY3RPcHRpb25zKSB7XG5cbiAgLy8gc25vd2ZsYWtlIGZvciBtb25vcmVwb3NcbiAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ3Jvb3QnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gc25vd2ZsYWtlIGZvciBjZGs4cy1jb3JlXG4gIGlmIChvcHRpb25zLm5hbWUgPT09ICdjZGs4cycpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBvdGhlcndpc2Ugd2Ugd2FudCBpdCB0byBlaXRoZXIgc3RhcnQgd2l0aCB0aGUgJ0BjZGs4cycgc2NvcGUgb2YgJ2NkazhzLScgcHJlZml4LlxuICBjb25zdCBuYW1lID0gb3B0aW9ucy5uYW1lO1xuICBjb25zdCBzY29wZWQgPSBuYW1lLnN0YXJ0c1dpdGgoJ0AnKTtcblxuICBpZiAoc2NvcGVkKSB7XG4gICAgaWYgKCFuYW1lLnN0YXJ0c1dpdGgoU0NPUEUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElsbGVnYWwgcHJvamVjdCBzY29wZTogJHtuYW1lfS4gU2NvcGUgbXVzdCBiZSAnQGNkazhzLydgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFuYW1lLnN0YXJ0c1dpdGgoTkFNRV9QUkVGSVgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElsbGVnYWwgcHJvamVjdCBuYW1lOiAke25hbWV9LiBOYW1lIG11c3Qgc3RhcnQgd2l0aCAnY2RrOHMtJ2ApO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogQWRkIGNvbW1vbiBjb21wb25lbnRzIHRvIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQ29tcG9uZW50cyhwcm9qZWN0OiBOb2RlUHJvamVjdCwgcmVwb05hbWU6IHN0cmluZykge1xuXG4gIG5ldyBDb2RlT2ZDb25kdWN0TUQocHJvamVjdCk7XG4gIG5ldyBEQ08ocHJvamVjdCk7XG4gIG5ldyBHaXRIb29rcyhwcm9qZWN0KTtcbiAgbmV3IElzc3VlVGVtcGxhdGVzKHByb2plY3QsIHsgcmVwb05hbWUgfSk7XG4gIG5ldyBTZWN1cml0eU1EKHByb2plY3QpO1xuICBuZXcgVHJpYWdlKHByb2plY3QsIHsgcmVwb05hbWUgfSk7XG5cbn1cblxuIl19
|
|
@@ -10,6 +10,18 @@ export interface Cdk8sTeamTypeScriptProjectOptions extends typescript.TypeScript
|
|
|
10
10
|
* @default - the package name.
|
|
11
11
|
*/
|
|
12
12
|
readonly repoName?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Configure a backport workflow.
|
|
15
|
+
*
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
readonly backport?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Branches to backport to.
|
|
21
|
+
*
|
|
22
|
+
* @default - Will be derived from PR labels.
|
|
23
|
+
*/
|
|
24
|
+
readonly backportBranches?: string[];
|
|
13
25
|
}
|
|
14
26
|
/**
|
|
15
27
|
* @pjid cdk8s-team-typescript-project
|
|
@@ -5,6 +5,7 @@ exports.Cdk8sTeamTypeScriptProject = void 0;
|
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const projen_1 = require("projen");
|
|
7
7
|
const node = require("./node");
|
|
8
|
+
const backport_1 = require("../components/backport/backport");
|
|
8
9
|
/**
|
|
9
10
|
* @pjid cdk8s-team-typescript-project
|
|
10
11
|
*/
|
|
@@ -21,9 +22,12 @@ class Cdk8sTeamTypeScriptProject extends projen_1.typescript.TypeScriptProject {
|
|
|
21
22
|
});
|
|
22
23
|
const repoName = options.repoName ?? node.buildRepositoryName(options.name);
|
|
23
24
|
node.addComponents(this, repoName);
|
|
25
|
+
if (options.backport ?? false) {
|
|
26
|
+
new backport_1.Backport(this, { branches: options.backportBranches, repoName });
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
exports.Cdk8sTeamTypeScriptProject = Cdk8sTeamTypeScriptProject;
|
|
27
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
28
|
-
Cdk8sTeamTypeScriptProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamTypeScriptProject", version: "0.0.
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
Cdk8sTeamTypeScriptProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamTypeScriptProject", version: "0.0.280" };
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy90eXBlc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW9DO0FBQ3BDLCtCQUErQjtBQUMvQiw4REFBMkQ7QUErQjNEOztHQUVHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQUUxRSxZQUFZLE9BQTBDO1FBRXBELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFHcEUsS0FBSyxDQUFDO1lBQ0osR0FBRyxZQUFZO1lBQ2YsR0FBRyxjQUFjO1lBQ2pCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVuQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFO1lBQzdCLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFFSCxDQUFDOztBQXpCSCxnRUEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCAqIGFzIG5vZGUgZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IEJhY2twb3J0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9iYWNrcG9ydC9iYWNrcG9ydCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENkazhzVGVhbVR5cGVTY3JpcHRQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGs4c1RlYW1UeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5IGluc2lkZSB0aGUgY2RrOHMtdGVhbVxuICAgKiBvcmcgd2hlcmUgdGhlIGNvZGUgb2YgdGhlIHByb2plY3QgaXMgbG9jYXRlIGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBwYWNrYWdlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSByZXBvTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmlndXJlIGEgYmFja3BvcnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBiYWNrcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEJyYW5jaGVzIHRvIGJhY2twb3J0IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFdpbGwgYmUgZGVyaXZlZCBmcm9tIFBSIGxhYmVscy5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2twb3J0QnJhbmNoZXM/OiBzdHJpbmdbXTtcblxufVxuXG4vKipcbiAqIEBwamlkIGNkazhzLXRlYW0tdHlwZXNjcmlwdC1wcm9qZWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDZGs4c1RlYW1UeXBlU2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENkazhzVGVhbVR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucykge1xuXG4gICAgbm9kZS52YWxpZGF0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgbm9kZS52YWxpZGF0ZVByb2plY3ROYW1lKG9wdGlvbnMpO1xuXG4gICAgY29uc3QgZml4ZWRPcHRpb25zID0gbm9kZS5idWlsZE5vZGVQcm9qZWN0Rml4ZWRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gbm9kZS5idWlsZE5vZGVQcm9qZWN0RGVmYXVsdE9wdGlvbnMob3B0aW9ucyk7XG5cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLmZpeGVkT3B0aW9ucyxcbiAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcG9OYW1lID0gb3B0aW9ucy5yZXBvTmFtZSA/PyBub2RlLmJ1aWxkUmVwb3NpdG9yeU5hbWUob3B0aW9ucy5uYW1lKTtcblxuICAgIG5vZGUuYWRkQ29tcG9uZW50cyh0aGlzLCByZXBvTmFtZSk7XG5cbiAgICBpZiAob3B0aW9ucy5iYWNrcG9ydCA/PyBmYWxzZSkge1xuICAgICAgbmV3IEJhY2twb3J0KHRoaXMsIHsgYnJhbmNoZXM6IG9wdGlvbnMuYmFja3BvcnRCcmFuY2hlcywgcmVwb05hbWUgfSk7XG4gICAgfVxuXG4gIH1cblxufVxuIl19
|